部门缓存

dev_forum
cxt 5 years ago
parent 16e26b5706
commit b23704a966

@ -3,8 +3,7 @@ class Department < ApplicationRecord
has_many :department_members, dependent: :destroy has_many :department_members, dependent: :destroy
after_create_commit :reset_data_cache after_commit :reset_data_cache
after_update_commit :reset_data_cache
def self.cached_names_data(school) def self.cached_names_data(school)
Rails.cache.fetch(names_data_cache_key(school.id), expires_in: 7.days) do Rails.cache.fetch(names_data_cache_key(school.id), expires_in: 7.days) do
@ -16,10 +15,8 @@ class Department < ApplicationRecord
def reset_data_cache def reset_data_cache
# 清除部门名称缓存 # 清除部门名称缓存
if new_record? || name_previously_changed?
Rails.cache.delete(self.class.names_data_cache_key(school_id)) Rails.cache.delete(self.class.names_data_cache_key(school_id))
end end
end
def self.names_data_cache_key(school_id) def self.names_data_cache_key(school_id)
"schools/#{school_id}/department_names_data" "schools/#{school_id}/department_names_data"

Loading…
Cancel
Save