问题标签 [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.
ruby-on-rails - 从公用文件夹提供图像一次加载,当我在生产环境中再次刷新时显示 404
图像存在于服务器中,但我收到服务器响应状态为 404(未找到)的消息,但是当我复制 url 并放入浏览器时,我得到了图像,但相同的 url 我刷新我得到 404。我没有不知道是什么问题,只发生在服务器环境中,在本地环境下可以正常工作
我的应用程序部署在引擎场,使用 memcache dalli 服务器
尝试的解决方案:我设置了 config.serve_static_assets = true 但我没有给出任何解决方案。我检查了图像文件格式,它的 jpeg 格式和数据是二进制格式。公共图像文件夹也具有完全权限。
ruby-on-rails - 使用 memcache 和 Dalli 进行 Ruby on Rails 缓存似乎不起作用
所以我在运行在 rails 3.3 上的页面上实现了一些缓存,但是当我查看生产日志时,我看到了这个:
我不确定这应该是这样的:) 据我了解,一旦片段保存在缓存中,它应该一直读取。我指定了 30 分钟的到期时间。
heroku - 如何在 Heroku 上查看 Memcachier 缓存的内容?
我需要检查缓存,查看哪些 IP 被阻止*,以及阻止了多长时间。
注意:我使用的是开发者/免费计划。
更新:
- 我正在使用将阻塞的 IP 存储在缓存中的 rack-throttle gem。
ruby-on-rails - 如何使用 Dalli gem 在 Rails 3 中获取缓存到期日期?
我有一个使用 Dalli gem 管理其缓存的 Rails 3 应用程序。
我需要检查应用程序的某个部分是否正确设置了缓存的到期日期,但找不到手动检查特定片段的方法。
我找到了这个答案,但它不适用于 Dalli。
还有其他方法吗?
ruby - Rspec:测试 dalli 缓存(在 Rails 之外)
这可能超出了您应该测试的范围,但是如何测试使用缓存的服务方法(即它使用缓存):
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 作为会话存储时我错过了什么吗?
供您参考,我一直在使用设计作为身份验证宝石。
谢谢
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)有关吗?
提前致谢!
ruby-on-rails - Dalli:您正在尝试缓存无法序列化为 memcached 的 Ruby 对象
当我尝试将内存中的对象保存到数据库中,然后用 Dalli 缓存该对象时,我的行为很奇怪。
这有效:
这也有效:
请注意,对象(在第二种情况下只是TrackedPoint
)通过调用 create 隐式保存到数据库中。
我还发现重新加载i
允许我将对象写入缓存。所以这有效:
这失败了:
但是,如果我做了一些奇怪的欺骗,我可以让失败的例子工作:
在我失败的示例中,我可以在将违规 ( i
) 保存到数据库之前对其进行缓存,如下所示:
根据 Dave 的想法,我尝试build
代替<<
forTrackedPoint
以及添加 a accepts_nested_attributes_for :tracked_points
to Infraction
,但这些都不起作用。
我在日志中收到编组/序列化程序错误:
我正在运行 Rails 3.2.13 和 Dalli 2.7.0
编辑
另请参阅:通过以下方式缓存 has_many 的 ActiveRecord 对象:
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
编辑
ruby-on-rails - 使用 Dalli 缓存大型 ActiveRecord 对象
我无法缓存大型 ActiveRecord 对象。小的没关系:
但如果它们变大一点:
虽然尺寸不是很高:
我正在使用Dalli缓存存储:
我什至确保生产中的最大值应该足够大。 rb有这个:
然而,我在这里变得错误:
知道为什么吗?谢谢