Redis
 sql >> Baza danych >  >> NoSQL >> Redis

moje klucze redis nie wygasają

Ponieważ robisz „...”, trudno powiedzieć na pewno, ale powiedziałbym, że ustawiasz mój klucz podczas tej części, co skutecznie usunie wygaśnięcie.

Z instrukcji EXPIRE

Limit czasu jest kasowany tylko wtedy, gdy klucz zostanie usunięty za pomocą polecenia DEL lub nadpisany za pomocą poleceń SET lub GETSET

Również w odniesieniu do odpowiedzi -1 z TTL

Wartość zwrotu

Odpowiedź całkowita:TTL w sekundach lub -1, gdy klucz nie istnieje lub nie ma limitu czasu.

EDYTUJ:Zwróć uwagę, że to zachowanie zmieniło się w Redis 2.8

Począwszy od Redis 2.8, wartość zwracana w przypadku błędu uległa zmianie:
Polecenie zwraca -2, jeśli klucz nie istnieje.
Polecenie zwraca -1, jeśli klucz istnieje, ale nie ma skojarzonego z nim wygaśnięcia.

Innymi słowy, jeśli Twój klucz istnieje, wydaje się, że jest trwały, tj. nie ma ustawionego wygaśnięcia.

EDYCJA:Wygląda na to, że mogę to odtworzyć, jeśli stworzę klucz na serwerze podrzędnym REDIS, urządzenie podrzędne nie usunie klucza bez wejścia głównego, ponieważ normalnie nie utworzysz kluczy lokalnie na serwerze podrzędnym. Czy tak jest w tym przypadku?

Jednakże, podczas gdy urządzenia podrzędne podłączone do urządzenia nadrzędnego nie wygasną niezależnie od kluczy (ale będą czekać na DEL przychodzące od urządzenia nadrzędnego), nadal przejmą pełny stan wygaśnięcia istniejącego w zbiorze danych, więc gdy urządzenie podrzędne zostanie wybrane jako nadrzędne, będzie mógł wygasać klucze niezależnie, działając w pełni jako master.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. jak przenieść dane z mysql do redis

  2. Agregacja Redisearch zwraca 5 pierwszych z każdej grupy

  3. Redis — posortowany zestaw, znajdź przedmiot według wartości właściwości

  4. Co to jest rozproszona blokada Atomic w sterownikach pamięci podręcznych?

  5. Dlaczego Travis nie może się połączyć, użyj Redis cache_store podczas wdrażania do Heroku?