Redis
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> Redis

Đặt cache_store trong trình khởi tạo

Sau một số nghiên cứu, một lời giải thích có thể xảy ra là trình khởi tạo initialize_cache được chạy trước khi rails / khởi tạo. Vì vậy, nếu nó không được xác định sớm hơn trong chuỗi thực thi thì bộ nhớ cache sẽ không được thiết lập. Bạn phải định cấu hình nó sớm hơn trong chuỗi, như trong application.rb hoặc environment / production.rb

Giải pháp của tôi là di chuyển tải APP_CONFIG trước khi ứng dụng được định cấu hình như sau:

APP_CONFIG = YAML.load_file(File.expand_path('../config.yml', __FILE__))[Rails.env]

và sau đó trong cùng một tệp:

config.cache_store = :redis_store, APP_CONFIG['redis']

Một tùy chọn khác là đặt cache_store trong khối before_configuration, giống như sau:

config.before_configuration do
  APP_CONFIG = YAML.load_file(File.expand_path('../config.yml', __FILE__))[Rails.env]
  config.cache_store = :redis_store, APP_CONFIG['redis']
end


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Làm thế nào để chuyển trong node.js sang redis?

  2. Cần tây celerybeat có thể sử dụng Trình lập lịch cơ sở dữ liệu mà không có Django không?

  3. redis kết nối thời gian chờ với máy chủ từ xa trong một docker

  4. Làm thế nào an toàn để lưu trữ các phiên với Redis?

  5. cách truy cập phiên socket trong tất cả các cụm