Redis
 sql >> Datenbank >  >> NoSQL >> Redis

TTL für ein Satzmitglied

Nein, das ist nicht möglich (und auch nicht geplant). Der empfohlene Ansatz besteht darin, einen geordneten Satz zu verwenden, bei dem die Punktzahl auf den Zeitstempel festgelegt ist, und dann abgelaufene Schlüssel manuell zu entfernen. Um nicht abgelaufene Schlüssel abzufragen, können Sie ZRANGEBYSCORE $now +inf verwenden , um abgelaufene Schlüssel zu löschen, ZREMRANGEBYSCORE -inf $now wird es tun.

In meiner Anwendung gebe ich einfach jedes Mal beide Befehle aus, wenn ich den Satz abfrage. Ich kombiniere dies auch mit einer (langen) Ablaufzeit auf dem Set selbst, um ungenutzte Sets eventuell zu löschen.

Dieser Artikel geht näher darauf ein.