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

ustawić wygaśnięcie wartości Hashmap w Redis?

Nie, nie możesz tworzyć skrótu za pomocą SETEX (co jest metodami ciągów). Możesz zadzwonić do EXPIRE na kluczu skrótu, ale wygaśnie cały skrót. W tej chwili nie ma obsługi wygaśnięcia poszczególnych par klucz/wartość skrótu.

Aktualizacja:

Jeśli chciałbyś ustawić wygaśnięcie całego hasha podczas ustawiania jego poszczególnych elementów, możesz to osiągnąć na kilka sposobów.

  1. Użyj potoku. Pipelining to specjalny tryb działania, w którym klient redis wydaje kilka poleceń w krótkim odstępie czasu, nie czekając na odpowiedź w celu wysłania następnej. Oto przykład w ruby:

    redis.pipelined do
      redis.hset "foo", "bar", 1
      redis.expire "foo", 300
    end
    
  2. Użyj transakcji. Bez obserwowanych kluczy jest to podobne do pipeliningu (transakcja nie może zostać przerwana). Gwarantuje się, że polecenia będą działać razem i niepodzielnie (kilka potoków może działać z przeplotem, transakcje są serializowane)

    redis.multi do
      redis.hset "foo", "bar", 1
      redis.expire "foo", 300
    end
    
  3. Użyj skryptów lua, aby zaimplementować niestandardowe polecenie HSETEX. Zostanie on wykonany niepodzielnie i wystarczy wysłać jedno polecenie (zamiast 2 (potokowanie) lub 4 (transakcja)).




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Funkcja transmisji socket.io i architektura Redis pub/sub

  2. Wystąpił błąd połączenia podczas używania redis-trib.rb do tworzenia klastra?

  3. Strażnik Redis

  4. Stackexchange.Redis dlaczego ConnectionMultiplexer.Connect nawiązuje dwa połączenia klientów?

  5. Jak ustawić limit czasu odczytu na kliencie redis węzła?