Patrząc na ten przykład http://redis.io/topics/twitter-clone, gdzie zapisy użytkownika są przechowywane za pomocą skrótu ("uid: 1000") i "tweety" są przechowywane przez klucz hash ("post: 60"), oznacza to, że wszystkie te zapisy są przechowywane w tej samej strukturze danych i dodanie tweetów wpłynie na czas pobierania rekordów użytkownika?W Redis wszystkie klucze hash przechowywane są w tej samej "tabeli"? a jeśli tak, w jaki sposób wpływa na wydajność?
7
A
Odpowiedz
11
Tak, użytkownicy i tweety są przechowywane w tej samej strukturze danych. Ta struktura danych to hash table.
Wewnętrznie Redis nie ma pojęcia o typach rekordów. Jeśli chodzi o Redis, to User:1000
i Post:60
są po prostu ciągiem bajtów. Tak, tak, Redis przechowuje wszystkie rekordy w tej samej strukturze danych.
Ponieważ Redis nie rozróżnia Tweets i użytkowników, czasy reakcji dla obu typów rekordów będą podobne.
Wszystko sprowadza się zatem do pytania - czy skala wydajności Redisa mieści się w liczbie rekordów?
Odpowiedź brzmi: TAK, tak. Dopóki masz pamięć do przechowywania wszystkich danych, wydajność Redis nie powinna zależeć od liczby rekordów.
redis to zaawansowany magazyn wartości kluczy. dlatego nie przechowuje danych takich jak rdbms w "tabelach". zamiast tego przechowuje każdy klucz pod danym numerem/wpisem z danymi, które zawiera. – Hajo
dokładnie i dlatego w tytule znajdują się średniki otaczające tabelę. – user971956