Apabila memadamkan cache, kami perlu memadamkannya secara berkelompok dalam beberapa senario, tetapi kami tidak pasti nilai kunci tertentu Kami boleh menanyakannya melalui pemadanan dan kemudian memadamkannya.
Tetapi menggunakan kekunci akan menyebabkan pelayan redis ranap. Gunakan dengan berhati-hati. . .
Syarikat am juga akan melumpuhkan arahan sensitif seperti kunci. [Cadangan berkaitan: Tutorial video Redis]
Jadi arahan imbasan digunakan untuk melaksanakan pertanyaan yang sepadan di tempat kerja
SCAN cursor [MATCH pattern] [COUNT count]
Sebagai contoh
# 从游标 0 开始扫描 匹配 test1:* 的键值,一次扫描1000条 scan 0 match test1:* count 1000
1) 表示下一次扫描的游标值 ,命令行显示的是字符串类型的。 2)表示本次扫描匹配到的键值列表
Bagaimana untuk melaksanakannya menggunakan kod php, berikan contoh
function getKeysByPattern($pattern) { $keysList = []; while(true){ //@todo 这里的client替换为自己的redis客户端对象 $keys = $client->scan($iterator, $pattern,1000); $keysList = array_merge($keysList, $keys??[]); if ($iterator === 0) {//迭代结束,未找到匹配pattern的key break; } if ($iterator === null) {//"游标为null了,重置为0,继续扫描" $iterator = "0"; } } $keysList = array_unique($keysList); return keysList; }
Atas ialah kandungan terperinci Contoh analisis penggunaan imbasan php redis. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!