Rails在我的redis缓存中添加额外的行
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Rails在我的redis缓存中添加额外的行相关的知识,希望对你有一定的参考价值。
我在我的项目中使用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"�
这是什么?
答案
在项目仓库中打开一个问题后,我发现这是使用该数据包装缓存的rails的默认行为。
在我的情况下,我需要避免它,然后需要在配置中将row
设置为true
。
config.cache_store = :redis_store, {
host: ENV['REDIS_SERVER'] || 'localhost',
port: 6379,
db: 0,
namespace: ENV['CUSTOMER'],
raw: true
}
以上是关于Rails在我的redis缓存中添加额外的行的主要内容,如果未能解决你的问题,请参考以下文章
Rails - 如何在索引控制器方法中使用额外字段渲染json