Nej, du kan ikke oprette hash med SETEX
(som er en strenge metoder). Du kan kalde EXPIRE
på hash-nøgle, men det vil udløbe hele hashen. Der er ingen støtte i øjeblikket for udløb af individuelle hash-nøgle/værdi-par.
Opdatering:
Hvis du ønskede at indstille udløb på hele hashen, mens du indstillede dens individuelle elementer, kan du opnå det på flere måder.
-
Brug pipelining. Pipelining er en speciel funktionsmåde, hvor redis-klienten udsteder flere kommandoer hurtigt efter hinanden, uden at vente på et svar, der skal sendes næste gang. Her er et eksempel i rubin:
redis.pipelined do redis.hset "foo", "bar", 1 redis.expire "foo", 300 end
-
Brug transaktioner. Uden overvågede nøgler ligner dette pipelining (for en transaktion kan ikke afbrydes). Kommandoerne er garanteret at køre sammen og atomært (flere pipelines kan køre sammenflettet, transaktioner serialiseres)
redis.multi do redis.hset "foo", "bar", 1 redis.expire "foo", 300 end
-
Brug lua scripting til at implementere din tilpassede HSETEX-kommando. Det vil blive udført atomisk, og du skal bare sende en kommando (i stedet for 2 (pipelining) eller 4 (transaktion)).