sql >> Database teknologi >  >> NoSQL >> Redis

indstille udløb for Hashmap-værdier i Redis?

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.

  1. 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
    
  2. 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
    
  3. 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)).




  1. NoSQL-datastreaming med MongoDB &Kafka

  2. Hvordan tæller man antallet af nøgler, der matcher et mønster?

  3. Redis-forbindelse/bufferstørrelsesgrænse overskredet

  4. Klon en samling i MongoDB