Redis, stejně jako ostatní datová úložiště NoSQL, má různé požadavky podle toho, co budete dělat.
Redis má několik datových struktur, které mohou být užitečné v závislosti na vašich potřebách. Například, vzhledem k vaší touze po select * from student where name = 'xxx'
můžete použít hash
Redis .
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"
Pokud však máte další dotazy, chcete udělat totéž, ale vyberte where college = 'nnn'
pak budete muset denormalizovat svá data. Denormalizace je v SQL obvykle špatná věc, ale v NoSQL je velmi běžná.
Pokud bude váš primární dotaz směřovat proti jménu, ale možná se budete muset zeptat na vysokou školu, můžete udělat něco jako přidání set
kromě hashů.
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"
Pokud jsou vaše data strukturována takto, pokud byste chtěli najít všechny informace o jménech, která jdou na vysokou školu xn, nejprve byste vybrali set
a poté vyberte každý hash
na základě názvu vráceného v set
.
Vaše požadavky budou obecně určovat design a struktury, které používáte.