【问题标题】:Rails / Dalli: expire fragment from another namespaceRails / Dalli:来自另一个命名空间的过期片段
【发布时间】:2018-04-27 17:43:22
【问题描述】:

我有两个应用程序连接到不同命名空间上的 memcached 服务器,例如,我们称它们为“管理员”和“用户”。

我时不时想从管理应用程序中使“用户”命名空间中的一些片段过期。

注意:我没有像我在这里找到的其他几个问题/答案那样缓存/过期操作。我想使诸如“abcde”之类的密钥过期。我缓存了各种东西,AR 结果,JSON 等等。

已经尝试过:

Rails.cache.delete("abcd")
Rails.cache.delete("users/abcd")
Rails.cache.delete("/users/abcd")

摘要已关闭。

我该怎么做?

【问题讨论】:

    标签: ruby-on-rails memcached dalli


    【解决方案1】:

    如果您的 Rails 缓存配置了命名空间,则该命名空间将自动添加到缓存键之前。所以,当你Rails.cache.write("FOO", "BAR") 时,密钥实际上是$NAMESPACE:FOO。键只是字符串,不能像文件系统或任何花哨的东西 (AFAIK) 那样导航。

    我认为您最好的选择是为您的替代命名空间实例化一个单独的 dalli 客户端实例以删除密钥。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-07-21
      • 2018-01-05
      • 1970-01-01
      • 1970-01-01
      • 2019-10-10
      相关资源
      最近更新 更多