- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
如何将连接池添加到我的 Redis 设置中?
出于某种原因,我似乎无法找到关于此的任何信息。我正在使用像这样设置的 redis (3.2.0):(你可以假设 resque_uri 和 cache_uri 已经在这个 c 之前被解析)
请求:
$REDIS_BACKGROUND_JOB = Redis.new(:host => resque_uri.host,
:port => resque_uri.port,
:password => resque_uri.password)
在初始化序列的后面,我们做
Resque.redis = $REDIS_BACKGROUND_JOB
我们有第二个 Redis 实例,具有不同的内存、连接限制和逐出策略,用于 Rails 缓存
$REDIS_CACHE = Redis.new(:host => cache_uri.host,
:port => cache_uri.port,
:password => cache_uri.password)
更新 2017-02-16@20-17EST:我正在运行两个 redis 实例,一个用于 resque (1.25.2),另一个用于使用 redis-rails (5.0.1) 的缓存层。我已经更新了上面的设置示例。我怀疑初始化中配置错误或基本设置不匹配。
更新 2017-02-16@21-37EST:
environments/development.rb
有
config.cache_store = :redis_store, 'redis://localhost:6379/1/cache_store'
最佳答案
好的,这就是我的工作。
添加到我的 Gemfile
gem 'connection_pool'
对于 RAILS 缓存:
为 Rails 缓存初始化 $REDIS_CACHE = Redis.new
是不正确的,因为 Rails 在环境文件中的 config.cache_store
设置中执行此操作( config/environments/development.rb
, config/environments/production.rb
, 等等
然后我在我的环境文件中的初始化如下:
config.cache_store = :redis_store, ENV["REDISCLOUD_FOR_RAILS_CACHE_URL"], {pool_size: 10, pool_timeout: 10}
(您会注意到 ENV["REDISCLOUD_FOR_RAILS_CACHE_URL"]
被设置为完整的 URI,包括协议(protocol)、用户名、密码、主机和端口。另一种方法是将它们作为其传递在散列中拥有自己的参数。)
关于ruby - 如何为 Redis-As-Rails-Cache(使用 Redis 作为 rails 缓存)Rails 4.1 实现连接池?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42287413/
我是一名优秀的程序员,十分优秀!