sql >> Database teknologi >  >> NoSQL >> Redis

redis til logning

Du skal huske på, at Redis er en database i hukommelsen (selvom den kan bevare dataene på disken). De data, du lægger i Redis, skal passe i hukommelsen.

Forslaget i artiklen du nævner handler om at bruge Redis som et distribueret køsystem. Arbejdsprocesser sætter emnerne i kø og skriver dem til disk, så der er ikke så mange emner i Redis-hukommelsen. Dette design har en fejl:hvis arbejdsprocesserne ikke kan skrive dataene hurtigt nok til disken, vil Redis hukommelsesforbrug eksplodere - så det skal begrænses af konfiguration (Redis maxmemory parameter) eller software (trim køen ved indsættelsestidspunktet, eller tom køen, når den er fuld).

Nu virker dit forslag ikke rigtigt, da alle de data, du skriver i Redis, vil blive gemt i hukommelsen (selvom de bliver lagret på disken af ​​Redis selv).

Et andet punkt er, at du ikke kan forespørge Redis. Redis er ikke en relationel database, den understøtter ingen ad-hoc-forespørgselsmekanisme, kun kommandoer, der involverer tidligere definerede adgangsstier. Hvis du ønsker at søge data med forskellige parametre, skal du forudse alle mulige søgninger og opbygge de relevante datastrukturer (sæt, sorterede sæt osv...) på indsættelsestidspunktet.

En anden butik (MongoDB eller en relationsdatabase) vil sandsynligvis være en meget bedre egnet til dit brugssag.



  1. Sådan installeres MongoDB på Windows System?

  2. mongodb nodejs - konvertering af cirkulær struktur

  3. Asynkron programmeringsparadigme med nodejs og redis-node

  4. Sådan får du dagen, måneden og året fra en dato i SQL