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() ?>