redis-py: StrictRedis () ve Redis () arasındaki fark nedir?


105

Bazı verileri önbelleğe almak için redis-py kullanmak istiyorum , ancak redis.StrictRedis()ve arasındaki farkın uygun bir açıklamasını bulamıyorum redis.Redis(). Eşdeğerler mi?

Buna ek olarak, Redis Python Docsredis.StrictRedis() içindeki argümanları hakkında net bir belge bulamıyorum . Herhangi bir fikir?

Yanıtlar:


142

Bu oldukça açık görünüyor :

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

ve

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

Geriye dönük uyumluluğa ihtiyacınız var mı? Kullanın Redis. Umursamıyor musun? Kullanın StrictRedis.


2017-03-31

Aşağıda belirtilen github.com bağlantısından geriye dönük uyumluluğun ayrıntıları verilmiştir:

Yukarıdaki değişikliklere ek olarak, StrictRedis'in bir alt sınıfı olan Redis sınıfı, redis-py'nin eski sürümleriyle geriye dönük uyumluluk sağlamak için diğer birkaç komutu geçersiz kılar:

LREM: "num" ve "değer" bağımsız değişkenlerinin sırası, "num" varsayılan bir sıfır değeri sağlayabilecek şekilde tersine çevrildi.

ZADD: Redis, 'değer'den önce' skor 'bağımsız değişkenini belirtir. Bunlar, uygulama sırasında yanlışlıkla değiştirildi ve insanlar onu kullanana kadar keşfedilmedi. Redis sınıfı, * bağımsız değişkenlerin ad1, puan1, ad2, puan2, ... şeklinde olmasını bekler.

SETEX: 'Zaman' ve 'değer' argümanlarının sırası tersine çevrildi.



40

Bu eski bir soru ama bu soruya google aramadan sonra ulaşan herkes için:

redis-py benioku'dan ( bağlantı ):

redis-py 3.0, eski "Redis" istemci sınıfı için desteği bırakır. "StrictRedis", "Redis" olarak yeniden adlandırıldı ve "StrictRedis" adlı bir takma ad sağlandı, böylece daha önce "StrictRedis" kullanan kullanıcılar değişmeden çalışmaya devam edebilir.

Redis-py kodundan StrictRedis( link ) tanımlayan satır :

StrictRedis = Redis
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.