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

Cara Mengganti Nama Banyak Kunci di Redis

Redis tidak menawarkan perintah untuk mengganti nama kunci secara massal di redis. Tetapi cukup mudah untuk membuat skrip menggunakan redis-cli dan beberapa alat baris perintah.


Perintah ini akan mengganti nama kunci yang cocok dengan pengguna:* menjadi pelanggan*:

Bagaimana Skrip Bekerja?

  1. Pertama, kita menggunakan redis-cli --scan --pattern <pattern> untuk mendapatkan daftar kunci yang harus diganti namanya. Karena kita menggunakan perintah scan, ini tidak memblokir server redis.
  2. Selanjutnya, kita menggunakan awk untuk melakukan substitusi string dan menghasilkan nama baru. Ini adalah gsub(/users/,"customers", new_key) dalam perintah bash
  3. Selanjutnya, kita gunakan perintah generate rename <old key> <new key> , tetapi untuk membuatnya efisien, kami membuatnya dalam format protokol redis.
  4. Akhirnya, kita menyalurkan protokol redis ke redis-cli dengan --pipe pilihan. Ini adalah cara paling efisien untuk mengirim aliran perintah ke server redis.

Menyesuaikan Skrip ini

  1. Jika server redis Anda tidak ada di localhost, Anda harus memberikan host, port, dan sandi dua kali dalam perintah, pada dasarnya setiap kali Anda memanggil redis-cli.
  2. Anda harus mengganti pola pemindaian dan panggilan gsub untuk memenuhi kebutuhan Anda.

Lihat Juga

  • Ganti Nama Bidang dalam Hash
  • Setel Kedaluwarsa ke Beberapa Kunci
  • Hapus Tombol yang Cocok dengan Pola
  • RDBTools GUI for Redis memungkinkan Anda melihat pratinjau tindakan massal Anda dan menyediakan GUI yang kuat untuk mengelola data di Redis. Ini dapat diunduh gratis!

  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Redis lua kapan harus benar-benar menggunakannya?

  2. Basis data noSQL mana yang terbaik untuk penyisipan/penulisan volume tinggi?

  3. Bagaimana cara terhubung ke instance cluster Docker Redis menggunakan jedis untuk Java?

  4. Java mengonversi byte ke string aman biner

  5. Bagaimana memulihkan data redis dari snapshot (file rdb) yang disalin dari komputer lain?