Det kan man ikke direkte, men heldigvis er der et nyt Redis-modul ved navn RedisJSON, der gør præcis det, man har brug for, og det har også en fin Python-binding. Du kan starte en RedisJSON docker-container eller bruge Redis 4.0+, derefter downloade/kompilere og installere RedisJSON og konfigurere Redis til at indlæse den, og den tilføjer native kommandoer til JSON-manipulation.
Det lader dig gemme JSON-dokumenter i Redis og derefter enten hente eller ændre et bestemt element i dokumenttræet uden at hente (eller internt endda parse) dokumentet. Dens Python-klient lader dig endda gemme python-dikter og konvertere dem til JSON automatisk.
ReJSON-modul:http://redisjon.io
Python-klient:https://pypi.python.org/pypi/rejson
Eksempel:
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'))
)