Ik raad je aan hierover te lezen op http://redis.io/topics/persistence. In feite verliest u de gegarandeerde persistentie wanneer u de prestaties verhoogt door alleen in-memory-opslag te gebruiken. Stelt u zich een scenario voor waarin u in het geheugen INSERT, maar voordat het op de schijf wordt opgeslagen, verliest u stroom. Er zal gegevensverlies zijn.
Redis ondersteunt zogenaamde "snapshots". Dit betekent dat het op sommige momenten (bijvoorbeeld elk heel uur) een volledige kopie maakt van wat er in het geheugen staat. Wanneer je de stroom uitvalt tussen twee snapshots, verlies je de data van de tijd tussen de laatste snapshot en de crash (hoeft geen stroomstoring te zijn..). Redis verhandelt dataveiligheid versus prestatie, zoals de meeste NoSQL-DB's doen.
De meeste NoSQL-databases volgen een concept van replicatie tussen meerdere knooppunten om dit risico te minimaliseren. Redis wordt meer als een snelle cache beschouwd dan als een database die gegevensconsistentie garandeert. Daarom verschillen de gebruiksscenario's meestal van die van echte databases:u kunt bijvoorbeeld sessies, prestatiemeteritems of wat dan ook opslaan met ongeëvenaarde prestaties en geen echt verlies in geval van een crash. Maar het verwerken van bestellingen/aankoopgeschiedenissen enzovoort wordt beschouwd als een taak voor traditionele databases.