redis-py: Apa perbedaan antara StrictRedis () dan Redis ()?

103

Saya ingin menggunakan redis-py untuk menyimpan beberapa data ke cache, tetapi saya tidak dapat menemukan penjelasan yang sesuai tentang perbedaan antara redis.StrictRedis()dan redis.Redis(). Apakah mereka setara?

Selain itu, saya tidak dapat menemukan dokumentasi yang jelas tentang redis.StrictRedis()argumen di Redis Python Docs . Ada ide?

ABS
sumber

Jawaban:

142

Ini sepertinya cukup jelas :

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

dan

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

Apakah Anda memerlukan kompatibilitas mundur? Gunakan Redis. Tidak peduli? Gunakan StrictRedis.


2017-03-31

Berikut adalah spesifikasi kompatibilitas mundur, dari tautan github.com yang dikutip:

Selain perubahan di atas, kelas Redis, subkelas StrictRedis, mengganti beberapa perintah lain untuk memberikan kompatibilitas mundur dengan versi redis-py yang lebih lama:

LREM: Urutan argumen 'num' dan 'value' dibalik sedemikian rupa sehingga 'num' dapat memberikan nilai default nol.

ZADD: Redis menentukan argumen 'skor' sebelum 'nilai'. Ini bertukar secara tidak sengaja saat diterapkan dan tidak ditemukan sampai orang sudah menggunakannya. Kelas Redis mengharapkan * args berupa: name1, score1, name2, score2, ...

SETEX: Urutan argumen 'waktu' dan 'nilai' dibalik.


hughdbrown
sumber
39

Ini pertanyaan lama, tetapi bagi siapa saja yang mencapai pertanyaan ini setelah pencarian google:

dari redis-py readme ( tautan ):

redis-py 3.0 menghentikan dukungan untuk kelas klien "Redis" yang lama. "StrictRedis" telah diganti namanya menjadi "Redis" dan alias bernama "StrictRedis" disediakan sehingga pengguna yang sebelumnya menggunakan "StrictRedis" dapat terus berjalan tanpa perubahan.

Berikut adalah baris dari kode redis-py yang mendefinisikan StrictRedis( tautan ):

StrictRedis = Redis
aliva
sumber