2011-10-06 34 views
14

Tôi đã cài đặt django-redis-cache và redis-py. Tôi đã theo dõi các tài liệu bộ nhớ đệm cho Django. Theo như tôi biết, các cài đặt dưới đây là tất cả những gì tôi cần. Nhưng làm thế nào để tôi biết nó hoạt động đúng không ??Làm cách nào để kiểm tra xem bộ nhớ cache redis của tôi có hoạt động không?

settings.py

CACHES = { 
     'default': { 
      'BACKEND': 'redis_cache.RedisCache', 
      'LOCATION': '<host>:<port>', 
      'OPTIONS': { 
       'DB': mydb, 
       'PASSWORD': 'mydbspasswd', 
       'PARSER_CLASS': 'redis.connection.HiredisParser' 
      }, 
     }, 
    } 

...

MIDDLEWARE_CLASSES = (
     'django.middleware.cache.UpdateCacheMiddleware', 
     ...[the rest of my middleware]... 
     'django.middleware.cache.FetchFromCacheMiddleware', 
    ) 

    CACHE_MIDDLEWARE_ALIAS = 'default' 
    CACHE_MIDDLEWARE_SECONDS = (60 * 60) 
    CACHE_MIDDLEWARE_KEY_PREFIX = '' 
+2

Bạn đang yêu cầu những gì bạn không thể tìm ra bằng cách kiểm tra nó? –

+1

Làm thế nào tôi có thể kiểm tra và cho biết nó có hoạt động không? Tôi là một tổng bộ nhớ đệm newb! –

+1

Tôi vừa thay đổi từ ngữ của câu hỏi của mình. Tôi cho rằng nó thực sự làm cho nó trở thành một câu hỏi khác, nhưng nó rõ ràng hơn rõ ràng những gì tôi cần để tìm ra điều này! –

Trả lời

39

việc didnt với Django, nhưng cách tiếp cận mặc định của tôi để kiểm tra nếu một số thành phần thực sự ghi vào redis quá trình phát triển:

Đầu tiên, tôi xóa tất cả các khóa được lưu trữ bằng redis để xóa các mục bộ nhớ cache cũ (không bao giờ thực hiện việc này trong quá trình sản xuất vì điều này sẽ xóa tất cả dữ liệu khỏi redis):

> redis-cli FLUSHALL 

Sau đó, kích hoạt bộ nhớ đệm trong ứng dụng của tôi, và xem những gì redis làm:

> redis-cli MONITOR 

Bạn nên nhập một phiên tương tác, nơi bạn nhìn thấy mỗi lệnh gửi đến redis.

Tải lại trang của bạn và trên thiết bị đầu cuối của bạn, bạn sẽ thấy một số thao tác SET * lưu trữ dữ liệu bộ nhớ cache.

Tải lại lại và nếu bộ nhớ cache của bạn hoạt động, bạn sẽ thấy một số thao tác GET * truy xuất dữ liệu được lưu trong bộ nhớ cache.

Lưu ý: với phương pháp này bạn có thể kiểm tra xem bộ nhớ cache của bạn có thực sự được sử dụng hay không. Những gì bạn không thể thấy là nếu bộ nhớ cache của bạn giúp tăng tốc ứng dụng của bạn. Đối với điều đó bạn phải làm các bài kiểm tra hiệu suất như được đề xuất trong các ý kiến.

+0

Cool @Max. Nghe tuyệt đó. Sẽ kiểm tra xem nó ra. Tôi sẽ def quay lại và kiểm tra nó khi tôi xác nhận! –

7

Bạn có thể cài đặt thanh công cụ django-debug và xem liệu số lượng truy vấn có giảm khi bạn bật bộ nhớ đệm hay không. Mặc dù tôi không nghĩ rằng đây là giải pháp tốt nhất cho câu hỏi đặt ra, tôi vẫn nghĩ bạn muốn làm điều này, vì bạn có thể dễ dàng xác định các truy vấn tốn kém bằng cách sử dụng thiết lập này và sau đó thêm bộ đệm thích hợp cho chúng.

Các vấn đề liên quan