sql >> Databáze >  >> NoSQL >> Redis

Jak uložit komplexní vnořený JSON v Redis pomocí Pythonu

Nemůžete to udělat přímo, ale naštěstí existuje nový modul Redis s názvem RedisJSON, který dělá přesně to, co potřebujete, a má také pěknou vazbu Pythonu. Můžete spustit dokovací kontejner RedisJSON nebo použít Redis 4.0+, poté stáhnout/zkompilovat a nainstalovat RedisJSON a nakonfigurovat Redis tak, aby jej načetl, a přidá nativní příkazy pro manipulaci s JSON.

Umožňuje vám ukládat dokumenty JSON v Redis a poté buď načíst nebo upravit konkrétní prvek ve stromu dokumentů, aniž byste museli dokument načítat (nebo dokonce interně analyzovat). Jeho klient Python vám dokonce umožňuje ukládat python diktáty a automaticky je převádět na JSON.

Modul ReJSON:http://redisjon.io

Klient Python:https://pypi.python.org/pypi/rejson

Příklad:

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. Proč je SQLite v tomto jednoduchém benchmarku rychlejší než Redis?

  2. Co je to TransientTransactionError v Mongoose (nebo MongoDB)?

  3. RuntimeWarning:Spouštíte worker s oprávněními superuživatele:toto se absolutně nedoporučuje

  4. MongoDB dropIndexes()