Sie können das nicht direkt tun, aber zum Glück gibt es ein neues Redis-Modul namens RedisJSON, das genau das tut, was Sie brauchen, und es hat auch eine nette Python-Bindung. Sie können einen RedisJSON-Docker-Container starten oder Redis 4.0+ verwenden, dann RedisJSON herunterladen/kompilieren und installieren und Redis so konfigurieren, dass es geladen wird, und es fügt native Befehle für die JSON-Manipulation hinzu.
Damit können Sie JSON-Dokumente in Redis speichern und dann ein bestimmtes Element in der Dokumentenstruktur entweder abrufen oder ändern, ohne das Dokument abzurufen (oder sogar intern zu analysieren). Mit seinem Python-Client können Sie sogar Python-Diktate speichern und automatisch in JSON konvertieren.
ReJSON-Modul:http://redisjon.io
Python-Client:https://pypi.python.org/pypi/rejson
Beispiel:
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'))
)