* memcached client class implemented using (p)fsockopen()
*
* @author Ryan T. Dean <rtdean@cytherianage.net>
- * @package memcached-client
+ * @addtogroup Cache
*/
class memcached
{
/**
* At how many bytes should we compress?
*
- * @var interger
+ * @var integer
* @access private
*/
var $_compress_threshold;
/**
* Total # of bit buckets we have
*
- * @var interger
+ * @var integer
* @access private
*/
var $_bucketcount;
/**
* # of total servers we have
*
- * @var interger
+ * @var integer
* @access private
*/
var $_active;
* Adds a key/value to the memcache server if one isn't already set with
* that key
*
- * @param string $key Key to set with data
- * @param mixed $val Value to store
- * @param interger $exp (optional) Time to expire data at
+ * @param string $key Key to set with data
+ * @param mixed $val Value to store
+ * @param integer $exp (optional) Time to expire data at
*
* @return boolean
* @access public
* Decriment a value stored on the memcache server
*
* @param string $key Key to decriment
- * @param interger $amt (optional) Amount to decriment
+ * @param integer $amt (optional) Amount to decriment
*
* @return mixed FALSE on failure, value on success
* @access public
* Deletes a key from the server, optionally after $time
*
* @param string $key Key to delete
- * @param interger $time (optional) How long to wait before deleting
+ * @param integer $time (optional) How long to wait before deleting
*
* @return boolean TRUE on success, FALSE on failure
* @access public
return false;
$this->stats['get_multi']++;
-
+ $sock_keys = array();
+
foreach ($keys as $key)
{
$sock = $this->get_sock($key);
* Increments $key (optionally) by $amt
*
* @param string $key Key to increment
- * @param interger $amt (optional) amount to increment
+ * @param integer $amt (optional) amount to increment
*
- * @return interger New key value?
+ * @return integer New key value?
* @access public
*/
function incr ($key, $amt=1)
*
* @param string $key Key to set value as
* @param mixed $value Value to store
- * @param interger $exp (optional) Experiation time
+ * @param integer $exp (optional) Experiation time
*
* @return boolean
* @access public
*
* @param string $key Key to set value as
* @param mixed $value Value to set
- * @param interger $exp (optional) Experiation time
+ * @param integer $exp (optional) Experiation time
*
* @return boolean TRUE on success
* @access public
/**
* Sets the compression threshold
*
- * @param interger $thresh Threshold to compress if larger than
+ * @param integer $thresh Threshold to compress if larger than
*
* @access public
*/
/**
* Connects $sock to $host, timing out after $timeout
*
- * @param interger $sock Socket to connect
+ * @param integer $sock Socket to connect
* @param string $host Host:IP to connect to
*
* @return boolean
list ($ip, $port) = explode(":", $host);
$sock = false;
$timeout = $this->_connect_timeout;
+ $errno = $errstr = null;
for ($i = 0; !$sock && $i < $this->_connect_attempts; $i++) {
if ($i > 0) {
# Sleep until the timeout, in case it failed fast
function _dead_sock ($sock)
{
$host = array_search($sock, $this->_cache_sock);
- @list ($ip, $port) = explode(":", $host);
+ @list ($ip, /* $port */) = explode(":", $host);
$this->_host_dead[$ip] = time() + 30 + intval(rand(0, 10));
$this->_host_dead[$host] = $this->_host_dead[$ip];
unset($this->_cache_sock[$host]);
// {{{ _hashfunc()
/**
- * Creates a hash interger based on the $key
+ * Creates a hash integer based on the $key
*
* @param string $key Key to hash
*
- * @return interger Hash value
+ * @return integer Hash value
* @access private
*/
function _hashfunc ($key)
*
* @param string $cmd Command to perform
* @param string $key Key to perform it on
- * @param interger $amt Amount to adjust
+ * @param integer $amt Amount to adjust
*
- * @return interger New value of $key
+ * @return integer New value of $key
* @access private
*/
function _incrdecr ($cmd, $key, $amt=1)
stream_set_timeout($sock, 1, 0);
$line = fgets($sock);
+ $match = array();
if (!preg_match('/^(\d+)/', $line, $match))
return null;
return $match[1];
* @param string $cmd Command to perform
* @param string $key Key to act on
* @param mixed $val What we need to store
- * @param interger $exp When it should expire
+ * @param integer $exp When it should expire
*
* @return boolean
* @access private
if (isset($this->_cache_sock[$host]))
return $this->_cache_sock[$host];
+ $sock = null;
$now = time();
- list ($ip, $port) = explode (":", $host);
+ list ($ip, /* $port */) = explode (":", $host);
if (isset($this->_host_dead[$host]) && $this->_host_dead[$host] > $now ||
isset($this->_host_dead[$ip]) && $this->_host_dead[$ip] > $now)
return null;
// vim: sts=3 sw=3 et
// }}}
-?>
+