Redis är en fjärrkontroll datastrukturserver. Det är verkligen långsammare än att bara lagra data i lokalt minne (eftersom det innebär socket-rundturer för att hämta/lagra data). Men det ger också några intressanta egenskaper:
-
Redis kan nås av alla processer i dina applikationer, eventuellt körs på flera noder (något lokalt minne inte kan uppnå).
-
Redis minneslagring är ganska effektiv och görs i en separat process. Om applikationen körs på en plattform vars minne är skräpsamlat (node.js, java, etc ...), tillåter det att hantera en mycket större minnescache/butik. I praktiken fungerar mycket stora högar inte bra med sopsamlade språk.
-
Redis kan bevara data på disk om det behövs.
-
Redis är lite mer än en enkel cache:den tillhandahåller olika datastrukturer, olika policyer för vräkning av föremål, blockeringsköer, pub/sub, atomicitet, Lua-skript, etc ...
-
Redis kan replikera sin aktivitet med en master/slave-mekanism för att implementera hög tillgänglighet.
I grund och botten, om du behöver din applikation för att skala på flera noder som delar samma data, kommer något som Redis (eller någon annan fjärrnyckel/värdelagring) att krävas.