Tôi có một bãi chứa lớn key-value
, mà tôi cần phải tra cứu cho webapp django-Python của tôi.Duy trì một từ điển lớn trong bộ nhớ cho Django-Python?
Vì vậy, tôi có các tùy chọn sau đây:
- cửa hàng nó như json bãi và tải nó như là một dict python.
- Lưu trữ trong một số dump.py và nhập dict từ đó.
- Sử dụng một số hệ thống được nhắm mục tiêu cho sự cố này: [Điều này thực sự có ý nghĩa đối với ứng dụng này không? ]
- Mem-cache
- Redis
- Bất kỳ lựa chọn nào khác?
nào từ bên trên là đúng cách để đi đâu?
Bạn so sánh memcache và redis như thế nào?
Cập nhật:
- từ điển của tôi là về 5 MB về kích thước và sẽ phát triển theo thời gian.
Sử dụng Redis/Memcache thêm phí trên mỗi lần nhấn, vì vậy sẽ dump.py sẽ tốt hơn vì sẽ mất thời gian để tải nó vào bộ nhớ nhưng sau đó sẽ chỉ thực hiện tra cứu bộ nhớ.
từ điển của tôi cần phải được cập nhật mỗi ngày, xem xét rằng dump.py sẽ có vấn đề, vì chúng ta phải khởi động lại django-server để tải lại nơi như tôi đoán nó sẽ phản ánh một cách nhanh chóng trong redis và memcache.
Chỉ sử dụng một hệ thống như redis chỉ khi bạn có số lượng lớn dữ liệu và bạn phải tra cứu rất thường xuyên, trong trường hợp đó.
Hãy chia sẻ kinh nghiệm của bạn về điều này!
Phụ thuộc. Nút cổ chai của bạn ở đâu? –
bạn có cần một cơ sở dữ liệu không? – moooeeeep
Bạn có thường xuyên kiểm tra khóa nếu bạn lo lắng về ổ cắm? –