Ejemplo n.º 1
0
 /**
  * {@inheritdoc}
  */
 public function write($key, $data, $expires = 60, $compressed = false)
 {
     $cmp = $this->driver->getOption(Memcached::OPT_COMPRESSION);
     $this->driver->setOption(Memcached::OPT_COMPRESSION, $compressed);
     $cached = $this->driver->set($key, $data, $expires);
     $this->driver->setOption(Memcached::OPT_COMPRESSION, $cmp);
     return $cached;
 }
Ejemplo n.º 2
0
 public function __construct()
 {
     $this->connect();
     if ($this->is_connected) {
         $this->memcached->setOption(Memcached::OPT_PREFIX_KEY, _DB_PREFIX_);
         if ($this->memcached->getOption(Memcached::HAVE_IGBINARY)) {
             $this->memcached->setOption(Memcached::OPT_SERIALIZER, Memcached::SERIALIZER_IGBINARY);
         }
     }
 }
Ejemplo n.º 3
0
 /**
  * Remove a cache record directly. This method is implemented by the cache
  * drivers and used in Doctrine_Cache_Driver::delete()
  *
  * @param string $id cache id
  * @return boolean true if no problem
  */
 protected function _doDelete($id)
 {
     if (false == $this->_memcached->getOption(Memcached::OPT_BINARY_PROTOCOL)) {
         $id = str_replace(' ', '_', $id);
     }
     return $this->_memcached->delete($id);
 }
Ejemplo n.º 4
0
 /**
  * {@inheritdoc }
  */
 public function has($key)
 {
     /* It seems that the most efficient way to check has in memcached is
        by using an append with an empty string. However, we need to make
        sure that OPT_COMPRESSION is turned off because you can't append
        if you compressing data */
     /* store for later use */
     $cur_compression = $this->adapter->getOption(BaseMemcached::OPT_COMPRESSION);
     /* set compression off */
     $this->adapter->setOption(BaseMemcached::OPT_COMPRESSION, false);
     $res = $this->adapter->append($this->buildKey($key), '');
     $this->adapter->setOption(BaseMemcached::OPT_COMPRESSION, $cur_compression);
     return $res;
 }
Ejemplo n.º 5
0
 public function testAddWithPrefixSuccess()
 {
     $memcached = new Memcached();
     $memcached->setOption(Memcached::OPT_PREFIX_KEY, "widgets_");
     $request = new MemcacheSetRequest();
     $item = $request->addItem();
     $item->setKey("widgets_float");
     $item->setValue("2");
     $item->setFlags(6);
     // float
     $item->setSetPolicy(SetPolicy::ADD);
     $item->setExpirationTime(30);
     $response = new MemcacheSetResponse();
     $response->addSetStatus(SetStatusCode::STORED);
     $this->apiProxyMock->expectCall('memcache', 'Set', $request, $response);
     $this->assertTrue($memcached->add("float", 2.0, 30));
     $this->assertEquals($memcached->getOption(Memcached::OPT_PREFIX_KEY), "widgets_");
     $this->assertEquals($memcached->getResultCode(), Memcached::RES_SUCCESS);
     $this->assertEquals($memcached->getResultMessage(), "SUCCESS");
     $this->apiProxyMock->verify();
 }
 /**
  * Retrieve a Memcached option value.
  *
  * @link http://www.php.net/manual/en/memcached.getoption.php
  *
  * @param   int         $option     One of the Memcached::OPT_* constants.
  * @return  mixed                   Returns the value of the requested option, or FALSE on error.
  */
 public function getOption($option)
 {
     return $this->m->getOption($option);
 }
Ejemplo n.º 7
0
<?php

$mc = new Memcached();
$mc->setOption(Memcached::OPT_LIBKETAMA_COMPATIBLE, true);
var_dump($mc->getOption(Memcached::OPT_HASH) === Memcached::HASH_MD5);
var_dump($mc->getOption(Memcached::OPT_DISTRIBUTION) === Memcached::DISTRIBUTION_CONSISTENT_WEIGHTED);
$mc->setOption(Memcached::OPT_LIBKETAMA_COMPATIBLE, false);
var_dump($mc->getOption(Memcached::OPT_HASH) === Memcached::HASH_DEFAULT);
var_dump($mc->getOption(Memcached::OPT_DISTRIBUTION) === Memcached::DISTRIBUTION_MODULA);
Ejemplo n.º 8
0
<?php

$memc1 = new Memcached("test");
$memc1->setOption(Memcached::OPT_PREFIX_KEY, 'php');
var_dump($memc1->getOption(Memcached::OPT_PREFIX_KEY));
$memc2 = new Memcached("test");
var_dump($memc2->getOption(Memcached::OPT_PREFIX_KEY));
$memc3 = new Memcached();
var_dump($memc3->getOption(Memcached::OPT_PREFIX_KEY));
Ejemplo n.º 9
0
<?php

$mc = new Memcached();
var_dump(Memcached::OPT_HASH_WITH_PREFIX_KEY);
var_dump($mc->getOption(Memcached::OPT_HASH_WITH_PREFIX_KEY));
var_dump($mc->setOption(Memcached::OPT_HASH_WITH_PREFIX_KEY, true));
var_dump($mc->getOption(Memcached::OPT_HASH_WITH_PREFIX_KEY));
 /**
  * Retrieve a daemon option value.
  *
  * @link http://www.php.net/manual/en/memcached.getoption.php
  *
  * @param   int         $option     One of the Memcached::OPT_* constants.
  * @return  mixed                   Returns the value of the requested option, or FALSE on error.
  */
 public function getOption($option)
 {
     return $this->daemon->getOption($option);
 }