sql >> Databasteknik >  >> NoSQL >> Redis

Hur man lagrar en Complex Nested JSON i Redis med Python

Det kan du inte direkt göra, men som tur är finns det en ny Redis-modul som heter RedisJSON som gör precis vad du behöver, och den har en snygg Python-bindning också. Du kan starta en RedisJSON docker-container eller använda Redis 4.0+, sedan ladda ner/kompilera och installera RedisJSON och konfigurera Redis för att ladda den, och den lägger till inbyggda kommandon för JSON-manipulation.

Det låter dig lagra JSON-dokument i Redis, och sedan antingen hämta eller ändra ett specifikt element i dokumentträdet, utan att hämta (eller internt till och med tolka) dokumentet. Dess Python-klient låter dig till och med lagra pythondikt och konvertera dem till JSON automatiskt.

ReJSON-modul:http://redisjon.io

Python-klient:https://pypi.python.org/pypi/rejson

Exempel:

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. Introduktion till HDFS Federation &Architecture

  2. Ta bort en post från arrayen med MongoDB-Java-drivrutinen

  3. Importera data till MongoDB från JSON-fil med Java

  4. Hur ansluter man till en Docker Redis-klusterinstans med jedis för Java?