web-dev-qa-db-fra.com

Redis: possible d'expirer un élément dans un tableau ou un ensemble trié?

Est-il actuellement possible d'expirer uniquement une paire clé/valeur entière? Que faire si je souhaite ajouter des valeurs à une structure de type Liste et les faire supprimer automatiquement 1 heure après l'insertion. Est-ce actuellement possible ou faudrait-il exécuter une tâche cron pour effectuer la purge manuellement?

103
randombits

Est-il actuellement possible d'expirer uniquement une paire clé/valeur entière?

Pour autant que je sache, et également selon les commandes key et le document sur expiration , vous ne pouvez actuellement définir l'expiration que sur une clé spécifique et non sur sa structure de données sous-jacente. Cependant il y a discussion sur les groupes google sur cette fonctionnalité avec des solutions alternatives décrites.

66
yojimbo87

Il existe un schéma commun qui résout assez bien ce problème.

Utilisez des ensembles triés et utilisez un horodatage comme partition. Il est alors trivial de supprimer des éléments par plage de score, ce qui pourrait être fait périodiquement, ou uniquement à chaque écriture, les lectures ignorant toujours les éléments hors plage, en ne lisant qu'une plage de scores.

Plus ici: https://groups.google.com/forum/#!topic/redis-db/rXXMCLNkNSs

72
Adriaan Pelzer