sql >> データベース >  >> NoSQL >> Redis

Pythonを使用して複雑なネストされたJSONをRedisに保存する方法

    直接それを行うことはできませんが、幸いなことに、必要なことを正確に実行するRedisJSONと呼ばれる新しいRedisモジュールがあり、Pythonバインディングも優れています。 RedisJSON Dockerコンテナを起動するか、Redis 4.0以降を使用してから、RedisJSONをダウンロード/コンパイルしてインストールし、それをロードするようにRedisを構成すると、JSON操作用のネイティブコマンドが追加されます。

    これにより、JSONドキュメントをRedisに保存し、ドキュメントを取得(または内部的に解析)することなく、ドキュメントツリー内の特定の要素をフェッチまたは変更できます。そのPythonクライアントでは、Python dictを保存して、自動的にJSONに変換することもできます。

    ReJSONモジュール:http://redisjon.io

    Pythonクライアント:https://pypi.python.org/pypi/rejson

    例:

    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. Mongodbでフィールドに値を掛ける

    2. Express+MongoDBに最適なセッションストレージミドルウェア

    3. Mongodbで大文字と小文字を区別しないクエリを作成するにはどうすればよいですか?

    4. 値がターゲットのソートされたセットに存在する最高スコアよりも大きいスコアを持つ場合のzaddの時間計算量