Redis
 sql >> Database >  >> NoSQL >> Redis

TTL per un membro del set

No, questo non è possibile (e nemmeno pianificato). L'approccio consigliato consiste nell'utilizzare un set ordinato con il punteggio impostato su timestamp e quindi rimuovere manualmente le chiavi scadute. Per richiedere chiavi non scadute, puoi utilizzare ZRANGEBYSCORE $now +inf , per eliminare le chiavi scadute, ZREMRANGEBYSCORE -inf $now farà il trucco.

Nella mia applicazione, emetto semplicemente entrambi i comandi ogni volta che eseguo una query sul set. Lo combino anche con il tempo di scadenza (lungo) sul set stesso per eliminare eventualmente i set inutilizzati.

Questo articolo lo illustra in modo più dettagliato.