可以使用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 使用cliFLUSHDB 清除一个数据库,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服务已经启动完成。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)