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

Redis - Menggunakan nilai Inc dalam transaksi

Jawaban yang diterima di atas tidak perlu rumit. Anda tidak perlu menggunakan multi atau jam tangan dalam keadaan ini. INCR sudah atomik, dan dirancang untuk skenario yang tepat ini. Sunting:Terima kasih kepada Itamar Haber &jubah007 untuk mengubah jawaban yang diterima. :)

Anda cukup melakukan ini:

var name = 'Josh';
client.incr('id', function(err, id) {
    client.hmset('user:' + id, 'username', name);
});

Dengan melakukan hal di atas, INCR secara otomatis mengunci kunci "id", menambahkannya untuk Anda, membukanya, dan mengembalikannya kepada Anda. Dengan demikian, tidak ada cara bagi siapa pun untuk mendapatkan id pengguna duplikat menggunakan kode di atas. Ini juga memiliki keuntungan karena tidak pernah benar-benar bisa gagal, tidak seperti WATCH/GET, di mana Anda harus memeriksa kegagalan dan menjalankan kueri Anda lagi jika gagal.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Menginstal dan Mengonfigurasi Redis di Ubuntu

  2. Tidak ada tanggapan setelah terhubung dari seledri ke redis melalui ssl

  3. Migrasi data dengan Redis

  4. Menghentikan interaksi Redis dalam javascript menggunakan Sinon

  5. Redis memasukkan rusak, atau menyortir dengan aneh?