Ruby on rails 缓存策略在使用membase的rails应用程序中,如何确保我不';你不能删除所有东西吗?

Ruby on rails 缓存策略在使用membase的rails应用程序中,如何确保我不';你不能删除所有东西吗?,ruby-on-rails,ruby,caching,memcached,Ruby On Rails,Ruby,Caching,Memcached,我有一个rails应用程序。 我使用membase/memcache来缓存DB对象和HTML部分 我用创建操作缓存db对象,当然还有查找操作等等。。。 现在,当我执行User.find(1)时。 它作为对象缓存在memcache中。 我有一个很好的策略,将这些内容和HTML内容一起缓存 现在,当我部署时,我的Capistrano脚本正在做的一件事就是清除缓存(因为html部分发生了变化),但实际上没有理由使db对象的缓存无效 如何仅删除缓存的一部分? 这能做到吗 我的缓存密钥看起来像这样 DB:

我有一个rails应用程序。 我使用membase/memcache来缓存DB对象和HTML部分

我用创建操作缓存db对象,当然还有查找操作等等。。。 现在,当我执行User.find(1)时。 它作为对象缓存在memcache中。 我有一个很好的策略,将这些内容和HTML内容一起缓存

现在,当我部署时,我的Capistrano脚本正在做的一件事就是清除缓存(因为html部分发生了变化),但实际上没有理由使db对象的缓存无效

如何仅删除缓存的一部分? 这能做到吗

我的缓存密钥看起来像这样 DB:user_find_by_id_10000 HTML:user\u profile\u home\u 1000

谢谢你的帮助


谢谢。

根据缓存项的键删除缓存项非常简单:

Rails.cache.delete('user\u profile\u home\u 1000')


在上面的代码中,我假设您已将Rails的缓存设置为使用Memcached。

根据缓存项的键删除缓存项相当简单:

Rails.cache.delete('user\u profile\u home\u 1000')


在上面的代码中,我假设您已将Rails的缓存设置为使用Memcached。

为DB缓存和HTML缓存使用单独的存储桶也是一个好主意……然后您可以使用“flush_all”命令清除整个存储桶,而不影响另一个存储桶

另外,期待着Couchbase Server 2.0在本周末的开发者预览中出现,您将能够创建索引和视图来返回您正在查找的数据,然后您可以通过一个小过程来删除符合特定条件的所有项目

佩里·克鲁格
Solutions Architect,Couchbase Inc.

为数据库缓存和HTML缓存使用单独的存储桶也是一个好主意……然后您可以使用“flush_all”命令清除整个存储桶,而不影响另一个存储桶

另外,期待着Couchbase Server 2.0在本周末的开发者预览中出现,您将能够创建索引和视图来返回您正在查找的数据,然后您可以通过一个小过程来删除符合特定条件的所有项目

佩里·克鲁格
Couchbase Inc.Solutions Architect.

我的缓存存储中有3M把钥匙。尝试按键删除有点问题。哦,这是您在问题中遗漏的一个重要细节;)很抱歉。但当提到DB对象(每个用户、位置、城市、县、集合等)时,我猜应该是清楚的。我在缓存存储中有3M个密钥。尝试按键删除有点问题。哦,这是您在问题中遗漏的一个重要细节;)很抱歉。但当提到DB对象(每个用户、位置、城市、县、集合等)时,我猜应该是清楚的。