欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Rails.cache

程序员文章站 2022-03-02 08:12:59
和大家分享一下个人关于Rails.cache的浅显的认识,望大家指教。 1.Rails.cache是什么 它是Rails中的缓存,拥有所有缓存的共同点,它是为了提升网站性能。 2.Rails中Rails.cache的存储系统。 本身常用的有四种,可以根据不同的环境进行选择不同的存储系统。 FileS ......

和大家分享一下个人关于rails.cache的浅显的认识,望大家指教。

1.rails.cache是什么

它是rails中的缓存,拥有所有缓存的共同点,它是为了提升网站性能。

2.rails中rails.cache的存储系统。

本身常用的有四种,可以根据不同的环境进行选择不同的存储系统。

  • filestore,利用文件系统缓存文件,能够在多个应用间共享缓存,但是这样会不断的增加硬盘使用。
  • memorystore, ruby 进程使用共同的内存,默认大小为32m,,虽然可以更改这个限制,但是不适合大型的部署,并且它不能用于多个应用共享缓存。
  • memcachestore, 这种方式使用 memcached 最为后端缓存服务,它提供了高性能的、集中式的缓存服务,可以在多个应用间共享缓存,这是一种适合中大型商业应用的选择。
  • nullstore, 适合开发和测试环境的配置,它不会储存任何东西,但是可以正常调试 rails.cache 中的方法。

3. rails项目的自定义配置存储系统。

这里我以使用redis来作为rails.cache的存储系统进行介绍

3.1 为什么会选redis

使用redis,能够通过 redis 的命令快速实现,比关系型数据库拥有更快的读写速度,且更适合储存非结构化数据。

3.2 如何配置

  • 确保你的系统已经安装了redis数据库(具体怎么安装,这里不做阐述)
  • 在你的gemfile文件中,加入gem 'redis-rails'这一行,然后bundle install。
  • 一般初始化的默认配置可以在development.rb,production.rb,test.rb文件中单独设置适用于不同环境的存储系统;我选择直接在application.rb中写配置信息。
配置信息(必须):
config.action_controller.perform_caching = true # 确保开启缓存,dev环境下默认是没有开启的。
config.cache_store = :redis_store, {
    host: 'localhost',
    port: '6379',
    db: 1, # 这是整数,可以理解为redis数据库中的表标志,默认是16个数据库,可从0-15中取值
    password: '',
    expires_in: 5.hours # 过期时间的设置
}

4. rails.cache常见用法。

主要有3种:

  • 片段缓存
    继续。。
  • 页面缓存
    继续。。
  • 方法缓存
    继续。。