2012-01-28 37 views
16

Tôi đang cố gắng hiểu cách Django đang đặt khóa cho các chế độ xem của tôi. Tôi tự hỏi nếu có một cách để có được tất cả các phím đã lưu từ Memcached. một cái gì đó như một cache.all() hoặc một cái gì đó. Tôi đã cố gắng tìm chìa khóa với cache.has_key('test') nhưng vẫn không thể tìm ra cách các phím xem đang được đặt tên.Lấy danh sách các Phím Bộ nhớ Cache ở Django

UPDATE: Lý do tôi cần điều này là vì tôi cần phải tự xóa các phần của bộ nhớ cache nhưng không biết giá trị chính Django được thiết lập cho cache_view tôi chìa khóa

+0

Ông có thể làm rõ lý do tại sao bạn cần điều này? Như câu trả lời của tôi dưới đây đề cập, điều này là không thể bên trong của Django. Nếu chúng tôi biết trường hợp sử dụng của bạn, chúng tôi có thể cung cấp các giải pháp thay thế. –

Trả lời

-1

Có một số cách giải quyết lạ bạn có thể làm để có được tất cả phím từ dòng lệnh, nhưng không có cách nào để làm điều này với memcached bên trong của Django. Xem this thread.

0

Như đã đề cập, không có cách nào để có danh sách tất cả các khóa bộ nhớ cache trong django. Nếu bạn đang sử dụng bộ đệm ẩn bên ngoài (ví dụ: memcached hoặc bộ đệm ẩn cơ sở dữ liệu), bạn có thể kiểm tra bộ nhớ cache bên ngoài trực tiếp.

Nhưng nếu bạn muốn biết cách chuyển đổi khóa django thành khóa được sử dụng trong hệ thống phụ trợ, chức năng make_key() của django sẽ thực hiện việc này.

https://docs.djangoproject.com/en/1.8/topics/cache/#cache-key-transformation

>>> from django.core.cache import caches 
>>> caches['default'].make_key('test-key') 
u':1:test-key' 
Các vấn đề liên quan