Redis基础---链接管理
Redis连接
Redis AUTH命令是用来向服务器验证给定的密码。 如果密码与在配置文件中的口令相匹配,则服务器会返回OK状态码,并开始接受命令。否则,将返回一个错误,并且客户需要尝试新的密码。
127.0.0.1:6379> CONFIG set requirepass "root"
OK
127.0.0.1:6379> AUTH root
OK
127.0.0.1:6379> AUTH rrrr
(error) ERR invalid password
关于 AUTH为什么需要,以下是主要原因
lijinxu@lijinxu-virtual-machine:~$ redis-cli
127.0.0.1:6379> AUTH root
OK
127.0.0.1:6379> keys *
1) "name"
2) "kkk"
3) "mykey2"
4) "aset"
5) "bset"
6) "map"
7) "mykey"
8) "alist"
9) "visitors"
10) "ukey"
127.0.0.1:6379> exit
lijinxu@lijinxu-virtual-machine:~$ redis-cli
127.0.0.1:6379> keys *
(error) NOAUTH Authentication required.
使用注册过授权的用户密码验证登陆数据库后,可以拥有更多的权限。
使用注册的用户登陆
lijinxu@lijinxu-virtual-machine:~$ redis-cli -h 127.0.0.1 -p 6379 -a root
使用Select index 选择所使用的的数据库
127.0.0.1:6379> auth root OK 127.0.0.1:6379> select 1 OK 127.0.0.1:6379[1]>
最大客户端数目
127.0.0.1:6379> config get maxclients 1) "maxclients" 2) "10000"
Redis管道
Redis是一个TCP服务器,支持请求/响应协议。 在Redis中,请求通过以下步骤完成:
- 客户端向服务器发送查询,并从套接字读取,通常以阻塞的方式,用于服务器响应。
- 服务器处理命令并将响应发送回客户端。
管道的意义
管道的基本含义是,客户端可以向服务器发送多个请求,而不必等待回复,并最终在一个步骤中读取回复。
lijinxu@lijinxu-virtual-machine:~$ (echo -en "AUTH root\r\n SET tutorial redis\r\nGET tutorial\r\nINCR visitor\r\nINCR visitor\r\nINCR visitor\r\n"; sleep 10) | nc 127.0.0.1 6379 +OK +OK $5 redis :1 :2 :3
在上面的例子中,我们将使用PING命令检查Redis连接。这里设置了一个名称为tutorial
的字符串,值为redis
。 然后得到键值,并增加 visitor
数量三次。 在结果中,我们可以看到所有命令都提交到Redis一次,Redis在一个步骤中提供所有命令的输出。
管道的好处
这种技术的好处是大大提高了协议性能。通过管道从连接到本地主机速度增加五倍,因特网连接的至少快一百倍。