pythonを使用して範囲などの複雑なクエリを実行するために、redisのソートされたセットにデータを挿入したいと思います。
import redis
redisClient = redis.StrictRedis(Host='localhost', port=6379,db=0)
redisClient.zadd("players",1,"rishu")
しかし、上記のコードを実行すると、次のエラーが発生します
AttributeError: 'str' object has no attribute 'items'
私はここで何が間違っていますか。このリンクを参考に使用しました https://pythontic.com/database/redis/sorted%20set%20-%20add%20and%20remove%20elements
@divyanayan awasthiは答えました:
rediscleint.execute_command('ZADD', "rishu", 1, "123")
生のクエリを実行できます。
詳細説明:
Redis-cliで
_>>> zadd rishu nx 1 "123"
# sorted set key = rishu
# nx = new item
# score = 1
# member = "123"
_
pythonのコマンドは
rediscleint.execute_command('ZADD', "rishu",'nx' 1, "123")
上記のコードでは、zaddコマンドに新しい引数を追加しましたnx(新しい項目を追加)。ソート済みセットのメンバーを更新する場合は、nxの代わりに「xx」を渡します。
execute_commandでは、コンマで区切られた同じredisコマンドを実行できます。
以下も参照してください: