Redis
 sql >> Teknologi Basis Data >  >> NoSQL >> Redis

Redis - Bagaimana kunci HASH dan SET dan ZSET terkait pada penyimpanan CrudRepository?

Sebelum menjawab, maukah Anda membagikan kode implementasi RedisTemplate Anda? (Atau ini dihasilkan oleh anotasi @RedisHash?) Saya sendiri baru mengenal Spring-Data-Redis dan tidak mengetahui anotasi @RedisHash dan ingin memeriksanya.

Bagaimanapun, pada dasarnya apa yang terjadi di sini adalah bahwa repositori Spring-Data-Redis memasukkan objek Person dalam struktur data berbeda yang secara native didukung oleh Redis untuk tujuan yang berbeda.

Redis mendukung struktur data yang berbeda seperti:

  1. HashRedis membuat peta bidang string dan nilai string untuk mewakili seluruh objek Person Anda.Jika Anda melakukan HGETALL persons:{your person id} itu akan menampilkan semua bidang dan nilai berbeda yang terkait dengan Objek orang Anda

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

  2. SetRedis menyisipkan string mentah dasar dan mengindeks entitas berdasarkan bidangnya. Karenanya ada banyak SET operasi di Redis DB Anda. Anda dapat melihat indeks firstName dan lastName di kumpulan data Anda

    SET holding all ids known in the keyspace "persons"

  3. ZSetIni adalah operasi Redis untuk Sorted Sets struktur data. Yang merupakan kumpulan string yang berurutan. Dari Dokumentasi 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.

Sepertinya Spring Data secara otomatis memasukkan data lokasi sebagai kumpulan yang diurutkan untuk mengoptimalkan operasi CRUD.

Anda dapat membaca lebih lanjut di sini:

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

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




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Kunci CROSSSLOT Aliran Udara yang diminta tidak melakukan hash ke kesalahan slot yang sama menggunakan AWS ElastiCache

  2. LuaSocket, Lua 5.2 dan Redis

  3. Opsi pencocokan perintah pemindaian redis tidak berfungsi dengan Python

  4. .NET Core menyuntikkan layanan singleton di layanan singleton lain

  5. Bagaimana saya bisa menghapus semua Instance tipe X di ServiceStack Redis Client