Redis е дистанционно сървър за структура на данни. Със сигурност е по-бавно от простото съхраняване на данните в локалната памет (тъй като включва обръщане на сокета за извличане/съхранение на данните). Той обаче носи и някои интересни свойства:
-
Redis може да бъде достъпен от всички процеси на вашите приложения, вероятно работещи на няколко възли (нещо, което локалната памет не може да постигне).
-
Съхранението на паметта на Redis е доста ефективно и се извършва в отделен процес. Ако приложението работи на платформа, чиято памет се събира боклук (node.js, java и т.н. ...), то позволява работа с много по-голям кеш/магазин на паметта. На практика много големите купчини не се представят добре с езици за събиране на боклук.
-
Redis може да запази данните на диска, ако е необходимо.
-
Redis е малко повече от обикновен кеш:предоставя различни структури от данни, различни политики за изгонване на артикули, блокиране на опашки, pub/sub, атомарност, Lua скриптове и т.н...
-
Redis може да репликира своята дейност с механизъм главен/подчинен, за да приложи висока достъпност.
По принцип, ако имате нужда приложението ви да мащабира на няколко възли, споделящи едни и същи данни, тогава ще е необходимо нещо като Redis (или друго отдалечено хранилище за ключ/стойност).