Redis
 sql >> Teknologi Basis Data >  >> NoSQL >> Redis

tetapkan kedaluwarsa untuk nilai Hashmap di Redis?

Tidak, Anda tidak dapat membuat hash dengan SETEX (yang merupakan metode string). Anda dapat menghubungi EXPIRE pada kunci hash, tetapi itu akan kedaluwarsa seluruh hash. Saat ini tidak ada dukungan untuk kedaluwarsa masing-masing pasangan kunci/nilai hash.

Pembaruan:

Jika Anda ingin menetapkan kedaluwarsa pada seluruh hash sambil menyetel elemen individualnya, Anda dapat mencapainya dengan beberapa cara.

  1. Gunakan perpipaan. Pipelining adalah mode operasi khusus di mana klien redis mengeluarkan beberapa perintah secara berurutan, tidak menunggu balasan untuk dikirim berikutnya. Berikut ini contoh di ruby:

    redis.pipelined do
      redis.hset "foo", "bar", 1
      redis.expire "foo", 300
    end
    
  2. Gunakan transaksi. Tanpa kunci yang diawasi ini mirip dengan pipelining (untuk transaksi tidak dapat dibatalkan). Perintah-perintah tersebut dijamin untuk dijalankan bersama-sama dan secara atomik (beberapa pipeline dapat dijalankan secara interleaved, transaksi diserialisasi)

    redis.multi do
      redis.hset "foo", "bar", 1
      redis.expire "foo", 300
    end
    
  3. Gunakan skrip lua untuk mengimplementasikan perintah HSETEX kustom Anda. Ini akan dieksekusi secara atom dan Anda hanya perlu mengirim satu perintah (bukan 2(pipelining) atau 4 (transaksi)).




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Mengapa Redis SortedSet menggunakan Skip List daripada Balanced Tree?

  2. Berapa batas waktu sesi default dan bagaimana mengonfigurasinya saat menggunakan Sesi Musim Semi dengan Redis sebagai backend

  3. Gunakan redis untuk membangun obrolan waktu nyata dengan socket.io dan NodeJs

  4. Konfigurasikan batas waktu Jedis

  5. Bagaimana cara mendefinisikan TTL untuk aliran redis?