问题标签 [dalli]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
730 浏览

ruby-on-rails - 通过正则表达式过期的内存缓存

我在我的 rails 应用程序中使用 memcache。我想说

使用 'foo-123-*' 之类的键使所有条目过期

其中 * 是任何字符串。当然,没有 memcache 发行版直接支持这一点(对吗?),因为它的构建简单快速,因此没有索引。

有几个项目可以通过保留本地键列表来解决这个问题:

但是为了将列表保存在内存中……该列表可能会在应用程序实例之间变得不同步……所以它不可靠。

这个问题有没有用另一种方式解决?我错过了一个常见的解决方案吗?

0 投票
3 回答
57327 浏览

ruby-on-rails - Rails.cache.clear 某些键名?

是否有可能以某种方式运行Rails.cache.clear并且只清除具有特定名称/字符串的键?

我不想清除整个缓存...只是blog/post名称中带有字符串的键(即blog/post/1, blog/post/2)。

我正在使用dalli和 memcached 作为我的缓存并运行 Rails 3.0.6。

0 投票
2 回答
2381 浏览

ruby-on-rails - 独角兽 RuntimeError 因为 dalli

Unicorn 处于循环状态并显示以下错误:

独角兽错误

错误 -- : 找不到 dalli_store 的缓存存储适配器(无法加载此类文件 -- active_support/cache/dalli_store)(RuntimeError)

生产.rb

宝石文件

我在 Rails 控制台中测试过,dalli 似乎没有问题。

任何帮助,将不胜感激。

0 投票
1 回答
518 浏览

ruby-on-rails - 在 memcache 中按 Namespace 对数据进行分组

在我们的一个应用程序中,我们希望使用 dalli 客户端在 Memcache 服务器中存储不同类型的对象。

一种类型的数据是存储在用户注销时需要刷新的 Rails 会话值。另一组数据是我们需要每 15 分钟刷新一次的一些对象。

我们可以使用以下代码将 Rails 会话存储在 Memcache 服务器中 Rails.application.config.session_store ActionDispatch::Session::CacheStore, :expire_after => 20.minutes

但是如果我们尝试在 15 分钟后刷新我们的 Memcache 数据,我的会话也会变得清晰。是否可以根据命名空间分离和清除对象。

问候,

尼迪·萨瓦亚

0 投票
1 回答
5220 浏览

ruby-on-rails - 使用 Dalli 和 memcached 获取缓存值

我正在尝试使用 Dalli 与 Rails 应用程序中的缓存存储进行交互。我只是在做片段缓存,并像这样设置了我的开发配置:

这样它就不会缓存所有内容。我对缓存感兴趣的片段是这样的:

当我进去跑步时

我得到:

现在有没有办法取回那个片段缓存?还是去看?我试过:

但这行不通。有没有办法让我查看缓存键列表?

谢谢

编辑#1

对于@cpuguy83 - 很明显会以 196 毫秒的时间进入数据库 :-(

0 投票
1 回答
914 浏览

ruby-on-rails - 如何查询 memcached 中的特定片段以及如何清除所有 memcache

刚刚开始使用带有 rails 应用程序的 memcached

我有以下片段:

并想通过 Rails 控制台查询该值,但是:

我将如何查询以取回该片段?或者我如何查看当前的缓存键是什么?

另外,如何清除缓存?

来自 Rails.cache.stats

我将如何真正清除 memcached?

谢谢

0 投票
1 回答
7497 浏览

ruby-on-rails - Rails.cache - 工作但不工作

我正在使用 Rails.cache (我已经尝试过使用 dalli gem 的默认存储和 memcached - 但我得到相同的行为)它似乎正在工作,但不是(日志显示没有进行查询,但实际结果否则显示)...我有一个搜索页面,将前十个查询缓存 1 天:

搜索.rb

但是,当我进入搜索页面,反复输入一个新的搜索词时,它开始显示在前十名的结果中!(而我不希望前十个结果在 1 天过去之前发生变化。)当缓存存储为默认值时,日志中不会显示任何查询(因此您认为缓存正在工作),而当使用 dalli/memcached 时,我得到的结果完全相同行为,但在日志中有这个:

究竟是什么Cache fetch_hit意思?这是否意味着没有找到缓存并且必须进行查询?

不太确定发生了什么 - 奇怪的是,我使用默认存储或使用 Dalli 的 memcached 得到相同的行为。

0 投票
1 回答
2377 浏览

ruby-on-rails - Heroku Memcache 问题 - Dalli::NetworkError: localhost:11211 is down

我最近将 Rails 升级到 3.2.2,现在我似乎遇到了与 Memcache 相关的问题……有人可以帮忙吗?

我的生产配置:

Dalli 宝石在捆绑包中

我已经通过 herokus GUI 添加了 memcache 插件。

因此,我的 Procfile 是(也安装了“瘦”gem):

但即使我尝试在控制台中进行简单的缓存维护,我也会遇到这些错误:

当然,资产服务也失败了:

这是我的配置有问题吗?这是 Heroku 的问题吗?

0 投票
1 回答
1323 浏览

ruby - 如何将 Memcache 服务器指定为 Rack::Session::Memcache?

我正在尝试将我的 Rack 应用程序配置为使用 Memcache 与 Rack::Session::Memcache 进行会话

如何为其提供选项(例如服务器、用户名和密码)?

目前我有

但我得到了错误

在“初始化”中:没有内存缓存服务器 (RuntimeError)

Heroku 已将配置放入环境变量中

我知道我可以使用 ENV['MEMCACHE_PASSWORD'] 在 Ruby 中获得这些,但我不知道如何将它们提供给 Rack::Session::Memcache

编辑:或到 Rack::Session::Dalli 也很棒https://github.com/mperham/dalli

0 投票
1 回答
253 浏览

ruby - 使用 Dalli gem 连接到 Kestrel(或 Heroku 兼容的 gem 以通过 memcached 接口连接到 Kestrel)

我无法使用Dalli(一个 memcached 客户端)gem连接到Kestrel 。dalli 与红隼不兼容吗?

从 IRB/Pry 执行此操作返回:

然而,使用 memcached gem 做同样的事情效果很好:


请注意,我尝试从 memcached gem 切换到 dalli 的唯一原因是我无法让 Heroku 安装 memcached gem: