2010-04-04 5 views
2

Je suis plutôt nouveau à Redis et avant de l'utiliser je voudrais apprendre quelques détails importants (comme pour moi) à ce sujet. Donc ....Redis - La taille des données peut-elle être supérieure à la taille de la mémoire?

Redis utilise RAM et HDD pour stocker des données. La RAM est utilisée comme stockage rapide en lecture/écriture, le disque dur est utilisé pour rendre ces données persistantes. Lorsque Redis est démarré, il charge toutes les données du disque dur vers la RAM ou il ne charge que des données souvent demandées à la RAM? Que faire si j'ai un stockage Redis de 500 Mo sur disque dur, mais je n'ai que 100 Mo ou RAM pour Redis. Où puis-je lire à ce sujet?

Merci

PS: Désolé pour mon anglais

Répondre

6

Redis charges tout en RAM. Toutes les données sont écrites sur le disque, mais ne seront lues que pour redémarrer le serveur ou effectuer une sauvegarde.

Il y a plusieurs façons de l'utiliser avec moins de RAM que de données. Vous pouvez le configurer en combinaison avec MySQL ou un autre magasin basé sur disque pour fonctionner comme memcached - vous gérez manuellement les échecs de cache et la persistance.

Redis dispose d'un mode VM dans lequel toutes les clés doivent entrer dans la RAM, mais les données auxquelles on accède rarement peuvent être sur le disque. Cependant, je ne suis pas sûr que ce soit dans les versions stables pour le moment.

+0

Très utile, mais d'où connaissez-vous le mode VM? Impossible de le trouver dans la documentation. Ou vous vérifiez le code source de nouvelles constructions? – Kirzilla

+2

http://antirez.com/post/redis-virtual-memory-story.html –

+3

Depuis ce post, Redis VM est obsolète et sera bientôt supprimé. –

1

Les versions récentes (> 2.0) se sont considérablement améliorées et la gestion de la mémoire est plus efficace. Voir cet article de blog qui explique comment utiliser les hachages pour optimiser l'empreinte de la mémoire RAM: http://antirez.com/post/redis-weekly-update-7.html