redis-cli KEYS "php*" | xargs redis-cli DEL 利用 linux的 管道输出命令 xargs 根据返回结果逐条 删除.   上面这条命令 可以实现 删除某个 前缀的所有key…
批量删除redis的数据 # redis-cli -h 192.168.1.17 -p 6379 keys "xiaolang_*"|xargs redis-cli -h 192.168.1.17 -p 6379 del [wanghz@w_db ~]$ redis-cli --helpredis-cli 3.2.6 Usage: redis-cli [OPTIONS] [cmd [arg [arg ...]]] -h <hostname> Server hostname…
redis-cli 登录redis 我一般使用 redis-cli 登录redis ,但是进去后会提示" Redis (error) NOAUTH Authentication required". SO 使用命令 auth password(即redis登录密码,后面用这个替代) 即可解决. redis命令行只能使用DEL 来删除一个key,不便批量删除 因为redis命令行只能使用DEL 来删除一个key,当想要批量删除key(尤其是有相同前缀的.或者后缀的key,就得使用redi…
目前线上一个单实例redis中无用的key太多,决定删除一部分. 1.删除指定用户的key,使用redis的pipeline 根据一定条件把需要删除的用户统计出来,放到一个表里面,表为 del_user(int user_id),rows大约在1千万. 要删除的key为 "login:%s" %s匹配 user_id . 写sql文如下:把sql文保存在一个文件里面,命名为 1.sql SELECT CONCAT( "*2\r\n", '$3\r\n',    'D…
批量删除KeyRedis 中有删除单个 Key 的指令 DEL,但好像没有批量删除 Key 的指令,不过我们可以借助 Linux 的 xargs 指令来完成这个动作 redis-cli keys "*" | xargs redis-cli del //如果redis-cli没有设置成系统变量,需要指定redis-cli的完整路径 //如:/opt/redis/redis-cli keys "*" | xargs /opt/redis/redis-cli del 如果…
1. DEL 直接加键名称 DEL key1 key2 key3 127.0.0.1:6379>  DEL site_msg_99973  false site_msg_99974   false site_msg_99979false 2. 批量删除key 可用keys ‘str*’ 列出要删除的key,接linux管道删除(linux命令行执行) 根据通配符查看待删除的key redis-cli KEYS "site_msg_999*” 接linux管道删除之 redis-cli KE…
del 删除单个key方便 要是删除多个就不是很方便了 这时候可以使用xsrsg来批量删除 1.退出redis 2.匹配CCPAI:开头的所有key*删除 redis-cli -a 密码 -h host -p 端口号 --scan --pattern 'CCPAI:*' | xargs redis-cli -a 密码 -h host -p 端口号 del redis-cli -a 密码 -h host -p 端口号 keys 'CCPAI:*' | xargs redis-cli -a 密码 -…
bin/redis-cli -h 192.168.46.151 -p 6379 keys "rulelist*" | xargs bin/redis-cli  -h 192.168.46.151 -p 6379  del 批量删除带有rulelist的缓存key…
批量删除"aso_"开头的key:redis-cli keys aso_* | xargs redis-cli del…
借助 Linux 的 xargs 指令来完成 redis-cli keys "*" | xargs redis-cli del //如果redis-cli没有设置成系统变量,需要指定redis-cli的完整路径 //带密码 redis-cli -a password keys "*" | xargs redis-cli -a password del //访问指定库时候,下面的命令指定数据序号为0,即默认数据库 redis-cli -n 0 keys "*…
/usr/local/redis/src/redis-cli -h 172.28.6.23  -p 6383 keys "virtual*" |xargs /usr/local/redis/src/redis-cli -h 172.28.6.23 -p 6383 del…
测试环境上是docker安装的redis,生产上使用的是阿里云Redis服务,需要批量清理生产上的数据. 阿里云提供了BS结构的工具管理Redis,但是不能全选批量删除,只能脚本删除,方法是在测试环境上远程连接生产Redis redis-cli -h r-demo.redis.rds.aliyuncs.com -p 6379 -a password keys "KEYS_DEMO*" |xargs redis-cli -h r-demo.redis.rds.aliyuncs.com -…
前言 使用StackExchange.Redis没有直接相关的方法进行模糊查询的批量删除和修改操作,虽然可以通过Scan相关的方法进行模糊查询,例如:HashScan("hashkey", "*key*"),然后再使用相关的方法进行相关的批量操作,但是如果缓存数据量比较大,效率低下,那么可以使用Lua脚本进行模糊查询的批量操作:ScriptEvaluate(LuaScript.Prepare(...)). 通过keys进行模糊查询后的批量操作 批量删除 var re…
背景 之前分享了一篇利用lua脚本批量删除redis的key的文章.现在项目中我打算使用spring的缓存,而Spring缓存以前我是用ehcache来做实现的.没发现什么问题..这次我换成redis来做缓存了..一般也没什么大问题...目前唯一遇到的一个比较坑的问题就是缓存通过注解删除不了..我想想好像也算正常吧.因为java里面做缓存的话可能会使用map类似的结构,我remove掉一个key,不管对应的value是什么结构都能删除掉..但是redis的key是没有层级的...比如2个key分…
通常,在一个Session对象的缓存中只存放数量有限的持久化对象,等到Session对象处理事务完毕,还要关闭Session对象,从而及时释放Session的缓存占用的内存.批量处理数据是指在一个事务中处理大量数据.以下程序在一个事务中批量更新CUSTOMERS表中年龄大于零的所有记录的AGE字段: Transaction tx = session.beginTransaction(); Iterator customers=session.createQuery("from Customer…
前言 在使用缓存的时候,我们时不时会遇到这样一个需求,根据缓存键的规则去批量删除这些数据,比较常见的就是按前缀去删除. 举个简单的例子,Redis中现在有几百个商品的数据,这些数据的key值是有一定规律的,都是以product:id的形式存在的. 现在由于不得以为的原因要删除这几百个商品的数据,这个时候我们肯定就要把缓存键以product:开头的给全部删除掉. 其实这个需求在Redis中是可以很容易去实现的. 来看看几种常见的做法. 常见的几种做法 用Keys命令找到key之后执行删除操作 用S…
背景: 在使用redis中,经常会遇到批量删除缓存的情况,但是对于在客户端中,如果一个一个的删除key,则需要较长时间及相对麻烦,可以使用以下命令,批量删除缓存. 本地批量删除KEY: ./redis-cli keys "被删除的KEY的前缀*" | xargs ./redis-cli del 示例代码: 批量删除KEY: 批量删除: ./redis-cli keys a2* | xargs ./redis-cli del 删除之后,只剩下a1的key,所有a2的数据都已经删除了. 远…
Redis中有删除单条数据的命令DEL但是他没有批量删除多条数据的方法,那我们怎么去批量删除多条数据呢! 第一种方式 /work/app/redis/bin/redis-cli -a youpassword keys 'Volume:*' | xargs /work/app/redis/bin/redis-cli -a youpassword del 注释: 通过:keys 'Volume'去匹配你要删除的Key:Value条目,然后把结果传给xargs然后删除数据 如果要删除指定的Redis库…
Select CONCAT( 'drop table ', table_name, ';' ) FROM information_schema.tables Where table_name LIKE 'dede_%'; "dede"为要删除的表前缀,执行此SQL语句后会生成一串SQL语句,必须再执行生成的这些SQL语句才能真正执行删除操作 另外一个就是批量修改表名: Select CONCAT( 'ALTER TABLE ', table_name, 'RENAME TO ', ta…
Redis 中有删除单个 Key 的指令 DEL,但好像没有批量删除 Key 的指令,不过我们可以借助 Linux 的 xargs 指令来完成这个动作. 代码如下: redis-cli keys “*” | xargs redis-cli del //如果redis-cli没有设置成系统变量,需要指定redis-cli的完整路径 //如:/opt/redis/redis-cli keys “*” | xargs /opt/redis/redis-cli del 如果要指定 Redis 数据库访问…
本文参考:http://blog.csdn.net/spring21st/article/details/15771861 http://stackoverflow.com/questions/5756067/how-to-empty-a-redis-database http://stackoverflow.com/questions/4006324/how-to-atomically-delete-keys-matching-a-pattern-using-redis 批量删除KeyRedi…
一.遇到的问题 在开发的过程中,经常会遇到要批量删除某种规则的key,如缓存的课程数据“course-课程uid”,其中课程uid是变量,我们需要删除"course-*"这一类的数据,但是这里就坑了,redis有提供批量查询一类key的命令keys,但是没有提供批量删除某种类型key的命令. 二.解决方案 先看看我们怎么解决. 1.先进入redis的客户端 cd redis所在目录/src ./redis-cli 2.初始化数据,模拟数据 > set course- OK >…
ps -ef |grep redis cd /opt/app/redis/bin ./redis-cli -h 192.168.0.67 -p 7001 -a 'hub2c!Redis'./redis-cli -h 192.168.0.68 -p 7001 -a 'hub2c!Redis'./redis-cli -h 192.168.0.71 -p 7001 -a 'hub2c!Redis' 使用ttl查看超时时间,如果是-1表示没有超时时间.192.168.0.71:7001> ttl "…
Redis按照正则批量删除key redis目前还不支持批量删除key的命令,但是我们有时需要删除符合某个规则的keys,有两种方式: 1.使用redis-cli keys "test*"获取到以PRO开始的键,然后使用redis-cli del删除这些键---过于繁琐,不推荐使用 2.使用redis-cli keys "test*" |xargs redis-cli del一次删除,及其方便而且不会遗漏 参考<redis按照正则批量删除key>…
# -*- coding: utf-8 -*- import redis import datetime ''' # 1. redis设置过期时间的两种方式 expire函数设置过期时间为10秒.10秒后,ex1将会失效 expireat设置一个具体的时间,15年9月8日15点19分10秒,过了这个时间,ex2将失效 如果设置过期时间成功会返回True,反之返回False ''' pool = redis.ConnectionPool(host='192.168.3.128', port=637…
sql 命令批量生成drop命令 需要批量删除表,而MySQL又没有提供相关的功能:一般我们建表也都会使用相同前缀,那么,在不使用工具的情况下可以选择使用sql生成批量删除命令: 如删除以 "wp_" 开头的表: SELECT CONCAT( 'drop table ', table_name, ';' ) FROM information_schema.tables WHERE table_name LIKE 'wp_%'; 这是表放在MySQL默认库的情况,但是如果是放在自己的库中…
如何用php批量删除数据库下所有前缀为prefix_的表. 例子,统一删除前缀为“prefix_”的表. <?php //设置数据库连接信息.数据库服务器地址,数据库用户名,数据密码 mysql_connect('数据库主机','数据库用户名','数据库密码'); //设置查询的数据库名称 mysql_select_db('数据库名'); $rs=mysql_query('show tables'); while($arr=mysql_fetch_array($rs)) { www.jbxue.…
redis 批量删除操作 需要在redis里面清空一批数据,redis没有支持通配符删除, 只有del key1 key2 ... 但是可以通配符获取 KEYS PATTERN 然后利用linux管道批量删除. redis-cli -h 192.168.0.8 -p 6380 keys "obj_base_*" |xargs redis-cli -h 192.168.0.8 -p 6380 del 其中xargs的的使用 http://blog.csdn.net/yongan1006/…
Redis 中 DEL指令支持多个key作为参数进行删除 但不支持通配符,无法通过通配符批量删除key,不过我们可以借助 Linux 的管道和 xargs 指令来完成这个动作. 比如要删除所有以user开头的key 可以这样实现: [root@dev_opayredis src]# redis-cli keys "user*"1) "user1"2) "user2"[root@dev_opayredis src]# redis-cli keys…
Redis的官网redis.io,大家可以查看很多命令的使用方法 说明:删除单个key比较简单,直接使用命令del xxxkey,批量删除多个keys可利用如下命令: 假设:redis的安装目录如下:/opt/redis-2.6.14/src/.. 则首先进入到src目录:cd src/ ./redis-cli keys /src/redis-cli del 删除成功之后,会显示删除成功的keys个数:(Integer) 26…