sql >> Database teknologi >  >> NoSQL >> Redis

Sådan gemmer du en kompleks indlejret JSON i Redis ved hjælp af Python

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'))
)


  1. MapReduce ser ud til at være begrænset til 100?

  2. Hvordan opdaterer jeg kun MongoDB-dokumentfelter, hvis de ikke eksisterer?

  3. Lagring af venskaber i MongoDB?

  4. MongoDB - Slet et dokument