Je vous suggère de lire à ce sujet sur http://redis.io/topics/persistence . Fondamentalement, vous perdez la persistance garantie lorsque vous augmentez les performances en utilisant uniquement le stockage en mémoire. Imaginez un scénario dans lequel vous INSÉREZ dans la mémoire, mais avant qu'il ne soit persisté sur le disque, vous perdez de l'énergie. Il y aura une perte de données.
Redis prend en charge ce que l'on appelle les "instantanés". Cela signifie qu'il fera une copie complète de ce qui est en mémoire à certains moments (par exemple, toutes les heures). Lorsque vous perdez de l'énergie entre deux instantanés, vous perdrez les données entre le dernier instantané et le crash (ce n'est pas forcément une panne de courant..). Redis échange la sécurité des données contre les performances, comme le font la plupart des bases de données NoSQL.
La plupart des bases de données NoSQL suivent un concept de réplication entre plusieurs nœuds pour minimiser ce risque. Redis est davantage considéré comme un cache rapide que comme une base de données garantissant la cohérence des données. Par conséquent, ses cas d'utilisation diffèrent généralement de ceux des bases de données réelles :vous pouvez, par exemple, stocker des sessions, des compteurs de performances ou quoi que ce soit d'autre avec des performances inégalées et sans réelle perte en cas de plantage. Mais le traitement des commandes/historiques d'achats, etc. est considéré comme un travail pour les bases de données traditionnelles.