Are your sets or any other functions failing sometimes? Are you just more
likely to notice with a delete?

The only issues have always been with the client. Old clients would send
invalid args to the delete command (though it doesn't seem like you're
doing that here). You might just be failing to connect sometimes, double
check http://memcached.org/timeouts for ideas or things to try.

On Wed, 26 Nov 2014, Alexander Kant wrote:

> Hello.
>
> Currently I'm using memcached 1.4.13.
> Sometimes the ->remove() method doesn't work. It looks like that the value 
> stays there.
> I can't say when it exactly doesn't work, but several hundreds times it works 
> as expected: the value will be cached, and can be removed without
> problems - so the code looks really good at that place. But after several 
> hundreds of successfull times, it doesn't remove the value.
> The question is: is/was this a known problem? Does anybody have some ideas?
>
> I'm usind the Zend Framework.
>
> Here is the important part of PHP code:
>
> ....
> public static function getCache() {
>     if (!self::$cache) {
>         $options = array(
>             'servers' => array(
>                 array(
>                     'host' => Config::get('cache.memcached.host'),
>                     'port' => Config::get('cache.memcached.port'),
>                     'persistent' => true,
>                     'weight' => 1,
>                     'timeout' => 5,
>                     'retry_interval' => 15,
>                     'status' => true,
>                     'default_lifetime' => 3600
>                 ),
>             ),
>         );
>         self::$cache = Zend_Cache::factory('Core', 'Memcached',
>             array('caching' => true, 'automatic_serialization' => true, 
> 'lifetime' => null),
>             $options);
>     }
>
>     return self::$cache;
> }
> ....
>
> ....
> public function getCountCached($user_id) {
>     $cache = System::getCache();
>     $cache_id = 'count_values__' . $user_id;
>
>     if ($cache->test($cache_id)) {
>         $data = $cache->load($cache_id);
>     } else {
>         $data = $this->countValues($user_id);
>         $cache->save($data, $cache_id, array(), Time::hours(2));
>     }
>
>     return (int)$data;
> }
> ....
>
> ....
> public function invalidateCountCache($user_id) {
>     $success = false;
>
>     for ($i = 0; $i < 5; $i++) {
>         if (!$success) {
>             $success = System::getCache()->remove('count_values__' . 
> $user_id);
>         } else {
>             return;
>         }
>     }
> }
> ....
>
> As I somewhere read before: ->remove() method also often returns FALSE, also 
> in case of removing was successful.
>
> I hope somebody have some Idea.
>
> With best regards,
> Alex
>
> --
>
> ---
> You received this message because you are subscribed to the Google Groups 
> "memcached" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to memcached+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.
>
>

Reply via email to