Redis
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> Redis

Đo điểm chuẩn truy xuất từ ​​redis so với bộ nhớ trong python (sử dụng timeit)

Trong so sánh mà bạn đã đưa ra ở đây, về cơ bản bạn chỉ đang đo lường thời gian Python mất để liên kết một tên mới với một giá trị trong trường hợp thứ hai. Vì vậy, tôi không ngạc nhiên rằng điều này nhanh hơn rất nhiều so với việc giao tiếp với một quy trình khác (Redis). Tôi đoán điều làm tôi ngạc nhiên là bạn sẽ cân nhắc việc nhận một giá trị từ Redis nếu tùy chọn tồn tại chỉ đơn giản là để lưu nó trong bộ nhớ.

Vì vậy, bạn cần phải rõ ràng hơn về lý do tại sao bạn sử dụng Redis cho việc này ngay từ đầu. Nó sẽ luôn chậm hơn bộ nhớ trong quá trình, không cần điểm chuẩn cho điều đó. Bạn cần hỏi "tại sao tôi không chỉ sử dụng danh sách và từ điển Python"? Có một số câu trả lời hợp lệ:dữ liệu của bạn quá lớn để vừa với bộ nhớ, bạn yêu cầu các tính năng dành riêng cho bộ nhớ cache như cho phép các giá trị biến mất sau một thời gian hoặc bạn muốn sử dụng nó cho IPC hoặc duy trì. Khi bạn biết câu trả lời ở đây, điều đó sẽ thông báo điểm chuẩn mà bạn muốn thực hiện. Và câu hỏi sẽ giống như "Làm thế nào để tôi có được những lợi ích / tính năng mà tôi đã liệt kê ở trên để có hiệu suất thấp nhất". Redis có thể không phải là câu trả lời duy nhất. Bạn có thể xem xét shelf cho sự bền bỉ, hoặc thậm chí có thể là một cơ sở dữ liệu quan hệ đầy đủ hoặc Mongo hoặc bất cứ điều gì.

Nói tóm lại, một khi bạn đã biết rõ lý do tại sao, thì tần suất sẽ tự giải quyết.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Cơ sở dữ liệu NoSQL nào cho khối lượng dữ liệu cực lớn

  2. Cách nhanh hơn để lặp lại tất cả các khóa và giá trị trong redis db

  3. Spring RedisTemplate:Nối tiếp nhiều lớp Model thành JSON. Có cần sử dụng nhiều RedisTemplate không?

  4. Tôi đang nhận được các thông báo trùng lặp trong ứng dụng clustered node.js / socket.io / redis pub / sub của mình

  5. StackExchange Redis ChannelPrefix Not Scoping Keys