Redis中间件手册.doc_第1页
Redis中间件手册.doc_第2页
Redis中间件手册.doc_第3页
Redis中间件手册.doc_第4页
Redis中间件手册.doc_第5页
免费预览已结束,剩余29页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Redis 组件手册组件手册 Version 0 1 2016 第 2 页 共 34 页 文文 档档 变变 更更 记记 录录 版本编号版本编号版本日期版本日期作作 者者说说 明明 第 3 页 共 34 页 目目 录录 1 引言引言 5 1 1编写目的 5 1 2读者对象 5 1 3名词术语 5 1 4约定和限制 5 2概述概述 5 2 1功能列表 6 2 2集群部署方案 7 2 2 1Redis Zookeeper 方案 7 2 2 2redis sentinel 官方 8 2 2 3redis 双写 9 2 2 4Redis keepalive 9 3组建部署过程组建部署过程 10 3 1环境部署概述 10 3 2创建主机应用属组和用户 10 3 2 1系统平台准备 10 3 2 2创建属组 10 3 2 3创建组下面的用户 10 3 3部署步骤及配置 11 3 3 1Redis 的下载 11 3 3 2redis 的安装 11 3 3 3参数配置修改 12 3 3 4启动及验证服务 14 3 3 5Slave 主机 redis 安装配置 15 3 3 6验证 M S 服务 15 3 3 7部署问题汇总 16 4REDIS KEEPALIVE 集群部署集群部署 17 4 1KEEPALIVE介绍 17 4 2系统平台准备 17 4 3KEEPLIVE的安装 18 4 3 1安装 openssl 相关服务 18 4 3 2下载软件包 18 4 3 3编译安装 18 4 3 4日志重定向 18 第 4 页 共 34 页 4 3 5配置修改 19 4 3 6启动 keepalive 服务 21 4 3 7keepalive 的 M S 服务验证 21 4 3 8redis 的监控切换脚本 23 4 3 9验证 redisM S 切换 25 4 3 10部署问题汇总 28 5性能调优性能调优 29 6附录附录 34 6 1运维常见问题 34 6 2客户端 API 34 第 5 页 共 34 页 1引言引言 1 1 编写目的编写目的 了解 redis 的运行机制 提供了 redis 的部署安装步骤以及安装过程中遇到的一些常见 部署问题 1 2 读者对象读者对象 了解 Redis 的相关知识及 redis 安装部署人员 1 3 名词名词术语术语 1 4 约定和限制约定和限制 Redis 最擅长的是结构化数据的 cache 计数器场景 轻量级的消息队列 Top 排行 榜等互联网应用场景 redis 是目前公认的速度最快的基于内存的键值对数据库 但 redis 的缺点也非常明显 仅提供最基本的 hash set list sorted set 等基于数据类型 不分表 没有 schema 没有 索引 没有外键 缺少 int date 等基本数据类型 多条件查询需要通过集合内联 sinter zinterstore 和连接间接实现 操作不便 开发效率低 可维护性不佳 因此一般 不将其视为完整的数据库单独使用 很多网站将 redis 作为高速缓存和 session 状态存储 层 然后再与其他数据库搭配使用 2概述概述 Redis 是一个开源 BSD 许可 的 内存中的数据结构存储系统 它可以用作数据库 缓存和消息中间件 Redis 支持多种类型的数据结构 如 字符串 strings 散列 hashes 列表 lists 集合 sets 有序集合 sorted sets bitmaps 一串连续的 2 进制数 字 hyperloglogs 一个概率统计的数据结构 可以被用来估计一个集合的基数 和 地理空间 geospatial 索引半径查询 第 6 页 共 34 页 Redis 内置了 复制 replication LUA 脚本 Lua scripting LRU 驱动事件 LRU eviction 事务 transactions 和不同级别的 磁盘持久化 persistence 并通过 Redis 哨兵 Sentinel 和自动 分区 Cluster 提供高可用性 high availability 2 1 功能列表功能列表 Memcache 和 redis 的对比 MemcacheRedis 类型内存数据库内存数据库 数据类型在定义 value 时就要固定数据 类型 数据结构单一 key value 有字符串 链表 集合和有序 集合 提供 list set hash 等数 据结构的存储 存储方式Memcache 采用键值对存储方 式 它本质是一个大的 hash 表 Redis 有两种存储方式 默认 是 snapshot 方式 实现方法 是定时将内存的快照 snapshot 持久化到硬盘另一 种是 aof 即 append only mode 在写入内存数据的同 时将操作命令保存到日志文件 内存算法采用 LRU 算法修改最大内存 新的对象会被放在缓存的顶 部 当缓存达到了容量极限 会把底部的对象踢走 也是采用 LRU 算法 3 0 版本 之后采用改进版的 即 现在 每次随机五条记录出来 插入 到一个长度为十六的按空闲时 间排序的队列里 然后把排头 的那条删掉 然后再找五条出 来 继续尝试插入队列 虚拟内存不支持支持 redis 在 2 0 版本后增 加了自己的 VM 特性 突破物 理内存的限制 可以对 key value 设置过期时间 过期策略支持 在 set 时就指定 例如 set key1 0 0 8 即永不过期 支持 可以通过例如 expire 设定 例如 expire name 10 第 7 页 共 34 页 分布式设定 memcache 集群 利用 magent 做一主多从 或者多主 多从 自身可以做到一主一从或一主 多从 存储数据安全服务一不存在 数据就没有使用 save 存储 dump rdb 中 灾难恢复不支持append only file aof 用于数据恢复 2 2 集群部署方案集群部署方案 2 2 12 2 1 Redis ZookeeperRedis Zookeeper 方案方案 使用 ruby 编写 通过 NodeManager 检查 redis 服务器的状态 然后更新 zookeeper 中的 列表 zookeeper 来维护当前可用服务器列表 zookeeper 中保存三个列表 master slaves unavailable NodeManager 通过配置文件读取 node 列表 每个 node 一个 NodeWatcher 线程 每隔 2 秒钟检查一次 node 的状态 syncing available unavailable 如果 node 连续 max failures 次失败的话 设置为 unavailable NodeWatcher 将 状态存放在 NodeManager 的状态 queue 中 NodeManager 的一个线程定期的检查 queue 中的状态 对状态进行处理 1 unavailable 第 8 页 共 34 页 处理时判断 node 是否为 master 如果为 master 则执行 promote new master 将选出新 的 master 并对剩余的 slave 执行 slaveof 如果是 slave 的话 则从 slave 列表中移除 2 syncing 将 node 加入到 unavailable 列表中 并从 slave 列表中移除 3 available 判断 node 是否在当前的 available 列表中 如果不在列表中 则加入到 available 列表中 可以部署多个 NodeManager 一个时间只有一个 NodeManager 处于可用状态 多个 NodeManager 注册到 zookeeper 中 缺点 1 现有代码需要进行改造 以支持通过 zookeeper 来获取可用的服务列表 有现成的客 户端 2 没有考虑到多机房的本地化原则 可以通过增加客户端的判断逻辑来进行 3 只有一个 active 的 NodeManager 节点 如果该 NodeManager 节点的网络出现问题 则会出现误操作的现象 2 2 22 2 2 redisredis sentinelsentinel 官方官方 通过多个 Sentinel 一起监控 redis 集群 检测到 master 不可用时 通过投票来决定 master 是否需要切换 Sentinel 之间互相检测 通过在共同检测的 master 中写入信息来 进行 Sentinel 只需要配置 master 节点 自动通过 master 来获取已经连接的 slave 列 表 当其中的某一个 Sentinel 检测到 master 宕机之后 标示 master 为 SDOWN 向其 他的 Sentinel 发送 SENTINEL is master down by addr 命令来进行投票 投票确认之后 标识为 ODOWN 开始选择一个新的 master 并且进行切换 缺点 1 没有合适的客户端 需要自己处理各种事件 2 目前还没有 release 第 9 页 共 34 页 2 2 32 2 3 redisredis 双写双写 通过应用服务器在程序侧写入到两个节点来进行高可用 缺点 1 数据的一致性比较欠缺 程序侧采用随机读 如果网络出现抖动延迟 写入数据延迟 随机导致读取的数据不一致 所以后来双写的读写都在同一个节点上而不是随机读 尽量保 证数据一致性 2 当其中一台 master 挂掉之后 后续添加新的 master 进行运维成本比较高 手动重做 主从复制 2 2 42 2 4 Redis keepaliveRedis keepalive 基本构建与原理 1 Keepalive VIP 在 redis master slave 上部署 keepalived redis instance 存活检测 脚本 以及告警通知脚本 2 当 redis master 失效的时候 VIP 从 master 上漂移到 slave 上 完成 m s 角色和配置 更改 3 客户端连接 redis 的参数中 host 设置的是 VIP 整个切换过程对客户端透明 3 优缺点与适用场景 第 10 页 共 34 页 优点 实现简单 成本低 缺点 整个集群的最大吞吐量受限于 redis 单实例的处理能力 除非一个应用使用多套这 种 Keepalive VIP 方案 因而扩展能力较差 而且不适合目前单机部署多个 redis 实例的 部署场景 3组建部署过程组建部署过程 3 1 环境部署概述环境部署概述 该文档的应用环境部署过程主要是基于 linux 而搭建的 整个过程主要包括 redis 的常规部署 redis 的 master 和 slave 的配置 3 2 创建主机应用属组和用户创建主机应用属组和用户 3 2 13 2 1 系统平台准备系统平台准备 操作系统 CentOS release 7 主机 IP 10 1 196 23 redis 的 master 机 10 1 196 24 redis 的 slave 主机 3 2 23 2 2 创建属组创建属组 属组创建的 shell 脚本如下 groupadd aigrp 3 2 33 2 3 创建组下面的用户创建组下面的用户 在两台主机上分别创建用户的 Shell 脚本如下 useradd g aigrp d veris redis s bin bash redis echo redis passwd stdin redis useradd g aigrp d veris keepalive s bin bash keepalive 第 11 页 共 34 页 echo keepalive passwd stdin keepalive 执行如下语句 echo 10 1 196 23 redis23 etc hosts echo 10 1 196 24 redis24 etc hosts 以上创建属组 用户的脚本均在 root 用户下进行操作 3 3 部署步骤及配置部署步骤及配置 3 3 13 3 1 RedisRedis 的下载的下载 Redis 官网 https redis io 版本下载地址 http download redis io releases 3 3 23 3 2 redisredis 的安装的安装 以最新的版本 redis 3 2 6 tar gz 为例 首先检查是否安装了 tcl 服务 若没有则使用 yun 安装 yum install tcl 需要 root 权限 在 Master 和 Slave 主机上分别安装 redis 下载安装 redis wget http download redis io releases redis 3 2 6 tar gz tar xvf redis 3 2 6 tar gz cd redis 3 2 6 make PREFIX veris redis install 指定路径安装 验证是否安装成功 make test 若出现 o All tests passed without errors Cleanup may take some time OK 则说明安装成功 第 12 页 共 34 页 切换到 root 用户 cd redis 3 2 6 src make install 出现如下 则说明安装成功 bash 4 2 make install Hint It s a good idea to run make test INSTALL install INSTALL install INSTALL install INSTALL install INSTALL install 3 3 33 3 3 参数配置修改参数配置修改 修改配置文件参数 redis 3 2 6 redis conf 将文件名改为 redis 6379 conf 设置参数 每 个参数的说明可查看章节 4 如下 标红部分为 master 和 slave 的不同配置的地方 bind 0 0 0 0 protected mode yes port 6379 tcp backlog 511 timeout 0 tcp keepalive 300 daemonize yes supervised no pidfile veris redis redis redis 6379 pid loglevel notice logfile databases 16 第 13 页 共 34 页 stop writes on bgsave error yes rdbcompression yes rdbchecksum yes dbfilename dump rdb dir veris redis redis backup slave serve stale data yes slave read only yes repl diskless sync no repl diskless sync delay 5 repl disable tcp nodelay no slave priority 100 appendonly no appendfilename appendonly aof appendfsync everysec no appendfsync on rewrite no auto aof rewrite percentage 100 auto aof rewrite min size 64mb aof load truncated yes lua time limit 5000 slowlog log slower than 10000 slowlog max len 128 latency monitor threshold 0 notify keyspace events hash max ziplist entries 512 hash max ziplist value 64 list max ziplist size 2 第 14 页 共 34 页 list compress depth 0 set max intset entries 512 zset max ziplist entries 128 zset max ziplist value 64 hll sparse max bytes 3000 activerehashing yes client output buffer limit normal 0 0 0 client output buffer limit slave 256mb 64mb 60 client output buffer limit pubsub 32mb 8mb 60 hz 10 aof rewrite incremental fsync yes 3 3 43 3 4 启动及验证服务启动及验证服务 启动 redis cd redis 3 2 6 src redis server redis 6379 conf 连接 redis cd redis 3 2 6 src redis cli p 6379 表示连接成功 第 15 页 共 34 页 3 3 53 3 5 SlaveSlave 主机主机 redisredis 安装配置安装配置 Slave 主机 安装同上 修改 redis conf 改名为 redis 6379 conf 配置 大部分相同 只是有些与 Master 主机不 同 不同的配置 bind 127 0 0 1 port 6379 slaveof redis229 6379 daemonize no 使用 redis 6379 conf 配置文件启动 redis cd redis 3 2 6 src redis server redis 6379 conf 连接 redis cd redis 3 2 6 src redis cli p 6379 3 3 63 3 6 验证验证 M SM S 服务服务 Master 和 slave 主机都启动成功之后 可进入 redis 执行 info 命令 查看链接状态 若出现下面信息 则表示配置启动成功 Master 第 16 页 共 34 页 Slave 在 master 上 set 一个值 看 slave 能否取得 若可以则表示数据同步 OK Slave 3 3 73 3 7 部署问题汇总部署问题汇总 执行 make test 出现如下报错 redis host 10 1 234 229 redis 3 2 6 make test 第 17 页 共 34 页 cd src Vi veris keepalive etc keepalived keepalived conf 添加如下内容 global defs lvs id 23 vrrp script chk redis script veris keepalive scripts redis check sh weight 20 interval 2 vrrp instance VI 1 state MASTER 第 20 页 共 34 页 interface eno16777984 virtual router id 51 priority 200 advert int 5 track script chk redis virtual ipaddress 10 1 196 225 dev eno16777984 label eno16777984 0 notify master veris keepalive scripts redis master sh notify backup veris keepalive scripts redis backup sh Slave 24 主机 主机 修改 keepalived conf Rm veris keepalive etc keepalived keepalived conf Vi veris keepalive etc keepalived keepalived conf 添加如下内容 global defs lvs id 24 vrrp script chk redis script veris keepalive scripts redis check sh weight 20 interval 2 第 21 页 共 34 页 vrrp instance VI 1 state BACKUP interface eno16777984 virtual router id 51 priority 190 advert int 5 track script chk redis virtual ipaddress 10 1 196 225 dev eno16777984 label eno16777984 0 notify master veris keepalive scripts redis master sh notify backup veris keepalive scripts redis backup sh 4 3 64 3 6 启动启动 keepalivekeepalive 服务服务 启动需要 root 权限进行启动服务 启动脚本如下 master 和 slave 相同 veris redis bin redis server veris redis conf redis 6379 conf then echo ALIVE exit 0 else echo ALIVE exit 1 fi redis master sh bin bash REDISCLI veris redis bin redis cli LOGFILE veris keepalive log redis state log pid echo date Y m d H M S pid state slaver LOGFILE echo date Y m d H M S pid state slaver Run SLAVEOF 10 1 196 23 6379 LOGFILE REDISCLI SLAVEOF 10 1 196 23 6379 LOGFILE 2 1 echo date Y m d H M S pid state slaver wait 10 sec for data sync from old master LOGFILE 第 25 页 共 34 页 sleep 10 echo date Y m d H M S pid state slaver data rsync from old mater ok LOGFILE echo date Y m d H M S pid state master Run slaveof no one close master slave LOGFILE REDISCLI SLAVEOF NO ONE LOGFILE 2 1 echo date Y m d H M S pid state master wait other slave connect LOGFILE redis backup sh bin bash REDISCLI veris redis bin redis cli LOGFILE veris keepalive log redis state log pid echo date Y m d H M S pid state master LOGFILE echo date Y m d H M S pid state master Being slave state LOGFILE 2 1 echo date Y m d H M S pid state master wait 10 sec for data sync from old master LOGFILE sleep 10 echo date Y m d H M S pid state master data rsync from old mater ok LOGFILE echo date Y m d H M S pid state slaver Run SLAVEOF 10 1 196 23 6379 LOGFILE REDISCLI SLAVEOF 10 1 196 23 6379 LOGFILE 2 1 echo date Y m d H M S pid state slaver slave connect to 10 1 196 23 ok LOGFILE 4 3 94 3 9 验证验证 redisM SredisM S 切换切换 验证思路如下 第 26 页 共 34 页 注 以下为抢占模式验证 抢占模式为 master 主机重启启动 就会将自己的 master 角色抢回来 非抢占就是启动了 将自己作为 slave 不会强制将 master 角色抢回 来 启动 23 24 两台主机的 redis 查看各自的 master 和 slave 的状态 23 是 master 24 为 salve 23 24 图中可以看到当前 23 作为 master 主机 24 作为 slave 主机 停掉 master 的主机 23 查看 slave 的主机 24 是否可以自动变成 master 在 23 的主机上执行停 redis 操作 redis cli shundown 查看 24 主机的状态 第 27 页 共 34 页 从图上可看出 24 的 redis 已从 slave 切换成 master 模式 启 master 的主机 23 查看 23 是否把 master 抢占过来 24 自动变成 slave 启动命令 redis server etc redis 6379 conf 查看 23 和 24 的 redis 状态 23 24 第 28 页 共 34 页 由上图可看出 23 的 redis 状态为 master 24 的状态从 master 切换成 slave 4 3 104 3 10 部署问题汇总部署问题汇总 安装 keeplive 报错如下 1 执行 checking openssl ssl h presence no checking for openssl ssl h no configure error OpenSSL is not properly installed on your system Can not include OpenSSL headers files 解决方法 主机未安装 openssl 相关插件 需安装 yum y install openssl yum y install openssl devel 第 29 页 共 34 页 5性能调优性能调优 Redis conf 的文件具体参数介绍 Redis conf 配置文件 参数说明示例 include引入其它配置文件 比如说当你有多个 server 而有一些配置项是它们公用的 那么你可以将这些公 用的配置项写进一个配置文件 common conf 里 然 后这些 server 再 include 这个配置文件 这些 server 自己的配置项则分别写在自己的配置文件里 include path to common c onf loadmodule启动时加载模块 如果 server 无法加载模块 则此配置会被忽略 可以使用多个 loadmodule loadmodule path to my modul e so Bindredis 在 server 上所有有效的网络接口上监听 客户端连接 如果只想让它在一个或多个网络接口上 监听 那你就绑定一个 IP 或者多个 IP 多个 ip 空格 分隔即可 bind 192 168 1 100 10 0 0 1 bind 127 0 0 1 1 protected mode 当开启后 禁止公网访问 redis 它启用的条件 有两个 第一是没有使用 bind 第二是没有设置访问 密码 protected mode yes Port指定该 redis server 监听的端口号 默认是 6379 如果指定 0 则不监听 port 6379 tcp backlog此参数确定了 TCP 连接中已完成队列 完成三次 握手之后 的长度 当然此值必须不大于 Linux 系统 定义的 proc sys net core somaxconn 值 默认是 511 而 Linux 的默认参数值是 128 当系统并发量 大并且客户端速度缓慢的时候 可以将这二个参数一 起参考设定 tcp backlog 511 Timeout当客户端闲置多少秒后关闭连接 如果设置为 0 表示关闭该功能 timeout 30 tcp keepalive单位是秒 表示将周期性的使用 SO KEEPALIVE 检测客户端是否还处于健康状态 tcp keepalive 300 第 30 页 共 34 页 避免服务器一直阻塞 官方给出的建议值是 300S daemonize是否以守护模式启动 默认为 no 配置为 yes 时以守护模式启动 这时 redis instance 会将进程号 pid 写入默认文件 var run redis pid daemonize yes pidfile配置 pid 文件路径 当 redis 以守护模式启动时 如果没有配置 pidfile pidfile 默认值是 var run redis pid pidfile var run redis 637 9 pid loglevel日志级别 可选项有 debug 记录大量日志信 息 适用于开发 测试阶段 verbose 较多日志 信息 notice 适量日志信息 使用于生产环境 warning 仅有部分重要 关键信息才会被记录 loglevel notice logfile日志文件的位置 当指定为空字符串时 为标准 输出 如果 redis 已守护进程模式运行 那么日志将 会输出到 dev null logfile databases设置数据库的数目 默认的数据库是 DB 0 可 以在每个连接上使用 select 命令选择一个不 同的数据库 dbid 是一个介于 0 到 databases 1 之 间的数值 databases 16 Save保存数据到磁盘 格式是 save 含义是在 seconds 秒之后至少有 changes 个 keys 发生改变则保存一次 save 900 1 save 300 10 save 60 10000 stop writes on bgsave error 默认情况下 如果 redis 最后一次的后台保存失 败 redis 将停止接受写操作 这样以一种强硬的方 式让用户知道数据不能正确的持久化到磁盘 否则 就会没人注意到灾难的发生 如果后台保存进程重 新启动工作了 redis 也将自动的允许写操作 然而 你要是安装了靠谱的监控 你可能不希望 redis 这样 做 那你就改成 no 好了 stop writes on bgsave error no rdbcompressi on 是否在 dump rdb 数据库的时候压缩字符串 默认设置为 yes 如果你想节约一些 cpu 资源的话 可以把它设置为 no 这样的话数据集就可能会比较 大 rdbcompressi on yes rdbchecksum是否 CRC64 校验 rdb 文件 会有一定的性能损rdbchecksum 第 31 页 共 34 页 失 大概 10 yes dbfilenamerdb 文件的名字dbfilename dump rdb dir数据库存放目录 必须是一个目录 aof 文件也 会保存到该目录下 dir slaveof设置本机为 slave 服务 格式 slaveof 设置 master 服务的 IP 地 址及端口 在 Redis 启动时 它会自动从 master 进 行数据同步 slaveof 192 168 0 1 6379 masterauth当 master 服务设置了密码保护时 slav 服务连 接 master 的密码 masterauth 123456 slave serve stale data 当一个 slave 与 master 失去联系时 或者复制 正在进行的时候 slave 应对请求的行为 1 如果为 yes 默认值 slave 仍然会应答客户端请求 但 返回的数据可能是过时 或者数据可能是空的在第一 次同步的时候 2 如果为 no 在你执行除了 info 和 salveof 之外的其他命令时 slave 都将返回一个 SYNC with master in progress 的错误 slave serve stale data yes slave read only 设置 slave 是否是只读的 从 2 6 版起 slave 默认是只读的 slave read only yes repl diskless sync 主从数据复制是否使用无硬盘复制功能 repl diskless sync no repl ping slave period 指定 slave 定期 ping master 的周期 默认 10 秒 钟 repl ping slave period 10 repl timeout设置主库批量数据传输时间或者 ping 回复时间 间隔 默认值是 60 秒 repl timeout 60 repl disable tcp nodelay 指定向 slave 同步数据时 是否禁用 socket 的 NO DELAY 选 项 若配置为 yes 则禁用 NO DELAY 则 TCP 协议栈会合并小包统一发送 这样可以减少主从节点间的包数量并节省带宽 但会 增加数据同步到 slave 的时间 若配置为 no 表明 启用 NO DELAY 则 TCP 协议栈不会延迟小包的发 送时机 这样数据同步的延时会减少 但需要更大的 repl disable tcp nodelay no 第 32 页 共 34 页 带宽 通常情况下 应该配置为 no 以降低同步延时 但在主从节点间网络负载已经很高的情况下 可以配 置为 yes repl backlog size 设置主从复制 backlog 容量大小 这个 backlog 是一个用来在 slaves 被断开连接时存放 slave 数据 的 buffer 所以当一个 slave 想要重新连接 通常 不希望全部重新同步 只是部分同步就够了 仅仅传 递 slave 在断开连接时丢失的这部分数据 这个值 越大 salve 可以断开连接的时间就越长 repl backlog size 1mb repl backlog ttl 配置当 master 和 slave 失去联系多少秒之后 清空 backlog 释放空间 当配置成 0 时 表示永远不 清空 repl backlog ttl 3600 slave priority当 master 不能正常工作的时候 Redis Sentinel 会从 slaves 中选出一个新的 master 这 个值越小 就越会被优先选中 但是如果是 0 那 是意味着这个 slave 不可能被选中 默认优先级为 100 slave priority 100 requirepass设置 redis 连接密码requirepass foobared maxclients设置客户端最大并发连接数 默认无限制 Redis 可以同时打开的客户端连接数为 Redis 进程可 以打开的最大文件描述符数 32 redis server 自身会 使用一些 如果设置 maxclients 0 表示不作限制 当客户端连接数到达限制时 Redis 会关闭新的连接 并向客户端返回 max number of clients reached 错误 信息 maxclient

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论