卸下缓存键(Remove keys from cache)

2019-10-16 19:19发布

我使用Memcached和C ++ 。 我想用C ++ API从服务器上删除所有键。 这将是更好不需钥匙的名单中删除。

有功能的文档: memcached_dump和memcached_delete 。 第一个返回键列表,而第二个 - 删除它们。

但这里是从第一个函数的文档报价:

memcached_dump()来获得memcached的(1)服务器中的密钥列表。 由于memcached的(1)没有机制保障,以转储所有键,你不能假设你已经从服务器上的所有按键。

第一个问题:什么方法可以获取所有键和第二个是:如何在所有使用这些功能。 有没有任何文件的例子。

谢谢。

Answer 1:

听起来好像要memcached_flush



Answer 2:

一个优雅的方式来删除memcached的按键将采用基本delete命令的。 但是,正如我们不知道要删除的键,你应该保持一个日志中的数据在Memcached中被设置的。 你可以沿着转储这些日志以任何数据存储的时间戳。 通过这种方法,你就能够用一定的规则,从而提供更好的控制中删除操作删除键。



Answer 3:

记录键是管理缓存中的数据时,你需要能够删除一串钥匙的有效途径。 此外,使用前缀可以提供管理高速缓存的数据作为一个整体的方式。

function save($key,$data,$group){
    cache_log_key($group,$key);
    cache_save($application_prefix.$key,$data);
}

function deleteGroup($group){
    $loggedKeys = cache_get_log($group);
    foreach($loggedKeys as $key){
        cache_delete($application_prefix.$key);
    }    
    cache_delete_log($group);
}


文章来源: Remove keys from cache
标签: c++ memcached