相关文章

更多

最近更新

更多

Redis 客户端连接、密码验证、连接数设置

2019-04-18 00:03|来源: 网路

Redis 客户端连接

Redis 通过监听一个 TCP 端口或者 Unix socket 的方式来接收来自客户端的连接,当一个连接建立后,Redis 内部会进行以下一些操作:

  • 首先,客户端 socket 会被设置为非阻塞模式,因为 Redis 在网络事件处理上采用的是非阻塞多路复用模型。

  • 然后为这个 socket 设置 TCP_NODELAY 属性,禁用 Nagle 算法

  • 然后创建一个可读的文件事件用于监听这个客户端 socket 的数据发送


通过密码验证连接

通过密码验证连接到 redis 服务,并检测服务是否在运行:

redis 127.0.0.1:6379> AUTH "password"
OK
redis 127.0.0.1:6379> PING
PONG

最大连接数

在 Redis2.4 中,最大连接数是被直接硬编码在代码里面的,而在2.6版本中这个值变成可配置的。

maxclients 的默认值是 10000,你也可以在 redis.conf 中对这个值进行修改。

config get maxclients

1) "maxclients"
2) "10000"


实例

以下实例我们在服务启动时设置最大连接数为 100000:

redis-server --maxclients 100000



客户端命令


S.N. 命令 描述
1 CLIENT LIST 返回连接到 redis 服务的客户端列表
2 CLIENT SETNAME 设置当前连接的名称
3 CLIENT GETNAME 获取通过 CLIENT SETNAME 命令设置的服务名称
4 CLIENT PAUSE 挂起客户端连接,指定挂起的时间以毫秒计
5 CLIENT KILL 关闭客户端连接



redis知识点

redis快速入门

reids常用命令

redis数据结构

java_API_客户端

Jedis

Tlcache

redis_持久化

AOF

RDB

发布订阅(pub/sub)

redis_事件

redis事务

redis通讯协议

RESP(Redis Serialization Protocol)

redis高可用

redis哨兵

监控(Monitoring) 提醒(Notification) 自动故障迁移(Automatic failover)

redis主从复制

  • 复制模式

    1. 主从复制
    2. 从从复制
  • 复制过程

    • slave向master发送sync命令;
    • master开启子进程执行bgsave写入rdb文件;
    • master发送缓存和RDB文件给slave;
    • master发送数据发送给slave完成复制;

redis集群(Redis_Cluster)

相关问答

更多
  • redis允许客户端以TCP方式连接,默认6379端口。传输数据都以\r\n结尾。 请求格式 *\r\n$\r\n\r\n 例:*1\r\n$4\r\nINFO\r\n 响应格式 1:简单字符串,非二进制安全字符串,一般是状态回复。 +开头,例:+OK\r\n 2: 错误信息。          -开头, 例:-ERR unknown command 'mush'\r\n 3 ...
  • 你这中错误,应该是你启动redis的时候,没有使用配置文件,或者是配置文件没有生效。redis带配置文件启动的命令是: redis-server redis.conf 如果用这样还是无法启动,那建议您检查一下您的配置文件是否正确
  • 因为一般扩展的开发者,都会在脚本结束时自己关闭已经使用的连接,但是这个插件居然没有,而是需要你自己去关闭。当然关闭连接对只对connect函数有效,pconnect是不需要关闭连接的。其具体使用方法就是在脚本结束前调用redis对象的close方法,来关闭连接。或者更省事点,用类似下面的代码 register_shutdown_function(function () { global $redis; $redis->close(); }); 经过测试,自己关闭连接后,用netstat -na看6379端口 ...
  • 因为一般扩展的开发者,都会在脚本结束时自己关闭已经使用的连接,但是这个插件居然没有,而是需要你自己去关闭。当然关闭连接对只对connect函数有效,pconnect是不需要关闭连接的。其具体使用方法就是在脚本结束前调用redis对象的close方法,来关闭连接。或者更省事点,用类似下面的代码 register_shutdown_function(function () { global $redis; $redis->close(); }); 经过测试,自己关闭连接后,用netstat -na看6379端口 ...
  • 检查配置文件中maxclients项配置的是多少,可以修改为自己想要的。 maxclients 128 //限制客户端的连接数 推荐你个详细配置说明的 http://bbs.redis.cn/forum.php?mod=viewthread&tid=499&extra=page%3D1
  • 检查配置文件中maxclients项配置的是多少,可以修改为自己想要的。 maxclients 128 //限制客户端的连接数 回答不容易,希望能帮到您,满意请帮忙采纳一下,谢谢 !
  • 因为一般扩展的开发者,都会在脚本结束时自己关闭已经使用的连接,但是这个插件居然没有,而是需要你自己去关闭。当然关闭连接对只对connect函数有效,pconnect是不需要关闭连接的。其具体使用方法就是在脚本结束前调用redis对象的close方法,来关闭连接。或者更省事点,用类似下面的代码 register_shutdown_function(function () { global $redis; $redis->close(); }); 经过测试,自己关闭连接后,用netstat -na看6379端口 ...
  • 1、安装编译工具2、安装tcl组件包(安装Redis需要tcl支持)3、安装Redis4、设置redis开机启动 5、设置redis配置文件参数6、测试redis数据库7、通过php程序连接redis数据库 #php必须先安装Redis扩展至此,Linux下Redis服务器安装配置完成。
  • 因为一般扩展的开发者,都会在脚本结束时自己关闭已经使用的连接,但是这个插件居然没有,而是需要你自己去关闭。当然关闭连接对只对connect函数有效,pconnect是不需要关闭连接的。其具体使用方法就是在脚本结束前调用redis对象的close方法,来关闭连接。或者更省事点,用类似下面的代码 register_shutdown_function(function () { global $redis; $redis->close(); }); 经过测试,自己关闭连接后,用netstat -na看6379端口 ...
  • 我解决了这个问题 我没有在主机(127.0.0.1)之后输入端口号(6379) 以下命令现在正在运行 ssh -i somekey.pem -v -L 6379:127.0.0.1:6379 user@domain.com well i solved this i did not put port number(6379) after host(127.0.0.1) following command is working now ssh -i somekey.pem -v -L 6379:127.0.0. ...