当前位置: 首页 > news >正文

Redis安装部署

-


Redis简介
`Redis是一款优秀的NoSQLDB,它在2.x版本不支持集群,集群必须通过外部手段集成;但由于集成方法过于复杂,研发测试和运维要求较高。新版本Redis3.x发布后,自带集群功能,降低了分布式缓存的使用门槛。

Redis2.x单实例支持的业务能力并不小,Redis3.x内部集群后,集群负担工作有一定系统开销,如果使用选型需要结合业务具体分析。一般来说,必须使用分布式场景的或业务数据过亿的可以首先Redis3.x。

Redis3.0.7为目前推荐的最稳定版本,本文基于该版本修订。

Redis3.x引入了一个hash槽的概念,集群将整个系统分为16384个hash槽,这16384个槽位要全部分布在集群中的主节点上。主节点是Redis的读写节点,每个主节点可以配置一个或多个从节点,从节点自动同步主节点数据;当主节点下线时,从节点自动代替主节点工作。`
jedis-2.7.2版本开始支持java访问Redis3.x集群。


缩略语和术语

缩略语/术语

全  称

说  明

append only file(aof)

全持久化模式

 

Redis解压目录

 

$REDIS_HOME

Redis安装目录

 


- 注意事项
要求以用户模式安装

如果没有redis用户,请如下创建:


- root登录172.20.4.80服务器(root/epaylinks)
- 创建用户组db,即:

groupadd db


- 创建用户redis隶属于db组,redis用户目录位于“/usr/redis”,即:

useradd -u 544 -d /usr/redis -g db -m redis


- 设置密码,即:

passwd redis


输入redis2017


- 到此,用户redis创建完毕,接下来有关Redis集群环境的安装都要求在redis用户下完成。
升级注意事项

如果Redis已经安装过,请先备份原Redis的所有配置文件,即$REDIS_HOME目录下的所有文件。


-
注意事项

  • 每一次修改环境变量之后记得source ~/.bashrc



  • 每一次保存新的环境变量,只对当前会话或新连接的会话生效



- Redis安装操作步骤说明
安装前环境说明
集群环境说明

Redis3.x的最小集群需要3主3从6个实例;在生产环境最小配置3台服务器。测试验证工作可以部署在一台物理机上,用端口来区分实例。本次使用六个端口代表六个实例,搭建“三主三从”的集群环境,六个端口分别为6381 6382 6383 6384 6385 6386。


-

目录规范

为方便操作,目录路径统一定义,先创建以下两个常用目录:Redis安装包目录:${REDIS_FILE}、Redis最终安装目录:${REDIS_HOME}。操作如下:


以redis/redis2017登录进入主目录;


创建目录software用于存放所有软件安装包:


mkdir software


创建目录environment用于存放所有软件安装目录:


mkdir environment


创建本次环境搭建必要的几项安装目录:


cd environment


mkdir redis ruby


创建本次环境搭建必要的几项安装包目录,并将有需要的bin加入到PATH,示例:


vim ~/.bashrc


- - -  - - -  -


User specific aliases and functions


export REDIS_HOME=/usr/redis/environment/redis


export RUBY_HOME=/usr/redis/environment/ruby


export PATH=$PATH:$REDIS_HOME/bin:$RUBY_HOME/bin


- - -  - - -  -


source ~/.bashrc


-
下载

Redis到官方网站:http://www.redis.io/download下载


本文档用http://download.redis.io/releases/redis-3.0.7.tar.gz


cd software


wget -c http://download.redis.io/releases/redis-3.0.7.tar.gz


-
Redis 介绍

Redis是Remote Dictionary Server的缩写。他本质上一个Key/Value数据库,与Memcached类似的NoSQL型数据库,但是他的数据可以持久化的保存在磁盘上,解决了服务重启后数据不丢失的问题,他的值可以是string(字符串)、list(列表)、sets(集合)或者是ordered sets(被排序的集合),所有的数据类型都具有push/pop、add/remove、执行服务端的并集、交集、两个sets集中的差别等等操作,这些操作都是具有原子性的,Redis还支持各种不同的排序能力。redis3.x加入了集群功能(此功能需Ruby环境)。


根目录下:


       redis.conf 默认配置文件


src目录:


redis-trib.rb 创建集群


make命令执行完成后,会在安装目录的bin下生成5个可执行文件,分别是redis-server、redis-cli、redis-benchmark、redis-check-aof、redis-check-dump


-
解压

解压Redis的tar包:


cd software


tar -zxvf redis-3.0.7.tar.gz


这样就在当前目录下新建了一个包含发行版源代码的目录


-
安装

将redis安装包目录加入环境变量:


export REDIS_FILE=/usr/redis/software/redis-3.0.7


进入redis解压目录:


cd $REDIS_FILE


执行如下命令指定目录安装Redis:


make PREFIX=$REDIS_HOME install


-
创建工作目录并配置

进入Redis安装目录:


cd $REDIS_HOME


为了简洁明了,此处工作目录以端口号命名:


mkdir 6381 6382 6383 6384 6385 6386


分别在6381 6382 6383 6384 6385 6386目录下创建data、log、run、conf文件夹,例如在6381 目录下创建:


cd 6381


mkdir data log run conf


复制配置文件redis.conf到6381 6382 6383 6384 6385 6386目录下的conf目录中


cp $REDIS_FILE/redis.conf $REDIS_HOME/6381/conf/redis.conf


cp $REDIS_FILE/redis.conf $REDIS_HOME/6382/conf/redis.conf


cp $REDIS_FILE/redis.conf $REDIS_HOME/6383/conf/redis.conf


cp $REDIS_FILE/redis.conf $REDIS_HOME/6384/conf/redis.conf


cp $REDIS_FILE/redis.conf $REDIS_HOME/6385/conf/redis.conf


cp $REDIS_FILE/redis.conf $REDIS_HOME/6386/conf/redis.conf


分别修改6381 6382 6383 6384 6385 6386 conf目录下的redis.conf文件,此处以6381为例(注意:这配置文件必须绝对路径):


bind 0.0.0.0


pidfile /usr/redis/environment/redis/6381/run/redis.pid


port 6381


logfile “/usr/redis/environment/redis/6381/log/stdout.log”


dir /usr/redis/environment/redis/6381/data


daemonize yes


cluster-enabled yes


cluster-config-file nodes.conf


cluster-node-timeout 5000


appendonly yes


建议:


先改好一个结点的redis.conf,再复制到其它结点;


使用vim 替换命令全部替换端口号,即::%s/6381/6385/g


查看配置文件:grep -v '^#\|^$' redis.conf


修注:1.pidfile 或logfile目录配置内容可以用双引号括起来。


      2. 配置文件中有默认的tcp-backlog 511参数,该参数配置不正确不能成功启动。从注释来看该值取/proc/sys/net/core/somaxconn 和tcp_max_syn_backlog二者的最小配置,二者需要root权限才可以查看,我在centos上配置为tcp-backlog 100。


root查看方法:


cat /proc/sys/net/ipv4/tcp_max_syn_backlog


cat /proc/sys/net/core/somaxconn


 


-
启动、停止Redis
启动Redis服务器

进入$REDIS_HOME的bin目录下,命令:


可先将$REDIS_HOME/bin加到PATH:


export PATH=$PATH:$REDIS_HOME/bin


redis-server $REDIS_HOME/6381/conf/redis.conf


redis-server $REDIS_HOME/6382/conf/redis.conf


redis-server $REDIS_HOME/6383/conf/redis.conf


redis-server $REDIS_HOME/6384/conf/redis.conf


redis-server $REDIS_HOME/6385/conf/redis.conf


redis-server $REDIS_HOME/6386/conf/redis.conf


注:此命令仅有一个启动参数,用以指定配置文件,不加参数执行默认配置。


建议:将所有redis的启动命令写在一个shell快捷文件


-

停止Redis

可指定端口,关闭服务:


redis-cli -p 6381 shutdown


redis-cli -p 6382 shutdown


redis-cli -p 6383 shutdown


redis-cli -p 6384 shutdown


redis-cli -p 6385 shutdown


redis-cli -p 6386 shutdown


建议:将所有redis的停止命令写在一个shell快捷文件


注:为了下面的操作,如果执行了关闭服务的操作,请重新执行4.7.1重新开启服务


-

连接Redis

单实例链接方式:


redis-cli  -h主机IP  -p 端口号(默认为127.0.0.1 6379)


集群连接需要增加 –c 参数,主机和端口号随便连接一个主节点即可,当操作没有命中链接的主节点时集群内部路由到hash命中节点。这一步路由在网络条件不好时测试性能影响较大。


redis-cli –c  -h主机IP  -p 端口号(默认为127.0.0.1 6379)


示例:


redis-cli -c -h 127.0.0.1 -p 6381


 


注:至此,redis便安装完毕了。


- Ruby安装步骤

redis集群的创建需要ruby环境


-
下载

Ruby到官方网站:https://www.ruby-lang.org/en/downloads下载


本文挡用ruby-2.4.1


cd software


wget -c https://cache.ruby-lang.org/pub/ruby/2.4/ruby-2.4.1.tar.gz


-
解压

解压Ruby的tar包:


cd software


tar -zxvf ruby-2.4.1.tar.gz


-
安装

将redis安装包目录加入环境变量:


export RUBY_FILE=/usr/redis/software/ruby-2.4.1


进入Ruby解压目录


cd $RUBY_FILE


执行一下命令进行安装


./configure prefix=$RUBY_HOME


make


make install


查看版本号:


![](https://i-blog.csdnimg.cn/blog_migrate/3c5cd1ca8efde94c5406fafec0245033.png)


 


至此,Ruby便安装好了。


- Redis集群的创建
安装zlib

确保系统安装zlib,否则后续gem install会报 (no such file to load -- zlib)


cd software


wget -c http://www.zlib.net/zlib-1.2.11.tar.gz


tar -xzvf zlib-1.2.11.tar.gz


cd zlib-1.2.11


./configure  


make  


sudo make install (输入redis2017)


-
安装RubyGem

可从官网上找最新版本rubygem:https://rubygems.org/pages/download


以上方式复制rubygem的下载地址,下载到software目录:


cd software


wget -c https://rubygems.org/rubygems/rubygems-2.6.12.tgz


tar -zxvf rubygems-2.6.12.tgz


cd rubygems-2.6.12


ruby setup.rb


-
安装RedisGem
方法1

注:本次采用此方法安装。


创建redis集群需要ruby环境,而ruby需要redis接口(redis-gem),因此先安装redis接口(对应之前redis版本,这里同样用3.0.7版本):


gem install --local redis-3.0.7.gem


![](https://i-blog.csdnimg.cn/blog_migrate/c0dbdb38ec79e9b3bb8bfca74d0c5a85.png)


 


-

方法2

因国内网络环境无法连接到ruby资源库,淘宝给出了解决方案,我们只需要替换资源地址便可,详情可查看http://ruby.taobao.org


移除ruby官方的资源库地址:


gem sources --remove https://rubygems.org/


加入淘宝的资源地址:


gem sources -a https://ruby.taobao.org/


查看此时是否只有ruby.taobao.org:


gem sources –l


安装redis接口:


gem install redis


一般来说,安装Redis的服务器链接外网都比较困难,通过以上的网络方式安装局限性较大,建议下载到本地安装。通过命令-l (local)方式安装。


gem install redis-3.2.1.gem -l


-
创建集群

进入redis解压目录的src下:


cd $REDIS_FILE/src


执行命令创建集群(此处1表示1个主master对应一个从slave):


./redis-trib.rb create --replicas 1 127.0.0.1:6381 127.0.0.1:6382 127.0.0.1:6383 127.0.0.1:6384 127.0.0.1:6385 127.0.0.1:6386


注:创建集群需使用真实IP,而非127.0.0.1


开发服务器:


./redis-trib.rb create --replicas 1 172.20.4.90:6381 172.20.4.90:6382 172.20.4.90:6383 172.20.4.90:6384 172.20.4.90:6385 172.20.4.90:6386


测试服务器:


./redis-trib.rb create --replicas 1 172.20.4.90:6381 172.20.4.90:6382 172.20.4.90:6383 172.20.4.90:6384 172.20.4.90:6385 172.20.4.90:6386


安装过程根据提示输入yes并enter


注:如果报错提示redis未启动,按照“4.7.1启动Redis服务器”启动:


redis集群创建成功。


注意:这里的redis主从是自动分配的。


-
测试集群

登录多个redis实例的客户端,通过set 在不同实例中验证:


 


![](https://i-blog.csdnimg.cn/blog_migrate/5586ae005711ffb0884038c0172c7093.png)


 


 




![](https://i-blog.csdnimg.cn/blog_migrate/6503911a7717dbc5b6551f4d8ce5b46a.jpeg)

同名原创公众号:
程序大视界

http://www.jsqmd.com/news/922394/

相关文章:

  • 源码分析【三】ArrayList与LinkedList的比较
  • TVA在传统安防迈向智能物联(AIoT)中的突破与应用(2)
  • LibreDWG完全指南:5个关键优势解决DWG文件处理难题
  • XUnity.AutoTranslator:打破语言壁垒的Unity游戏翻译神器终极指南
  • 老显卡(GTX750/1050)也能玩转AI绘画?手把手教你升级驱动装CUDA11.4
  • 告别低效写作:盘点2026年实力封神的的降AI率平台 - 降AI小能手
  • idea中Maven基本介绍
  • 2026零添加蜂蜜水推荐:彭祖蜜分离式蜂蜜水值得选吗 - 资讯快报
  • 2026年4月市场正规的街舞文化推广基地推荐,开启创意之旅,着力推广街舞天地 - 品牌推荐师
  • 《中间件》——kafka的工作原理解析
  • 2026版机房动环智慧联动管控整体解决方案
  • 3分钟快速解密QQ音乐:qmcdump让你的加密音乐重获自由播放
  • JDK1.8的几个简单Lambda表达式
  • 终极魔兽争霸III游戏优化工具:简单三步提升你的游戏体验
  • 数据偏见:识别、规避与实战应对策略
  • Royal TSX中文汉化包:3分钟让专业远程管理工具说中文
  • 2026 年 5 个最佳 Agent Skills 平台推荐
  • 3个关键词让你的小爱音箱智能下载歌曲:Xiaomusic语音指令实用指南
  • 别再死记硬背公式了!用Python可视化带你直观理解两个高斯分布相乘(附Matlab/NumPy代码)
  • Maven与Gradle的区别
  • 终极网盘下载加速指南:3步实现直链解析与高速文件传输
  • 2026年珍珠棉厂家推荐排行榜:EPE珍珠棉/防震包装/五金电子包装/玻璃制品缓冲内衬/高密度珍珠棉卷材护角优选 - 企业推荐官【官方】
  • AI与大模型新闻日报 | 2026-05-31
  • 魔兽争霸3优化终极指南:5分钟解决现代电脑兼容性问题
  • 别再被间歇振荡搞懵了!用LTspice仿真RCC开关电源,从轻载到满载的完整避坑指南
  • 手把手教你用VMware安装华为EulerOS 2.0 SP5(附详细分区与开发环境配置)
  • 常州环创再生资源科技:江苏专业的废保护器回收公司怎么联系 - LYL仔仔
  • 西安曲江家政服务怎么选?2026曲江家政公司评测与实战落地指南 - 资讯快报
  • QMCDecode终极指南:3步快速解锁QQ音乐加密文件,免费实现音乐自由
  • Qt版本管理实战:从5.12.3平滑降级到5.9.8,并让VS2022同时识别多个Qt版本