【问题标题】:Remove keys from cache从缓存中删除键
【发布时间】:2012-05-31 09:22:47
【问题描述】:

我正在使用memcached and c++。我想使用 c++ api 从服务器中删除所有密钥。最好在没有键列表的情况下删除它们。

文档中有函数:memcached_dumpmemcached_delete。第一个返回键列表,第二个 - 删除它们。

但这是第一个函数的文档中的引用:

memcached_dump() 用于获取在 memcached(1) 中找到的键列表 服务器。因为 memcached(1) 不保证转储所有密钥 不能假设您已从服务器获取所有密钥。

第一个问题:获取所有密钥的任何方法,第二个问题是:如何使用这些功能。文档中没有任何示例。

谢谢。

【问题讨论】:

    标签: c++ memcached


    【解决方案1】:

    听起来你想要memcached_flush

    【讨论】:

      【解决方案2】:

      删除 memcached 键的一种优雅方法是使用基本删除命令。 但由于我们不知道要删除哪些键,因此您应该记录在 memcached 中设置的数据。您可以将这些日志连同它们的时间戳一起转储到任何数据存储中。通过此过程,您将能够删除具有某些规则的键,从而更好地控制删除操作。

      【讨论】:

        【解决方案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);
        }
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2014-10-07
          • 1970-01-01
          • 2013-01-14
          • 1970-01-01
          • 1970-01-01
          • 2014-08-18
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多