Zastanawiam się, czy istnieje funkcja redis, która pozwala mi uzyskać wszystkie wygasłe klucze (mam na myśli jakieś wydarzenie, które daje mi możliwość odebrania wszystkich wygasłych rekordów). Celem tego jest zapisanie starych wartości w innej bazie danych. Słyszałem, że jest to możliwe dzięki mechanizmowi publikowania, ale Google nie może pomóc nam z tym pomysłem.Zdarzenie na klucz wygasa
Odpowiedz
Obecna wersja rozwojowa redis zawiera nową funkcję: powiadomienia o obszarach kluczowych. Dokumentacja: http://redis.io/topics/notifications
KEYSPACE powiadomień pozwala klientom do subskrypcji Pub/Sub kanałów w celu uzyskania zdarzeń mających wpływ na dane Redis określone w jakiś sposób.
Przykłady zdarzeń, które jest możliwe do otrzymania są następujące:
- Wszystkie polecenia wpływające na dany klucz.
- Wszystkie klawisze odbierające operację LPUSH.
- Wszystkie klucze wygasające w bazie 0.
Mamy nadzieję, że pozwoli on na stabilną wkrótce.
Przy okazji, nie będzie to zbyt pomocne przy zapisywaniu wartości wygasłych kluczy. Po uruchomieniu zdarzenia utraty ważności wartość już zniknęła.
Wbudowane wygasłe zdarzenie generowane przez powiadomienie o obszarze kluczy nie jest dokładne. Zobacz ostatni odcinek http://redis.io/topics/notifications
Keys z czas życia są związane wygasł przez Redis na dwa sposoby:
Gdy klucz jest używany przez polecenia i znajduje się wygasły.
poprzez system, który wygląda na tle przeterminowanych kluczy w tle, stopniowo, aby móc także zbierać klucze, które nigdy nie są dostępne.
W przeterminowane zdarzenia są generowane gdy klawisz jest dostępny i znajduje się ważność przez jeden z powyższych systemów, wskutek tam ma gwarancji, że serwer Redis będzie w stanie wygenerować wydarzenie, które wygasło w momencie, gdy kluczowy czas życia osiągnie wartość zerową: . Jeśli żadne polecenie nie jest ustawione na klucz w sposób ciągły i istnieje wiele kluczy z powiązanym TTL, może wystąpić znaczące opóźnienie między , gdy czas kluczowania do życia spadnie do zera, a czasem wygasłby zdarzenie .
Aby w pełni zaimplementować zdarzenie wygaśnięcia, być może trzeba będzie je wdrożyć samodzielnie. Na przykład za pomocą posortowanej listy (lub drzewa AVL) posortowanej według czasu wygaśnięcia i nieprzerwanie czytając ogon listy (odznacz). Jeśli czytelnik stwierdzi, że czas wygaśnięcia nie został osiągnięty, śpi (czas wygaśnięcia - teraz). W ten sposób dokładność można kontrolować w ciągu 10 sekund.
Użyj redis-scheduler
.
Możesz go znaleźć here
- 1. Znacznik META "wygasa"
- 2. Sesja Laravel wygasa losowo
- 3. Mojolicia sesja nie wygasa
- 4. nagłówka wygasa pracy
- 5. Wygasa nagłówki w AppHarbor
- 6. Wygasa nagłówki nie działają
- 7. Pamięć podręczna railsów wygasa
- 8. FormsAuthenticationTicket wygasa zbyt wcześnie
- 9. Json web tokenu nie wygasa
- 10. Czy identyfikator rejestracji GCM wygasa?
- 11. Lista z timeout/wygasa zdolność
- 12. Jak mogę uruchomić zdarzenie keyup i przekazać klucz?
- 13. Keycode na zdarzenie keydown
- 14. Klucz SSH na dreamhost
- 15. Co się stanie, gdy wygasa profil udostępniania?
- 16. Wystąpienie pożaru, gdy sesja reCAPTCHA wygasa
- 17. Czy wygasa token dostępu do Twittera?
- 18. Nagłówek wygasa w plikach javascript nie działa
- 19. użytkownika, oauth_token wygasa brakuje Facebook signed_request
- 20. Kod Visual Studio (vscode) - Licencja wygasa?
- 21. .ASPXAUTH Cookie wygasa z końcem sesji
- 22. Dlaczego odświeżanie tokenów wygasa po 14 dniach
- 23. Zdarzenie JavaScript na stronie odsyłającej
- 24. zdarzenie jQuery na zmianę atrybutu
- 25. Blokowanie i oczekiwanie na zdarzenie
- 26. Zdarzenie myszy na przezroczystym tle
- 27. Zdarzenie keydown na elemencie iframe
- 28. Oczekiwanie na zdarzenie do wykonania
- 29. Zdarzenie Fire na klawisz Enter naciśnij pole tekstowe
- 30. Jak przekonwertować klucz prywatny na klucz prywatny RSA?
to nie to samo, co link powyższego komentarza. ta dotyczy sesji. ten post dotyczy zmiennych kluczy. – akonsu