直接それを行うことはできませんが、幸いなことに、必要なことを正確に実行するRedisJSONと呼ばれる新しいRedisモジュールがあり、Pythonバインディングも優れています。 RedisJSON Dockerコンテナを起動するか、Redis 4.0以降を使用してから、RedisJSONをダウンロード/コンパイルしてインストールし、それをロードするようにRedisを構成すると、JSON操作用のネイティブコマンドが追加されます。
これにより、JSONドキュメントをRedisに保存し、ドキュメントを取得(または内部的に解析)することなく、ドキュメントツリー内の特定の要素をフェッチまたは変更できます。そのPythonクライアントでは、Python dictを保存して、自動的にJSONに変換することもできます。
ReJSONモジュール:http://redisjon.io
Pythonクライアント:https://pypi.python.org/pypi/rejson
例:
from rejson import Client, Path
rj = Client(host='localhost', port=6379)
# Set the key `obj` to some object
obj = {
'answer': 42,
'arr': [None, True, 3.14],
'truth': {
'coord': 'out there'
}
}
rj.jsonset('obj', Path.rootPath(), obj)
# Get something
print 'Is there anybody... {}?'.format(
rj.jsonget('obj', Path('.truth.coord'))
)