问题标签 [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 - memcached (Dalli) 和 caches_action 的过期时间
我正在为我的 rails 应用程序使用 Memcached 和 Dalli 商店。
有没有办法设置类似expires_in
和gzip
for 的东西caches_action
?
ruby-on-rails - 怎么叫沉默!在 dalli cache_store 上?
我正在尝试在开发模式下开发带有缓存的应用程序,但是 development.log 垃圾邮件主要是缓存日志。我正在使用 dalli,我知道,dalli 有沉默!方法(https://github.com/mperham/dalli/commit/892020fbc73613ccc84412ce04b85b7fda645e63),但是如何使用这种方法呢?
我找到了一些旧指令,建议在其中调用 on config.cache_store
,但它是一个符号,并且没有此方法:
抛出异常。
ruby-on-rails - uninitialized constant Dalli (NameError) in staging but not production
So I get a uninitialized constant Dalli (NameError)
when I push my ruby on rails app to my staging on heroku, but it works fine in production. my production.rb
and staging.rb
files are the exact same except for a mailer host value. Could someone help? Thanks!
production.rb:
staging.rb:
production.rb:
Here is the output of heroku logs --tail --remote staging
:
Feel free to check out my code at www.github.com/sambaek/novulty
ruby-on-rails-3.2 - 重定向到外部 URL 后,cookie_store 中的 Rails 3.2 会话 cookie 被删除
我们面临一个奇怪的问题,在我们的 rails 3.2 应用程序(暂存环境)的会话中,很少有键/cookie 被删除/丢失,该应用程序具有以下缓存设置/配置。session store是cookie store,配置如下:
rails cache store 是一个memcache store,我们使用dalli gem 来集成rails 和memcache。
以下配置已添加到不同的 .rb 文件中:
不过,这种丢失 cookie 的情况发生的流程有点复杂。发生这种情况的场景如下:
- 用户通过访问 Appsrv 上的页面启动会话(rails 3.2 应用程序,此时在会话中设置了一些标识用户事务的变量)
- 转到外部网站进行身份验证。
- 认证成功后,外部网站重定向到 Java App 服务器。
- Java App 服务器记录身份验证并重定向回 Appsrv。
- 但是在此重定向之后,步骤 1 中设置的会话变量消失了。
一些奇怪的发现:事情在开发环境中完美运行,唯一的区别是:
如果我们在暂存“config.action_controller.perform_caching=false”中有相同的设置,那么暂存也可以正常工作。即使“config.action_controller.perform_caching”设置为 false,缓存实际上在控制器和模型中正确发生。
所以问题是: 1. 当 config.action_controller.perform_caching 设置为 true 时,为什么会话 cookie 会被删除?2. config.action_controller.perform_caching 配置如果设置为 false 也允许缓存正常发生有什么意义?
ruby-on-rails-3 - 为什么我的 Rails 缓存日志中会显示对“机架”路由的调用?
我的 Rails 3.2 应用程序包含上游负载均衡器的健康检查路由:
我还使用 Dalli 和 memcached 在我的应用程序中缓存各种对象。我最近一直在使用 Dalli 调试输出,并注意到我的日志充满了健康检查:
这些健康检查是否出于某种原因从缓存中提供?这是在哪里配置的?我显然没有设置页面缓存。此路由是与该 URL 关联的唯一代码。
ruby-on-rails - 在运行时更改 Rails cache_store?
我的应用程序具有允许管理员通过 GUI 更改 cache_store 配置的功能。然后新的配置将立即生效。
我的 production.rb 中的默认 cache_store:
管理员可以选择更改为将 memcached 与 Dalli 存储一起使用。我试图改变 Rails.application.config.cache_store:
但是 Rails.cache 没有改变:
有没有办法做到这一点?
ruby - 将 Twitter 时间线存储在缓存中(使用 Sinatra)?
我正在制作一个基本的 Sinatra 应用程序,以使用Twitter gem显示用户的 Twitter 提及时间线。登录后,我获取他/她的提及。就像是:
问题在于,每次用户点击主页时,我都会调用 Twitter API。我的速率受到限制,而且效率也不高,因为我只想重新获取提及时间线,比如每 3 分钟一次。或者,如果它更简单,我可以在达到速率限制后使用缓存。
阅读后,似乎最好的方法是将这些数据存储在缓存中,这样我就不会继续发出 API 请求。我该怎么做呢?
ruby-on-rails-3 - Rails + Unicorn 问题 - DalliError:无法解组值:未定义的类/模块
我有一个 Rails 3.1 应用程序,它利用 Shopify API gem 通过 ActiveResource 获取一些外部数据。我们通过 Dalli 将这些 ActiveRecord 模型对象存储在 Memcached 中,然后在需要时再次读取。
我们可以在运行 Thin webserver 时成功读取这些数据,并且一切正常。但是,一旦我将 Unicorn 设置为网络服务器,从 Memcached 读取模型对象时,我会继续收到以下错误:
这不会在每次阅读时都发生,但经常会成为一个大问题。只有当我们产生超过 1 个 Unicorn 工作进程时才会发生这种情况。
下面是我的 unicorn.rb 文件:
我们还激活了以下功能:
如果我只生成一个 Unicorn worker_process (worker_processes 1),那么一切正常。我试过设置 config.threadsafe!在 application.rb 中,这对多个工人没有帮助。
似乎不需要所需的类/模块,我不知道为什么。
编辑:我还在我的 applicaton.rb 文件中添加了以下内容,以尝试将 gem 添加到 rails 的自动加载路径,但没有成功:
我还像这样添加到 application_controller.rb require_dependency 'shopify_api' :
但我不确定这是否是执行 require_dependency 的正确方法,因为缺少的类是:ShopifyAPI::Order::ClientDetails
有任何想法吗?谢谢 :)
ruby - Dalli 是否只缓存字符串?(memcache 的新手)
如果是这种情况,那么最好将内容存储为 JSON 吗?
我查看了文档,但没有明确承认。
ruby-on-rails - Dalli 是否会过期所有盒子中的缓存?
根据https://github.com/mperham/dalli,我们可以配置多个 Memcache 服务器。但我不确定它是如何工作的。
假设我们正在使用具有两台服务器的 memcache 集群:memcache1(box1) 和 memcache2 (box2)。
- 用户 A 和用户 B 共享同一个资源。
- 用户A登录并读取box1中缓存的共享资源。
- 用户 B 登录并读取 box2 中缓存的共享资源。
- 用户 A 更新共享资源并使 box1 上的缓存过期
- 用户 B 看不到更新的资源,但仍然在 box2 中获得缓存。
到目前为止,这是我的理解,我不确定缓存过期在集群环境中是如何工作的。特别是,当我们想急切地使缓存过期时,它会在所有盒子上过期吗?
鉴于我们在两个 rails 服务器中有类似的配置:
您如何看待这个用例?
感谢您的所有兴趣。