redis常用命令

  • flushdb //删除当前数据库中的所有Key
  • flushall //删除所有数据库中的key
  • keys * //查询所有的key
  • keys  hello* //查询hello开头的key
  • keys  *hello* //查询包含hello的key
  • keys *hello //查询以hello结尾的key
  • ttl key //查询key的过期时间,-1表示没设置,-2表示没这个key
  • select 6 //选择数据库,一共有16个库可选择
  • dbsize //查询当前库中的key的个数
  • del key //删除指定的key
  • type key //查看key的类型
  • get key //获取key的内容
  • rename oldkey newkey //重命名key
  • info //显示redis服务器信息
  • expire key 100 //设置key的过期时间为100s,到期后key被自动删除
  • persist key //取消key的过期时间设置
  • move key 10 //将key移动到数据库10,select 10后可查看
  • smembers key //查看set类型的key的成员,type key可以查看是否是set类型的key
  • SISMEMBER key member //查看成员member是否还在集合中
  • SREM key member1 member2 member3 //删除集合中多个元素

循环逐行批量删除redis的包含AD的键盘,如果密码中有特殊字符需要进行转义

  • -n:指定redis中的库
  • REDISCLI_AUTH​:认证密码,如:export REDISCLI_AUTH=”password”
  • ​REDISCLI_HOST​:Redis 主机,如:export REDISCLI_HOST=”localhost”
  • REDISCLI_PORT:Redis 端口,如:export REDISCLI_PORT=”6379″
  • REDISCLI_DB​: 数据库编号,如:export REDISCLI_DB=”1″

这里只用了REDISCLI_AUTH环境变量

最优方法如下:

export REDISCLI_AUTH="redis-pass"
redis-cli -p 6379 -n 1 --scan --pattern "*AD*" | \
xargs redis-cli -p 6379 -n 1 DEL
unset REDISCLI_AUTH                 #unset用于删除环境变量

最高效方法如下:

export REDISCLI_AUTH="redis-pass"
redis-cli -p 6379 -n 1 --scan --pattern "*AD*" | \
xargs -I {} redis-cli -p 6379 -n 1 DEL "{}"
unset REDISCLI_AUTH

最安全的方法如下:

export REDISCLI_AUTH="redis-pass"
redis-cli -p 6379 -n 1 --scan --pattern "*AD*" | \
while read -r key; do 
    redis-cli -p 6379 -n 1 DEL "$key"
done
unset REDISCLI_AUTH