Redis
 sql >> Baza danych >  >> NoSQL >> Redis

Zaprojektuj tabelę bazy danych Redis, taką jak SQL?

Redis, podobnie jak inne magazyny danych NoSQL, ma inne wymagania w zależności od tego, co zamierzasz robić.

Redis ma kilka struktur danych, które mogą być przydatne w zależności od potrzeb. Na przykład, biorąc pod uwagę chęć select * from student where name = 'xxx' możesz użyć hash Redisa .

redis 127.0.0.1:6379> hmset student:xxx id 1 college nnn address xn
OK
redis 127.0.0.1:6379> hgetall student:xxx
1) "id"
2) "1"
3) "college"
4) "nnn"
5) "address"
6) "xn"

Jeśli masz inne zapytania, na przykład chcesz zrobić to samo, ale wybierz where college = 'nnn' wtedy będziesz musiał zdenormalizować swoje dane. Denormalizacja jest zwykle złą rzeczą w SQL, ale w NoSQL jest bardzo powszechna.

Jeśli Twoje podstawowe zapytanie będzie dotyczyło nazwy, ale może być konieczne zapytanie o uczelnię, możesz zrobić coś takiego jak dodanie set oprócz skrótów.

redis 127.0.0.1:6379> sadd college:nnn student:xxx
(integer) 1
redis 127.0.0.1:6379> smembers college:nnn
1) "student:xxx"

Mając dane o takiej strukturze, jeśli chcesz znaleźć wszystkie informacje o nazwiskach uczęszczających na studia xn, najpierw wybierz set , a następnie zaznacz każdy hash na podstawie nazwy zwróconej w set .

Twoje wymagania będą ogólnie wpływać na projekt i używane struktury.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Jak migrować dane Redis™ za pomocą Redis-Shake

  2. Nie można powiązać odbiornika TCP *:6379 przy użyciu Redis w systemie Windows

  3. Jedi, nie można uzyskać połączenia jedis:nie można uzyskać zasobów z puli

  4. Redis w klasycznym ASP (VBScript)

  5. Skonfiguruj limit czasu Jedis