Maison  >  Article  >  développement back-end  >  Exemple d'analyse de l'utilisation de l'analyse de php redis

Exemple d'analyse de l'utilisation de l'analyse de php redis

藏色散人
藏色散人avant
2021-12-08 14:46:263856parcourir

Lors de la suppression du cache, nous devons le supprimer par lots dans certains scénarios, mais nous ne sommes pas sûrs de la valeur de clé spécifique. Nous pouvons l'interroger via la correspondance, puis le supprimer.

Mais l'utilisation de clés entraînera le crash du serveur Redis. A utiliser avec prudence. . .

Les entreprises générales désactiveront également les commandes sensibles telles que les touches. [Recommandations associées : Tutoriel vidéo Redis]

La commande scan est donc utilisée pour effectuer des requêtes correspondantes au travail

SCAN cursor [MATCH pattern] [COUNT count]

Par exemple

# 从游标 0 开始扫描 匹配 test1:* 的键值,一次扫描1000条
scan 0 match test1:* count 1000

Exemple danalyse de lutilisation de lanalyse de php redis

1) 表示下一次扫描的游标值 ,命令行显示的是字符串类型的。
2)表示本次扫描匹配到的键值列表

Comment l'implémenter en utilisant du code php, donnez un exemple

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;
}

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer