redis客户端连接数
redis通过监听一个TCP端口或socket的方式接收来自客户端的连接,
当与客户端建立连接后,redis内部会进行如下操作:
(1)客户端socket会被设置为非阻塞模式,因为redis在网络时间处理上采用的是非阻塞多路复用模型;
(2)然后为这个socket设置TCP_NODELAY属性,禁用Nagle算法;
(3)然后创建一个可读的文件事件用于监听这个客户端socket的数据发送。
redis连接数与最大连接数
1.查看
方法1:在redis-cli命令行使用:info clients可以查看当前的redis连接数
> info clients # Clients connected_clients:5 client_longest_output_list:0 client_biggest_input_buf:0 blocked_clients:0
方法2:config get maxclients 可以查询redis允许的最大连接数
> config get maxclients maxclients 10000
2.设置、修改
1. 在2.6之后版本,可以修改最大连接数配置,默认10000,可以在redis.conf配置文件中修改
maxclients 10000
2.config set maxclients num 可以设置redis允许的最大连接数
> config set maxclients 10000 OK
3.启动redis.service服务时加参数--maxclients 100000来设置最大连接数限制
redis-server --maxclients 100000 -f /etc/redis.conf
redis-cli命令控制行中获取客户端信息命令
CLIENT LIST 获取客户端列表
CLIENT SETNAME 设置当前连接点redis的名称
CLIENT GETNAME 查看当前连接的名称
CLIENT KILL ip:port 杀死指定连接 #腾讯云redis不支持
> client list addr=10.105.3.85:43892 fd=11 name= cmd=client age=5661 idle=0 proxy=0d7a9ead32e2c44d60eef3a8d91cdab8db72fc20 > client setname test OK > client list addr=10.105.3.85:43892 fd=11 name=test cmd=client age=5687 idle=0 proxy=0d7a9ead32e2c44d60eef3a8d91cdab8db72fc20 > client getname test > client kill 10.105.3.85:43892
4.Redis默认的timeout是0,也就是不会检测客户端的空闲
> config get timeout timeout 0 > config set timeout 30
- 本文固定链接: https://www.phpmianshi.com/?id=229
- 转载请注明: admin 于 PHP面试网 发表
《本文》有 0 条评论