Rediska

Follow me on twitter…

Single-value keys

Single-value key is a basic Redis structure. Rediska provides object-oriented way to work with keys.

Example

<?php

// Initialize key with name "keyName"
require_once 'Rediska/Key.php';
$key = new Rediska_Key('keyName');

// Set value
$key->setValue('value');

// Get value
$value = $key->getValue();

// Delete key
$key->delete();

?>

"getOrSetValue" magic method

Also Rediska_Key provides a handy proxying method to set new value if key is not currently set:

<?php


// Initialize key with expire 2 minutes
require_once 'Rediska/Key.php';
$key = new Rediska_Key('keyName', 60 * 2);

// Old way
$value = $key->getValue();
if ($value === null) {
    $value = $exampleObject->getNewValue();
    $key->setValue($value);
}

// New way
$value = $key->getOrSetValue($exampleObject)->getNewValue();

// You can also get and set value from object's propery
$value = $key->getOrSetValue($exampleObject)->newValue;
// or set the returning value of function (time() for example)
$value = $key->getOrSetValue()->time();

?>

All methods

<?php

/**
 * Construct key
 * 
 * @param string  $name   Key name
 * @param integer $expire Expire time in seconds
 * @param string|null $serverAlias Server alias where key is placed
 */
public function __construct($name, $expire = null, $serverAlias = null)

/**
 * Set key value
 * 
 * @param $value
 * @return boolean
 */
public function setValue($value)

/**
 * Get key value
 * 
 * @return mixin
 */
public function getValue()

/**
 * Increment integer value
 * 
 * @param unknown_type $amount
 */
public function increment($amount = 1)

/**
 * Decrement integer value
 * 
 * @param unknown_type $amount
 */
public function decrement($amount = 1)

/**
 * Get value, if value not present set it from chain method
 * 
 * @param $object Object of chain method
 */
public function getOrSetValue($object = null)

/**
 * Delete key
 * 
 * @return boolean
 */
public function delete()

/**
 * Exists in db
 * 
 * @return boolean
 */
public function isExists()

/**
 * Get key type
 * 
 * @see Rediska#getType
 * @return string
 */
public function getType()

/**
 * Rename key
 * 
 * @param string  $newName
 * @param boolean $overwrite
 * @return boolean
 */
public function rename($newName, $overwrite = true)

/**
 * Expire key
 * 
 * @param integer $secondsOrTimestamp Time in seconds or timestamp
 * @param boolean $isTimestamp        Time is timestamp? Default is false.
 * @return boolean
 */
public function expire($secondsOrTimestamp, $isTimestamp = false)

/**
 * Get key lifetime
 * 
 * @return integer
 */
public function getLifetime()

/**
 * Move key to other Db
 * 
 * @see Rediska#moveToDb
 * @param integer $dbIndex
 * @return boolean
 */
public function moveToDb($dbIndex)

/**
 * Get key name
 * 
 * @return string
 */
public function getName()

/**
 * Set key name
 * 
 * @param string $name
 * @return Rediska_Key_Abstract
 */
public function setName($name)

/**
 * Set expire time
 * 
 * @param $secondsOrTimestamp Time in seconds or timestamp
 * @param $isTimestamp        Time is timestamp? Default is false.
 * @return Rediska_Key_Abstract
 */
public function setExpire($secondsOrTimestamp, $isTimestamp = false)

/**
 * Get expire seconds or timestamp
 * 
 * @return integer
 */
public function getExpire()

/**
 * Is expire is timestamp
 * 
 * @return boolean
 */
public function isExpireTimestamp()

/**
 * Set server alias
 * 
 * @param $serverAlias
 * @return Rediska_Key_Abstract
 */
public function setServerAlias($serverAlias)

/**
 * Get server alias
 * 
 * @return null|string
 */
public function getServerAlias()

/**
 * Set Rediska instance
 * 
 * @param Rediska $rediska
 * @return Rediska_Key_Abstract
 */
public function setRediska(Rediska $rediska)

/**
 * Get Rediska instance
 * 
 * @return Rediska
 */
public function getRediska()

?>

Comments