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

Skrip redis lua tidak berfungsi

Tanggapan terhadap redis.call kembali sebagai tabel yang terlihat seperti ini:{"ok": "string"} (jika tipenya adalah string tentunya)

Jadi untuk memeriksa dengan benar, Anda harus mengubah kode Anda menjadi:

local keyType = redis.call("TYPE", KEYS[1]).ok

dan kode lainnya akan berfungsi dengan baik.

Masalahnya adalah ini:perintah TYPE adalah salah satu dari sedikit perintah yang mengembalikan balasan redis "string sederhana" atau "status" (lihat spesifikasi protokol redis untuk jenis respons). Dalam dokumentasi redis lua disebutkan bahwa:

Balasan status redis -> Tabel Lua dengan satu bidang ok yang berisi status

Itulah yang terjadi di sini.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Node.js, (Hai) Redis dan perintah multi

  2. Cara Memperbaiki Slot Hash Miring di Redis

  3. Bagaimana cara menjalankan Redis di Amazon OpsWorks untuk aplikasi Rails?

  4. Cara hemat memori untuk menyimpan bilangan bulat bertanda 32 bit di Redis

  5. Kesalahan bidang pada objek 'target' pada bidang '':nilai ditolak []; kode [typeMismatch.target.,typeMismatch.,typeMismatch.java.util.Date,typeMismatch]