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

Redis-キーHASHとSETおよびZSETはCrudRepository保存でどのように関連していますか?

    答える前に、RedisTemplate実装コードを共有してもよろしいですか? (または、これは@RedisHashアノテーションによって生成されますか?)私はSpring-Data-Redisを初めて使用し、@ RedisHashアノテーションを知らなかったので、チェックアウトしたいと思います。

    とにかく、ここで本質的に起こっていることは、Spring-Data-Redisリポジトリが、さまざまな目的でRedisによってネイティブにサポートされているさまざまなデータ構造にPersonオブジェクトを挿入していることです。

    Redisは、次のようなさまざまなデータ構造をサポートしています。

    1. HashRedisは、Personオブジェクト全体を表す文字列フィールドと文字列値のマップを作成します。HGETALL persons:{your person id}を実行する場合 個人オブジェクトに関連付けられているさまざまなフィールドと値がすべて表示されます

      HASH holding property values for id "c5cfd49d-6688-4b83-a9b7-be55dd1c36ad" in keyspace "persons"

    2. SetRedisは、基本的な生の文字列を挿入し、フィールドに基づいてエンティティにインデックスを付けます。したがって、多くのSETがありました RedisDBでの操作。 firstNameのインデックスを見ることができます およびlastName データセット内

      SET holding all ids known in the keyspace "persons"

    3. ZSetこれはSorted SetsのRedis操作です データ構造。これは文字列の順序付けられたコレクションです。Redisドキュメントから

      In short with sorted sets you can do a lot of tasks with great performance that are really hard to model in other kind of databases.

    Spring Dataは、CRUD操作を最適化するために、位置データを並べ替えられたセットとして自動的に挿入するようです。

    詳細はこちらをご覧ください:

    https://github.com/spring-projects/spring-data-examples/blob/master/redis/repositories/README.md

    https://redis.io/topics/data-types




    1. $または条件を指定したMongooseのfindメソッドが正しく機能しない

    2. Redisの別のリストにリストを挿入する

    3. Springデータredisはデフォルトのシリアライザーをオーバーライドします

    4. MongoDB:埋め込みドキュメントの一意キー