redis怎么清除key值前几个字符相同的缓存

redis怎么清除key值前几个字符相同的缓存,第1张

批量删除Redis下特定pattern的keys:

可以使用linux的xargs来做到,如:

*/redis-cli

keys

"prefix*"

如果是访问特定的数据库,则可以:

*/redis-cli

-n

0

keys

"prefix*"

Redis是一个开源的使用ANSI

C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。从2010年3月15日起,Redis的开发工作由VMware主持。从2013年5月开始,Redis的开发由Pivotal赞助。

redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted

set

--有序集合)和hash(哈希类型)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的 *** 作,而且这些 *** 作都是原子性的。在此基础上,redis支持各种不同方式的排序。与memcached一样,为了保证效率,数据都是缓存在内存中。区别的是redis会周期性的把更新的数据写入磁盘或者把修改 *** 作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。

1 使用cli

FLUSHDB 清除一个数据库,FLUSHALL清除整个redis数据。

2 使用shell

redis-cli keys "*" | while read LINE do TTL=`redis-cli ttl $LINE`if [ $TTL -eq -1 ]then echo "Del $LINE"RES=`redis-cli del $LINE`fidone

删除 3600秒之后过期的

redis-cli keys "*" | while read LINE do TTL=`redis-cli ttl $LINE`if [ $TTL -ge 3600 ]then echo "Del $LINE"RES=`redis-cli del $LINE`fidone

删除某些前缀的

redis-cli KEYS "126.com*" | xargs redis-cli DEL

3 使用lua脚本

删除所有keyEVAL "return redis.call('del', unpack(redis.call('keys', ARGV[1])))" 0 *

删除某些key

EVAL "return redis.call('del', unpack(redis.call('keys', ARGV[1])))" 0 126.com*

1、如果是用apt-get或者yum install安装的redis,可以直接通过下面的命令停止/启动/重启redis:/etc/init.d/redis-server stop/etc/init.d/redis-server start/etc/init.d/redis-server restart

2、如果是通过源码安装的redis,则可以通过redis的客户端程序redis-cli的shutdown命令来重启redis。

redis集群如何解决重启不了的问题

redis使用集群部署,如果遇到断电或者服务器重启,当再次启动的时候,有时候会启动不了。需要使用trib的fix命令进行修复。如果修复还是不行的话,可以清除节点数据再重新建集群,前提要备份之后 *** 作。

1、使用redis-cli连接上redis其中一台:redis-cli -c -h xxx -p 7001,输入cluster info查看当前集群的状态。

2、可以使用trib的check检测的集群状态:redis-trib.rb check xxx:7001,[ERR] Not all 16384 slots are covered by nodes。

3、如果出现以上的错误,可以尝试使用fix命令修复:redis-trib.rb fix xxx:7001。修复完成之后,在使用trib的check命令查看状态。

4、如果通过fix方式修复不了,pkill redis停止之前的redis进程,然后把aof,rdb,nodes节点文件删除,删除之前需要备份。

5、然后启动各个redis节点。

6、创建redis集群:redis-trib.rb create --replicas 1 xxx:7000 xxx:7001 xxx:7002 xxx:7003 xxx:7004 xxx:7005。

7、集群创建完成之后,再次连接redis查看集群状态,redis服务已经启动完成。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7177587.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-02
下一篇 2023-04-02

发表评论

登录后才能评论

评论列表(0条)

保存