php redis的scan用法实例分析

admin3年前PHP教程45

在删除缓存的时候,我们在一些场景下需要批量删除,但不确定具体的key值,可通过匹配的方式进行查询后删除。

但是使用keys会导致redis服务器宕机。慎用。。。

一般公司也会禁用keys等比较敏感的命令的。

所以工作中会使用scan命令来进行匹配查询

?

1
SCAN cursor [MATCH pattern] [COUNT count]






比如

?

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






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

用php代码怎么实现呢,举个例子

?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
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;
}






内容扩展

php redis扩展支持scan命令实现方法

?

1
2
3
4
5
# git clone http://github/phpredis/phpredis
# cd phpredis
# /opt/php/bin/phpize
# ./configure --with-php-config=/opt/php/bin/php-config
# make && make install






到此这篇关于php redis的scan用法实例分析的文章就介绍到这了,更多相关php redis的scan用法内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:php/php-weizijiaocheng-485532

免责声明:本文内容来自用户上传并发布,站点仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。请核实广告和内容真实性,谨慎使用。

相关文章

如何正确选择高防IP呢?美国BGP高防物理机干嘛用的?

高防IP是什么?了解高防IP都可以给你防御一些什么东西?这一篇给你们深入科普以下高防IP到底是个什么东西?为什么高防IP理论上可以解决目前市面上所有的ddos攻击为什么高防IP对于ddos有效果?好了...

GPU服务器的使用场景?江西GPU服务器租用地址是多少?

服务器具备很强的现实意义,我们每天都在无形中跟服务器打交道。针对用途不同,服务器可分为诸多类型。为增加大家对服务器的了解程度,本文将对GPU服务器予以介绍。通过本文,您将对GPU服务器有所认识。GPU...

几个选择GPU服务器的建议美国gpu服务器租用品牌有哪些

在用户购买GPU服务器之前,可能最先想到的是那些有名的大规模的服务提供商,但是价格昂贵使用户望而却步。此外,其他服务提供商也同样优秀,并且可以在价格优秀的情况下既保证了GPU服务器的质量又保证了可以充...

GPU服务器可以玩手机游戏吗便宜的美国GPU服务器价格

一般服务器不配显卡,加装显卡的服务器。它可以用于异构计算。GPU用于大大加速CPU不太擅长的浮点运算。一般用于3D图形应用、视频解码、深度学习、科学计算或运行Android手机模拟器,适用于手机游戏挂...

租用浙江杭州高防服务器需要注意什么

如果您计划租用浙江杭州高防服务器,以下是需要注意的几个方面:选择可靠的服务商:选择有良好信誉和口碑的服务商,并确保其提供的高防服务器具有稳定的性能和良好的技术支持。确定您的需求:在租用高防服务器之前,...

泰国服务器的优势有哪些

泰国服务器的优势有哪些?泰国服务器的优势如下:地理位置优越:泰国位于东南亚地区,紧邻中国和印度,距离日本和韩国也很近。这使得泰国服务器可以为周边国家、地区提供高质量的网络服务和可靠的连接。低廉的成本:...