Redis高级命令及特性(安全性)

高级命令

​ 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"   .......
原文地址:https://www.cnblogs.com/alter888/p/8871481.html