redis-py: Sự khác biệt giữa nghiêm ngặt () và Redis () là gì?


103

Tôi muốn sử dụng redis-py để lưu vào bộ nhớ đệm một số dữ liệu, nhưng tôi không thể tìm thấy lời giải thích phù hợp về sự khác biệt giữa redis.StrictRedis()redis.Redis(). Chúng có tương đương nhau không?

Ngoài ra, tôi không thể tìm thấy bất kỳ tài liệu rõ ràng nào về redis.StrictRedis()các đối số của Redis Python Docs . Bất kỳ ý tưởng?

Câu trả lời:


142

Điều này có vẻ khá rõ ràng :

 redis-py exposes two client classes that implement these commands
 The StrictRedis class attempts to adhere to the official command syntax.

In addition to the changes above, the Redis class, a subclass of StrictRedis,
overrides several other commands to provide backwards compatibility with older
versions of redis-py

Bạn có cần tương thích ngược không? Sử dụng Redis. Không quan tâm? Sử dụng StrictRedis.


2017-03-31

Dưới đây là các chi tiết cụ thể về khả năng tương thích ngược, từ liên kết github.com được trích dẫn:

Ngoài những thay đổi ở trên, lớp Redis, một lớp con của nghiêm ngặt, ghi đè một số lệnh khác để cung cấp khả năng tương thích ngược với các phiên bản redis-py cũ hơn:

LREM: Thứ tự của các đối số 'num' và 'value' được đảo ngược để 'num' có thể cung cấp giá trị mặc định bằng 0.

ZADD: Redis chỉ định đối số "điểm" trước "giá trị". Chúng được hoán đổi một cách vô tình khi được triển khai và không được phát hiện cho đến khi mọi người đã sử dụng nó. Lớp Redis mong đợi * args ở dạng: name1, score1, name2, score2, ...

SETEX: Thứ tự của các đối số "thời gian" và "giá trị" bị đảo ngược.



39

Đó là một câu hỏi cũ nhưng đối với bất kỳ ai đạt được câu hỏi này sau khi tìm kiếm trên google:

từ redis-py readme ( liên kết ):

redis-py 3.0 bỏ hỗ trợ cho lớp máy khách "Redis" kế thừa. "Nghiêm ngặt" đã được đổi tên thành "Redis" và một bí danh có tên "nghiêm ngặt" được cung cấp để người dùng trước đây sử dụng "nghiêm ngặt" có thể tiếp tục chạy không thay đổi.

Đây là dòng từ mã redis-py định nghĩa StrictRedis( liên kết ):

StrictRedis = Redis
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.