redis scan删除key的方法封装
/**
* @desc 迭代式的删除redis key
* 用法:
* $redis = BaseService::S()->getRedisConfig(\Yii::$app->redis2);
* RedisHelper::delByScan(['mindCard'], $redis);
* @author yanglb@immatchu.com
* @created time 2018-12-29
* @param object $redisInstance redis数据库实例
* @param array $matchGroup 要删除的key(可以是key的前缀)所组成的数组
* @param int $count 一次最多删除多少条key
* @return bool
*/
public static function delByScan($redisInstance, array $matchGroup = [], $count = 1000)
{
if (empty($matchGroup)) {
return false;
}
$redis = $redisInstance;
$it = null;
do {
$arr_keys = $redis->scan($it, null, $count);
if (is_array($arr_keys) && count($arr_keys) > 0) {
foreach ($arr_keys as $key) {
foreach ($matchGroup as $match) {
if (strpos($key, $match) !== false) {
$redis->del($key);
}
}
}
}
} while ($it > 0);
return true;
}
redis scan删除key的方法封装的更多相关文章
- Redis批量删除KEY的方法
Redis 中有删除单个 Key 的指令 DEL,但好像没有批量删除 Key 的指令,不过我们可以借助 Linux 的 xargs 指令来完成这个动作. 代码如下: redis-cli keys “* ...
- python中redis查看剩余过期时间以及用正则通配符批量删除key的方法
# -*- coding: utf-8 -*- import redis import datetime ''' # 1. redis设置过期时间的两种方式 expire函数设置过期时间为10秒.10 ...
- redis 模糊删除key
redis-cli KEYS "pattern" | xargs redis-cli DEL Redis keys命令支持模式匹配,但是del命令不支持模式匹配,有时候需要根据一定 ...
- Redis模式匹配删除key
Redis keys命令支持模式匹配,但是del命令不支持模式匹配,有时候需要根据一定的模式来模糊删除key,这时只能结合shell命令来完成了. 具体命令是: redis-cli KEYS &quo ...
- redis批量删除key 远程批量删除key
一.遇到的问题 在开发的过程中,经常会遇到要批量删除某种规则的key,如缓存的课程数据“course-课程uid”,其中课程uid是变量,我们需要删除"course-*"这一类的数 ...
- Redis批量删除key的小技巧,你知道吗?
在使用redis的过程中,经常会遇到要批量删除某种规则的key,但是redis提供了批量查询一类key的命令keys或scan,没有提供批量删除某种规则key的命令,怎么办?看完本文即可,哈哈. 本文 ...
- redis批量删除key
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #000000; background-color: #fffff ...
- redis 批量删除key
redis-cli -h -p keys -p del s
- redis批量删除key 命令
redis-cli -n 数据库编号 -a 密码 keys "过滤条件" | xargs redis-cli -n 数据库编号 -a 密码 del Demo: redis-cli ...
随机推荐
- Android四大组件之Service --- 活动与服务的绑定
Acticity与Service进行通信如何在活动中指挥service去做事情? 这里就借助onBind()方法了比如说,目前我们希望在MyService里提供一个下载功能,然后在活动中可以决定何时开 ...
- shell脚本登录数据库
#!/bin/bashHOSTNAME="localhost" #数据库信息 PORT="3306" USERNAME="root" PAS ...
- webpack-dev-server报错
运行npm run dev报错,---- webpack-dev-server --inline --progress --config build/webpack.dev.conf.js npm E ...
- WebSocket对象的“readyState”属性记录连接过程中的状态值
websocket的两个属性:readyState和bufferedAmount. 根据readyState属性可以判断webSocket的连接状态,该属性的值可以是下面几种: 0 :对应常量CONN ...
- SQL Server分页查询的万能存储过程
CREATE proc [dbo].[p_paging]@tableName varchar(8000), --表名.视图名@indexCol varchar(50) = 'id', --标识列名(如 ...
- 开发H5页面遇到的问题以及解决
1.第一个问题就是规范问题,现在边注释边编程以及语义化命名的问题已经基本的改善,页面的层级结构设计也条理了许多,现在的问题就是我对于页面的更深的应用还不够,比如我知道文档流自上而下从左至右,写在下面的 ...
- git与github学习
一 我的Github 我的Github项目地址:https://github.com/lllmathison/hello 二 对github与git的学习.感受 git是一个版本管理工具,在本地使用的 ...
- Python学习第六课
Python学习第六课 课前回顾 列表 创建 通过 [] :写在[]里,元素之间用逗号隔开 对应操作: 查 增 append insert 改(重新赋值) 删除(remove del pop(删除后会 ...
- java程序初体验
示例代码 class Demo { public static void main(String[] args) { System.out.print("hello world") ...
- 线性求第k大
快排变种. 快排每次只进行部分排序,进入左边或者右边或者当前mid就是答案. 据说期望值是O(n) 然后STL中的 nth_element也是用这个思想. #include <cstdio> ...