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

Redis lua kapan harus benar-benar menggunakannya?

Skrip Lua dimaksudkan untuk bekerja seperti MULTI perintah. Sebenarnya sebagian besar perintah yang akan Anda kembangkan menggunakan MULTI perintah dari klien Redis dapat diimplementasikan di Lua. Artinya, Anda dapat merangkum beberapa operasi kompleks dalam skrip dan lapisan data Anda akan melakukan operasi tulis atomik tanpa mengkhawatirkan strategi pemodelan data Anda di Redis.

Juga, saya menemukan mereka berguna ketika Anda ingin melakukan operasi membaca cepat tapi kompleks. Misalnya, Anda mungkin ingin mengurutkan objek. Objek disimpan dalam kunci hash sementara urutannya ditentukan oleh kunci set yang diurutkan . Anda mendapatkan rentang dari apa yang disebut set yang diurutkan dan Anda mendapatkan objek dalam hash menggunakan hmget .

Poin terpenting adalah skrip Lua harus mengimplementasikan hal-hal yang dapat dieksekusi secepat mungkin, karena Redis akan memblokir operasi lain saat skrip Lua sedang berjalan. Artinya, Anda perlu melakukan interupsi cepat atau kinerja Redis Anda secara keseluruhan akan sangat menurun.

Argumen untuk tidak menggunakan Lua

Saya berpendapat bahwa Anda harus menggunakannya ketika Anda benar-benar membutuhkannya. Biasanya, klien dikembangkan menggunakan bahasa pemrograman tingkat tinggi seperti C#, Java, JavaScript, Ruby... dan mereka memberikan pengalaman pengembangan yang lebih baik:debugger yang baik, IDE, penyelesaian kode...

Ringkasan:Anda harus menggunakannya jika Anda dapat membuktikan bahwa ada manfaat aktual (dalam kinerja) jika Anda mengubah beberapa bagian dari logika domain Anda menjadi skrip Redis Lua.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Bagaimana cara menerima acara kedaluwarsa Redis dengan simpul?

  2. Query Multi-Field di Redis Menggunakan Redis Spring

  3. Bagaimana cara men-deploy node.js dengan redis di kubernetes?

  4. JedisPoolConfig tidak dapat ditetapkan ke GenericObjectPoolConfig

  5. Klien C#/.NET untuk Redis