Tôi gặp sự cố khi hết hạn bộ nhớ cache hành động trong ứng dụng của mình.Hết bộ nhớ cache hành động với cache_path tùy chỉnh
Đây là bộ điều khiển của tôi:
class ToplistsController < ApplicationController
caches_action :songs, cache_path: :custom_cache_path.to_proc
def custom_cache_path
"#{params[:when]}-#{params[:what]}-#{params[:controller]}-#{params[:action]}"
end
def songs
# ...
end
end
tôi bằng cách nào đó cần để có thể thiết lập lại các con đường bộ nhớ cache tùy chỉnh, nhưng tôi không thể tìm ra cách.
Tôi đã thử sử dụng this technique, mà không thành công. Dường như Dalli, bộ nhớ cache của tôi, không hỗ trợ đối sánh regexp.
Tôi nhận được lỗi này khi cố gắng sử dụng mã này:
expire_fragment(/songs/)
ActiveSupport::Cache::DalliStore does not support delete_matched
Tôi đã cố gắng sử dụng dòng mã này, để gỡ lỗi, nhưng nó bị bỏ qua.
before_filter only: [:songs]
expire_fragment(custom_cache_path)
end
Tôi đang sử dụng Rails 3.1.0.rc6, Dalli 1.0.5 và Ruby 1.9.2.
Bạn sử dụng regex với dallicache bằng đá quý này: https://github.com/defconomicron/dalli-store-extensions –
Tôi sẽ thử nó, cảm ơn. – Oleander