redis删除集群 linux,Linux下redis 集群 批量删除 键 以及一些其他日常管理操作

命令大全:http://doc.redisfans.com/

本文有参考http://blog.51cto.com/ganbing/2050111,特此致谢。

一、操作环境:CentOS-7,redis-4.0.8,双机主备集群,

10.190.104.11:6378/6379/6380;(主)

10.190.104.11:6378/6379/6380;(备)

欲删除以user开头的全部键;

二、单机形式批量删除可使用xargs指令如下操作:

redis-cli -h 10.190.104.11 -p 6379  keys "user*" | xargs -i redis-cli -h 10.190.104.11 -p 6379  del  {}

如需密码加上-a 参数即可,如需指定某个库加上-n参数即可,例如:

redis-cli -a 密码 -h 10.190.104.11 -p 6379  -n 库号 keys "user*" | xargs -i redis-cli -a 密码 -h 10.190.104.11 -p 6379  -n 库号 del  {}

三、集群形式批量删除:不能直接使用上述形式,否则会报下列错:

Error: CROSSSLOT Keys in request don’t hash to the same slot

需要编辑shell脚本进行删除如下:

vim  redis_del.sh

#!/bin/bash

#命令最好写绝对路径

REDIS_COMM=/usr/local/redis/bin/redis-cli

#服务器参数需要通过redis-cli -c -h 10.190.104.11 -p 7000 cluster nodes|grep master找到主服务器即可,从服务器不用管。

REDIS_SER01=192.168.0.11#本次只查到了一个主服务器10.190.104.11 ,只需写一个

PORT1=6378

PORT2=6379

PORT3=6380

#redis库未加密码,不需要使用-a,不指定库,不需要使用-n参数

$REDIS_COMM -c -h $REDIS_SER01 -p $PORT1 keys $1 | xargs -i $REDIS_COMM -h $REDIS_SER01 -p $PORT1 del {}

$REDIS_COMM -c -h $REDIS_SER01 -p $PORT2 keys $1 | xargs -i $REDIS_COMM -h $REDIS_SER01 -p $PORT2 del {}

$REDIS_COMM -c -h $REDIS_SER01 -p $PORT3 keys $1 | xargs -i $REDIS_COMM -h $REDIS_SER01 -p $PORT3 del {}

保存并增加可执行权限:chmod +x  redis_del.sh

执行脚本:后面加上参数

./redis_del.sh   user*

返回值为数量则为正确的,返回值为0 则可能发生错误。

四、一些其他的简单操作记录

1、查看所有键 keys *

2、获取键总数:dbsize

3、检查键是否存在 exists 如果存在返回1,不存在返回0

4、删除键  del key [key ……]

正常情况下返回结果为删除键的个数,假如删除了一个不存在的键,就返回0

同时del命令可以支持同时删除多个键

5、键过期expire key second

当redis的键超过过期时间之后,会自动删除

Ttl命令可以查看上的过期时间:

返回-1:键没有设置过期时间

返回-2:键不存在

返回大于或者等于0的整数 :键剩余的过期时间

6、获取键的数据结构类型:

type key

如果键不存在,就返回none

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值