Rumah  >  Artikel  >  pangkalan data  >  Bagaimana untuk menyelesaikan masalah penghapusan kelompok nilai utama dalam redis

Bagaimana untuk menyelesaikan masalah penghapusan kelompok nilai utama dalam redis

王林
王林ke hadapan
2023-05-31 08:59:001651semak imbas

Masalah yang dihadapi:

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.

Penyelesaian:

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

127.0.0.1:6379> set ujian1 1
OK
127.0.0.1:6379> set ujian2 2
OK
127.0.0.3:6 OK

Kunci pertanyaan

127.0.0.1:6379> ujian kekunci*

1) "test3"
2) "test2"
3 ) " test1"

Keluar dari redis dan laksanakan perintah padam secara setempat

[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) del

Pengetahuan 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 world

OK
127.0.0.1:6379> del hello
(integer) >
tetapi DEL hanya boleh memadamkan satu atau lebih, dan tidak boleh memadam dalam kelompok.

3 Kosongkan semua kekunci semasa dalam pustaka: flushdb

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!

Kenyataan:
Artikel ini dikembalikan pada:yisu.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam