高级命令
keys * : 返回满足的所有键 ,可以模糊匹配
exists :是否存在指定的key,存在返回1,不存在返回0
exprie:设置某个key的过期时间
ttl:查看剩余时间
persisit:取消过去时间
select : 选择数据库 数据库为0-15(默认一共16个数据库) 设计成多个数据库实际上是为了数据库安全和备份
move key dbindex : 将当前数据中的key转移到其他数据库
randmkey:随机返回一个key
rename:重命名key
echo:打印命令
dbsize:查看数据库的key数量
info:查看数据库信息
config get * 实时传储收到的请求,返回相关的配置
flushdb :清空当前数据库
flushall :清空所有数据库
安全性:
设置客户端连接后进行任何其他指定前需要使用的密码警告:因为Redis速度相当快,所以一台比较好的服务器下一个外部的用户可以在一秒钟进行150k次的密码尝试,这意味着你需要指定非常非常强大的密码来防止暴力破解
配置方法:
requirepass beijing(在配置文件中配置密码)
auth redis(授权方式1)
redis-cli -a redis(授权方式2)
重启服务,再次进入会发现没有权限:
[root@localhost conf]# pkill redis-server [root@localhost conf]# ../bin/redis-server /usr/local/redis/conf/6379.conf [root@localhost conf]# cd .. [root@localhost redis]# cd bin/ [root@localhost bin]# ./redis-cli 127.0.0.1:6379> keys * (error) NOAUTH Authentication required.
输入密码则成功进入:
127.0.0.1:6379> auth redis OK 127.0.0.1:6379> keys * 1) "c" 2) "set1" 3) "zset1" ......
每次进入的时候都要输入密码,简单的方法,登录授权:
[root@localhost bin]# ./redis-cli -a redis 127.0.0.1:6379> keys * 1) "c" 2) "set1" .......