Nee, u kunt geen hash maken met SETEX
(wat een strings-methode is). U kunt EXPIRE
. bellen op hash-sleutel, maar daarmee vervalt de hele hash. Er is momenteel geen ondersteuning voor het verlopen van individuele hash-sleutel/waarde-paren.
Bijwerken:
Als je de vervaldatum van de hele hash wilt instellen terwijl je de afzonderlijke elementen instelt, kun je dat op verschillende manieren bereiken.
-
Gebruik pijplijnen. Pipelining is een speciale manier van werken waarbij de redis-client verschillende opdrachten snel achter elkaar uitgeeft en niet wacht op een antwoord om de volgende te verzenden. Hier is een voorbeeld in robijn:
redis.pipelined do redis.hset "foo", "bar", 1 redis.expire "foo", 300 end
-
Gebruik transacties. Zonder bewaakte sleutels is dit vergelijkbaar met pipelining (want een transactie kan niet worden afgebroken). De commando's lopen gegarandeerd samen en atomair (meerdere pijplijnen kunnen afwisselend worden uitgevoerd, transacties zijn geserialiseerd)
redis.multi do redis.hset "foo", "bar", 1 redis.expire "foo", 300 end
-
Gebruik lua-scripting om uw aangepaste HSETEX-opdracht te implementeren. Het wordt atomair uitgevoerd en je hoeft maar één commando te sturen (in plaats van 2(pipelining) of 4 (transactie)).