我正在使用 redis-rails在我的项目中存储用户的缓存,我不知道为什么在缓存的开头添加了额外的一行。
这是我的配置:
config.cache_store = :redis_store, {
host: ENV['REDIS_SERVER'] || 'localhost',
port: 6379,
db: 0,
namespace: ENV['CUSTOMER']
}
这是我的代码:
namespace :update_employees_cache do
desc "Update employees cache"
task update: :environment do
employees = []
Employee.where(active: true).each do |item|
employees.push({ id: item.id, name: item.name })
end
Rails.cache.write "employees", employees.to_json
end
end
在第 1 行,o: ActiveSupport::Cache::Entry: @valueI"�
这是什么?
最佳答案
在项目 repo 中打开一个问题后,我发现 Rails 的默认行为是用该数据包装缓存。
在我的例子中,我需要避免它,然后需要在配置中将 row
设置为 true
。
config.cache_store = :redis_store, {
host: ENV['REDIS_SERVER'] || 'localhost',
port: 6379,
db: 0,
namespace: ENV['CUSTOMER'],
raw: true
}
关于ruby-on-rails - Rails 在我的 redis 缓存中添加额外的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49010253/