问题标签 [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 回答
503 浏览

ruby-on-rails - 从公用文件夹提供图像一次加载,当我在生产环境中再次刷新时显示 404

图像存在于服务器中,但我收到服务器响应状态为 404(未找到)的消息,但是当我复制 url 并放入浏览器时,我得到了图像,但相同的 url 我刷新我得到 404。我没有不知道是什么问题,只发生在服务器环境中,在本地环境下可以正常工作

我的应用程序部署在引擎场,使用 memcache dalli 服务器

尝试的解决方案:我设置了 config.serve_static_assets = true 但我没有给出任何解决方案。我检查了图像文件格式,它的 jpeg 格式和数据是二进制格式。公共图像文件夹也具有完全权限。

0 投票
1 回答
554 浏览

ruby-on-rails - 使用 memcache 和 Dalli 进行 Ruby on Rails 缓存似乎不起作用

所以我在运行在 rails 3.3 上的页面上实现了一些缓存,但是当我查看生产日志时,我看到了这个:

我不确定这应该是这样的:) 据我了解,一旦片段保存在缓存中,它应该一直读取。我指定了 30 分钟的到期时间。

0 投票
2 回答
500 浏览

heroku - 如何在 Heroku 上查看 Memcachier 缓存的内容?

我需要检查缓存,查看哪些 IP 被阻止*,以及阻止了多长时间。

注意:我使用的是开发者/免费计划。

更新:

  • 我正在使用将阻塞的 IP 存储在缓存中的 rack-throttle gem。
0 投票
1 回答
1171 浏览

ruby-on-rails - 如何使用 Dalli gem 在 Rails 3 中获取缓存到期日期?

我有一个使用 Dalli gem 管理其缓存的 Rails 3 应用程序。

我需要检查应用程序的某个部分是否正确设置了缓存的到期日期,但找不到手动检查特定片段的方法。

我找到了这个答案,但它不适用于 Dalli。

还有其他方法吗?

0 投票
1 回答
287 浏览

ruby - Rspec:测试 dalli 缓存(在 Rails 之外)

这可能超出了您应该测试的范围,但是如何测试使用缓存的服务方法(即它使用缓存):

0 投票
1 回答
6246 浏览

session - rails 4 使用 memcached 作为使用 dalli 的会话存储

我无法使用 memcached 作为使用 dalli gem 的 rails 4 会话存储。

这就是我所做的。

我将 dalli gem 添加到 Gemfile

我在 config/initializers/session_store.rb 中添加了以下行

我在 development.rb 中添加了以下行

现在,当我用瘦服务器启动我的开发服务器而不启动 memcached 服务器时,我仍然可以像往常一样登录。我应该得到一些错误,比如没有运行 memcached 服务器或类似的东西。

我不确定 rails 是否使用 memcached 作为会话存储。

有人能告诉我在开发环境中使用 memcached 作为会话存储时我错过了什么吗?

供您参考,我一直在使用设计作为身份验证宝石。

谢谢

0 投票
0 回答
98 浏览

ruby-on-rails - Rails 4 - 为什么即使我关闭了缓存,我仍然会看到更快的加载时间?

我正在在 Rails 4 上实现基本的远程缓存,我无法确定它是否真的有效。

我的设置如下:

  • 用于 web/app/db 层的 Amazon EC2 实例以及用于 memcached 的特定 ec2 实例。
  • 使用 Nginx、Unicorn 和 MySQL 实现 RoR
  • Dalli gem(Rails 4 默认)
  • 用于部署的 Capistrano gem
  • 用于度量收集的新遗物
  • 我还定义了我自己的部署到 AWS 的“登台”rails_env

我的问题:我一直在更改我自己的 /config/environments/staging.rb 中的缓存配置(因为我定义了自己的 rails_env),并且我没有看到打开和关闭缓存的性能有任何显着差异。

前任。启用缓存后,页面初始加载大约需要 200 毫秒,后续加载大约需要 15 毫秒。

按照 RoR 指南,我通过设置关闭缓存

config.action_controller.perform_caching = false

config.cache_store = :null_store

这是

config.cache_store = :mem_cache_store, "www.mymemcachedserver.com"

前。

关闭缓存后,我希望相同的页面每次加载大约需要 200 毫秒,但我看到的数字完全相同(之前 200 毫秒,之后 15 毫秒)。有什么我想念的吗?我有缓存工作吗?

我还尝试从应用程序层(无 CSS 和其他资产)直接访问该站点并获得了类似的结果 - 那么我是否缺少其他缓存来源?它可能与数据库有关,甚至与我的浏览器缓存以前的页面(即 Chrome、Firefox)有关吗?

提前致谢!

0 投票
2 回答
1425 浏览

ruby-on-rails - Dalli:您正在尝试缓存无法序列化为 memcached 的 Ruby 对象

当我尝试将内存中的对象保存到数据库中,然后用 Dalli 缓存该对象时,我的行为很奇怪。

这有效:

这也有效:

请注意,对象(在第二种情况下只是TrackedPoint)通过调用 create 隐式保存到数据库中。

我还发现重新加载i允许我将对象写入缓存。所以这有效:

这失败了:

但是,如果我做了一些奇怪的欺骗,我可以让失败的例子工作:

在我失败的示例中,我可以在将违规 ( i) 保存到数据库之前对其进行缓存,如下所示:

根据 Dave 的想法,我尝试build代替<<forTrackedPoint以及添加 a accepts_nested_attributes_for :tracked_pointsto Infraction,但这些都不起作用。

我在日志中收到编组/序列化程序错误:

我正在运行 Rails 3.2.13 和 Dalli 2.7.0

编辑

另请参阅:通过以下方式缓存 has_many 的 ActiveRecord 对象:

0 投票
1 回答
520 浏览

ruby-on-rails - 通过以下方式缓存 has_many 的 ActiveRecord 对象:

当我尝试缓存ActiveRecord具有has_many through:关系的对象时,我无法缓存该对象,直到我重新加载或保存它。

人.rb:

person_item.rb:

项目.rb:

安慰:

Marshal它在这一步失败。所以Marshal.dump(p)会因TypeError: can't dump hash with default proc错误而失败。

如果我只是p在内存中制作(使用new而不是create),我可以写入缓存。

知道为什么缓存这个ActiveRecord对象会失败吗?

导轨:3.2.14

达利:2.7

红宝石:1.9.3-p392

编辑

另请参阅:Dalli:您正在尝试缓存无法序列化为 memcached 的 Ruby 对象

0 投票
1 回答
495 浏览

ruby-on-rails - 使用 Dalli 缓存大型 ActiveRecord 对象

我无法缓存大型 ActiveRecord 对象。小的没关系:

但如果它们变大一点:

虽然尺寸不是很高

我正在使用Dalli缓存存储:

我什至确保生产中的最大值应该足够大。 rb有这个:

然而,我在这里变得错误:

知道为什么吗?谢谢