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

bagaimana memiliki hubungan banyak ke banyak di redis

Dengan Redis, hubungan biasanya diwakili oleh set. Himpunan dapat digunakan untuk mewakili hubungan satu arah, jadi Anda memerlukan satu himpunan per objek untuk mewakili hubungan banyak ke banyak.

Sangat tidak berguna untuk mencoba membandingkan model database relasional dengan struktur Redisdata. Dengan Redis, semuanya disimpan dengan cara yang didenormalisasi. Contoh:

# Here are my categories
> hset category:1 name cinema  ... more fields ...
> hset category:2 name music   ... more fields ...
> hset category:3 name sports  ... more fields ...
> hset category:4 name nature  ... more fields ...

# Here are my users
> hset user:1 name Jack   ... more fields ...
> hset user:2 name John   ... more fields ...
> hset user:3 name Julia  ... more fields ...

# Let's establish the many-to-many relationship
# Jack likes cinema and sports
# John likes music and nature
# Julia likes cinema, music and nature

# For each category, we keep a set of reference on the users
> sadd category:1:users 1 3
> sadd category:2:users 2 3
> sadd category:3:users 1
> sadd category:4:users 2 3

# For each user, we keep a set of reference on the categories
> sadd user:1:categories 1 3
> sadd user:2:categories 2 4
> sadd user:3:categories 1 2 4

Setelah kita memiliki struktur data ini, mudah untuk menanyakannya menggunakan aljabar himpunan:

# Categories of Julia
> smembers user:3:categories
1) "1"
2) "2"
3) "4"

# Users interested by music
> smembers category:2:users
1) "2"
2) "3"

# Users interested by both music and cinema
> sinter category:1:users category:2:users
1) "3"


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Perbedaan antara StackExchange.Redis dan ServiceStack.Redis

  2. dial tcp [::1]:6397:connectex:Tidak ada koneksi yang dapat dibuat karena mesin target secara aktif menolaknya

  3. Cara mengatur/mendapatkan kerangka data Pandas ke Redis menggunakan pyarrow

  4. Redis vs. MongoDB:Membandingkan Database Dalam Memori dengan Percona Memory Engine

  5. Cara memisahkan database redis untuk dua aplikasi yang sama di node.js