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

Redis, bagaimana cara meningkatkan semua skor zset dengan ZINCRBY?

Tidak ada perintah untuk itu, ZINCRBY hanya dapat bertambah untuk 1 anggota dalam satu waktu. Jadi jika Anda ingin menyelesaikan ini dengan cara yang atomik dan cepat, Anda perlu melakukan skrip Lua. Yang seharusnya terlihat seperti ini (pertama Anda mendapatkan semua anggota dari set yang diurutkan dan kemudian mengulanginya dan menambah skor):

local zsetMembers = redis.call('zrange', KEYS[1], '0', '-1') 
for k,member in pairs(zsetMembers) do 
  redis.call('zincrby', KEYS[1], 1, member) 
end

Dan Anda dapat mendorong skrip ini ke Redis dengan EVAL perintah.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Gunakan Redis untuk menghasilkan ID unik dari jangkauan terbatas

  2. Redis Hash Pagination

  3. Menulis kueri untuk menambahkan beberapa nilai ke kunci di REDIS Hash?

  4. Penyerapan massal ke Redis

  5. Tombol redis berfungsi untuk mencocokkan dengan beberapa pola