php redis的scan用法实例分析

 更新时间:2021年12月10日 08:44:10   作者:藏色散人  
在本篇文章了小编给大家整理了一篇关于php redis的scan用法实例分析内容,有兴趣的朋友们可以跟着学习下。

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

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

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

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

SCAN cursor [MATCH pattern] [COUNT count]

比如

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

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

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

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命令实现方法

# git clone https://github.com/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输出指定时间以前时间格式的方法

    这篇文章主要介绍了php输出指定时间以前时间格式的方法,可实现输出指定时间以前的具体时间格式,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-03-03
  • 6种解决PHP Trait属性冲突问题的方法小结

    6种解决PHP Trait属性冲突问题的方法小结

    在PHP中,Trait是一种用于在类之间共享方法的方法,然而,Trait中的成员属性可能会导致冲突,所以本文为大家整理了6种解决Trait属性冲突的方法,希望对大家有所帮助
    2024-02-02
  • PHP中file_get_contents设置header请求头,curl传输选项参数详解说明

    PHP中file_get_contents设置header请求头,curl传输选项参数详解说明

    php中远程获取和采集内容、实现PHP网页版的FTP上传下载、实现模拟登陆、实现接口数据传输(API)、实现模拟Cookie、下载文件断点续传等等,都会用到fopen、file_get_contents和curl这样的函数,当然要对比一下了,程序架构设计当然要无可挑剔了。
    2023-07-07
  • 使用php将字符串拆分成数组的几种常见方法

    使用php将字符串拆分成数组的几种常见方法

    经常会遇到要把字符串分割成数组的情况,在Java中只要调用split(",")方法就能把字符串分割成数组,在JS中也很简单同样也是调用split( "," )方法就可以做到,在php中调用什么方法分割字符串呢?所以本小编给大家介绍了使用php将字符串拆分成数组的几种方法
    2023-11-11
  • php回调函数处理数组操作示例

    php回调函数处理数组操作示例

    这篇文章主要介绍了php回调函数处理数组操作,结合实例形式详细分析了PHP回调函数遍历与过滤数组相关操作技巧与注意事项,需要的朋友可以参考下
    2020-04-04
  • 了解Joomla 这款来自国外的php网站管理系统

    了解Joomla 这款来自国外的php网站管理系统

    joomla在国外很热,就连台湾都有不少站使用joomla,国内就对joomla缺乏了解。大多都使用dedecms或者phpcms等。在这四个月来一直在学习joomla,觉得用它来建站很方便。
    2010-03-03
  • php 魔术方法详解

    php 魔术方法详解

    本文给大家介绍了php面向对象当中的几个魔术方法,并对此进行一一详细介绍,希望对新手有所帮助。
    2014-11-11
  • 解析PHP中empty is_null和isset的测试

    解析PHP中empty is_null和isset的测试

    本篇文章是对PHP中empty is_null和isse的测试进行了详细的分析介绍,需要的朋友参考下
    2013-06-06
  • PHP 之 写时复制介绍(Copy On Write)

    PHP 之 写时复制介绍(Copy On Write)

    很多时候,我们会因为一些术语而对其概念产生莫测高深的恐惧,而其实,他们的基本原理往往非常简单。本小节将介绍PHP中写时复制这种策略的实现
    2014-05-05
  • php实现网站顶踩功能的完整前端代码

    php实现网站顶踩功能的完整前端代码

    这篇文章主要介绍了php实现网站顶踩功能的完整前端代码的相关资料,需要的朋友可以参考下
    2015-07-07

最新评论