redis-pyにおけるRedisとStrictRedisの違い

1042 ワード

redis-pyは、RedisクラスおよびStrictRedisクラスがRedisを実装するためのコマンドを提供し、StrictRedisは、ほとんどの公式コマンドを実装し、公式の構文およびコマンドを使用する.公式ドキュメントリンク、RedisはStrictRedisのサブクラスで、古いバージョンのredis-pyと後方互換性があります.簡単に言えば、StrictRedisメソッドの使用が公式に推奨されています.
Redisクラスをお勧めしません.彼と私たちがredis-cliで操作しているのは少し違います.主に違います.次の3つの面です.
・LREM:パラメータ「num」と「value」の順番を入れ替えてみましたが、cliはlrem queueName 0「string」です.ここの0時のすべての意味.しかしRedisというクラスは、制御とstringを置き換えた. 
・ZADD:実現時にscoreとvalueの順番が誤って逆になってしまいましたが、後から誰かが使っていたので、こうなりました
・SETEX:timeとvalueの順序が逆になった
.Pool:接続プールリンクプールの問題:RedisとStrictRedisは接続プール方式をサポートしています.
Redis:
pool = redis.ConnectionPool(host='localhost', port=6379, db=0)
redis_cache = redis.Redis(connection_pool=pool)

StrictRedis:
pool = redis.ConnectionPool(host='127.0.0.1', port=6379)
redis_cache = redis.StrictRedis(connection_pool=pool)

その一つに注目すべきは
StrictRedisのデフォルトdecode_responses=False、このとき格納されるデータはbyteタイプで、このパラメータをTrueに変更する必要があります
参考記事:redis-pyの2つのクラスRedisとStrictRedisを使用したときに遭遇したピット