Rumah >pangkalan data >Redis >Bagaimana untuk menyelesaikan masalah penghapusan kelompok nilai utama dalam redis
Semasa proses pembangunan, anda akan menghadapi kunci yang perlu dipadamkan secara berkelompok mengikut peraturan tertentu, seperti login_logID (ID ialah pembolehubah Sekarang anda perlu memadamkan kunci seperti Data "login_log*", tetapi redis itu sendiri hanya mempunyai kekunci arahan untuk menanyakan nilai kunci kelas dalam kelompok, tetapi tidak ada arahan untuk memadam kelas tertentu dalam kelompok.
Pertanyaan dahulu, kemudian padam, gunakan xargs untuk menghantar parameter (xargs boleh menukar paip atau data input standard (stdin) kepada parameter baris arahan), laksanakan pernyataan pertanyaan dahulu, dan kemudian padam Padamkan nilai kunci yang ditanya dan parameter del asal.
redis-cli KEYS key* (查找条件) | xargs redis-cli del
=>[Hasil yang dikembalikan selepas pelaksanaan mempengaruhi kuantiti]: (integer) 10[Kuantiti 10]
Sebagai percubaan, mula-mula buat tiga nilai utama dari jenis yang sama
Kunci pertanyaan127.0.0.1:6379> set ujian1 1
OK
127.0.0.1:6379> set ujian2 2
OK
127.0.0.3:6 OK
127.0.0.1:6379> ujian kekunci*Keluar dari redis dan laksanakan perintah padam secara setempat1) "test3"
2) "test2"
3 ) " test1"
[root@localhost redis]# redis-cli -a 密码 -n 0(数据库) keys "test*" |xargs redis-cli -a 密码 -n 0(数据库) del Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe. Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe. (integer) 3 (返回行数)Analisis prinsip:
Arahan ini mula-mula melaksanakan perintah kekunci melalui klien redis dan kabur mencari semua kekunci, melalui arahan xargs, gunakan kunci yang ditanya sebelum ini sebagai input arahan redis del berikutnya
yang bersamaan dengan melaksanakan redis-cli del test1 test2 test3
Nota: syarat redis perlu dibawa apabila melaksanakan di sini , -a adalah untuk memasukkan kata laluan, -n adalah untuk menentukan pangkalan data, jika redis bukan tempatan atau terdapat perubahan lain, anda perlu menambah -h redis server ip, -p port contohnya
redis-cli -h 127.0.0.1 (alamat IP) -p 6379 (nombor port) -a Kata Laluan -n 1 (Tulis data dalam pangkalan data) Kekunci KEYS* (syarat carian ) |. xargs redis-cli ( -h (alamat IP) -p 6379 (nombor port) -kata laluan -n 1) delPengetahuan tambahan: Pemadaman dalam redis
1.Redis DEL Perintah digunakan untuk memadam kekunci yang tidak ada akan diabaikan.
Contohnya:
127.0.0.1:6379> tetapkan hello worldOK
3 Kosongkan semua kekunci semasa dalam pustaka: flushdb
127.0.0.1:6379> del hello
(integer) >
tetapi DEL hanya boleh memadamkan satu atau lebih, dan tidak boleh memadam dalam kelompok.
Atas ialah kandungan terperinci Bagaimana untuk menyelesaikan masalah penghapusan kelompok nilai utama dalam redis. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!