Rails 使用Redis作缓存

本文介绍使用Redis作为Rails缓存的backend的步骤。虽然简单,但是自己也遇到一些坑,因而记录一下。

安装和启动Redis

安装
mac: brew install redis
Ubuntu: sudo apt update && sudo apt install -y redis-server
启动:
Mac: brew services start redis
Ubuntu: sudo systemctl start redis-server

我在Ubuntu下面启动Redis的时候,遇到一个错误:

can't open config file '/etc/redis/redis.conf'

提示找不到/etc/redis/redis.conf这个文件。cat一下这个文件,提示不存在。Google了一番,并没有找到什么解决办法,大多数文章都说,是因为什么原因引起的(文件不存在),但是并没有提到怎么解决。我试着卸载重装也没有用。于是只能自己手动创建这个conf文件,然后在redis官网找到了对应版本的redis conf文件应该有啥内容。copy了一份塞进去。
重试发现好了。

在Gemfile里面加入 gem ‘redis’

在Rails对应的环境文件里面配置redis作为cache backend

  config.action_controller.perform_caching = true
  config.cache_store = :redis_cache_store, { namespace: "geekweibo" } # 这里的namespace最好写你自己的app name
  config.public_file_server.headers = { "Cache-Control" => "public, max-age=#{2.days.to_i}" }

到此就结束了。

参考资料:

Leave a Reply