Centos7下安装Redis实战(单机版以及集群)

一、背景
  因项目需要,要引入redis做缓存,就在centos7下亲自安装了一遍redis,刚好趁着这个机会就来把redis的概念以及单机版和集群版redis安装步骤记录下来,在此和大家一起分享。

二、Redis介绍
1.什么是Redis?

Redis是用C语言开发的一个开源的高性能键值对(key-value)数据库。它通过提供多种键值数据类型来适应不同场景下的存储需求,目前为止Redis支持的键值数据类型有:字符串类型、散列类型、列表类型、集合类型、有序集合类型。

2.Redis的应用场景:

缓存(数据查询、短连接、新闻内容、商品内容等等)(最多使用)

分布式集群架构中的session分离

聊天室的在线好友列表

任务队列;(秒杀、抢购、12306等等)

应用排行榜

网站访问统计

数据过期处理(可以精确到毫秒)

三、安装前准备
1.因为redis是C语言开发的,所以我们建议在linux上运行,故本文介绍在centos7上安装redis.

2.安装redis需要先将官网下载的源码进行编译,编译依赖gcc环境,如果没有gcc环境,需要安装gcc,命令如下:

yum -y install gcc-c++
四、安装单机版redis
1.从官方网站下载对应的redis源码包,命令如下:

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

2.对源码文件的压缩包进行解压缩,命令如下:

tar -zxvf redis-3.0.0.tar.gz

3.进入到解压后的源码文件夹,并对源码进行编译,命令如下:

cd redis-3.0.0.tar.gz && make

4.安装编译完成后的文件(prefix参数用来指定redis的安装位置,一般建议安装在/usr/local/redis下)

make install PREFIX=/usr/local/redis

5.把/usr/local/redis/bin文件夹下所有文件移动到/usr/local/redis文件夹下,并删除/usr/local/redis/bin文件夹

mv /usr/local/redis/bin/* /usr/local/redis/ && rm -rf /usr/local/redis/bin

6.安装完成,启动单机版redis

1).控制台直接启动:cd /usr/local/redis && ./redis-server

2).后台启动:

I.复制源码包下的redis.conf到redis的安装目录.

II.修改redis.conf,将其中daemonize no项修改daemonize yes

III.后台启动:cd /usr/local/redis && ./redis-server redis.conf

7.启动并测试客户端

redis-cli -p 端口(默认6379) -h 主机ip(默认localhost即127.0.0.1)
五、安装redis集群
  1.redis-cluster集群架构图


image.png

架构细节:

(1)所有的redis节点彼此互联(PING-PONG机制),内部使用二进制协议优化传输速度和带宽.

(2)节点的fail是通过集群中超过半数的节点检测失效时才生效.

(3)客户端与redis节点直连,不需要中间proxy层.客户端不需要连接集群所有节点,连接集群中任何一个可用节点即可

(4)redis-cluster把所有的物理节点映射到[0-16383]slot上,cluster 负责维护node<->slot<->value

Redis 集群中内置了16384 个哈希槽,当需要在 Redis 集群中放置一个key-value 时,redis 先对 key 使用 crc16 算法算出一个结果,然后把结果对 16384 求余数,这样每个 key 都会对应一个编号在 0-16383 之间的哈希槽,redis 会根据节点数量大致均等的将哈希槽映射到不同的节点。
 2.创建集群:(说明:由于机器有限,我们先使用一台linux服务器来创建6个redis实例从而创建一个伪集群)

第一步:在/usr/local文件夹下创建redis-cluster文件夹作为redis集群根目录

cd /usr/local && mkdir redis-cluster

第二步:在redis-cluster文件夹下安装6个redis实例,安装步骤同单机版安装步骤。

第三步:分别编辑每个实例的redis.conf文件指定端口为7001到7006,并打开每一个配置文件中cluster-enable yes前面的注释(即去掉'#'号)。

第四步:拷贝redis源码文件夹下的名为redis-trib.rb的ruby脚本文件到redis-cluster文件夹下

cp redis-trib.rb /usr/local/redis-cluster/

第五步:执行该ruby脚本前,在系统中安装ruby环境

1).yum -y install ruby

2).yum -y install rubygems

第六步:安装执行ruby脚本redis-trib.rb执行所依赖的gem包:redis-3.0.0.gem

gem install redis-3.0.0.gem

第七步:启动所有的redis实例

./redis-server redis.conf

第八步:使用redis-trib.rb创建集群(如果是在不同的机器上安装实例,只需要在任意一台机器上执行以下命令即可)

./redis-trib.rb create --replicas 1 192.168.25.153:7001 192.168.25.153:7002 192.168.25.153:7003 192.168.25.153:7004 192.168.25.153:7005 192.168.25.153:7006

出现以下界面,证明redis集群安装成功。


image.png

 第九步:进入任意一台实例安装位置,可以使用以下命令来进行连接集群:

./redis-cli -p 7001 -c(-c说明是连接集群,单机的时候不需要加该参数)

到此,我们就完成了redis的单机 以及集群版的安装和测试。
三、总结
  通过这次redis安装的经历,让我感觉到远处看安装集群什么的很困难,其实自己操作起来,感觉没有什么困难的,只要记住步骤就好了。所以不能给自己设限,什么事情都要保持一颗想要尝试的心。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • R阅读原书拆页-结构思考力P101-102 面对零散的信息,我们通常无法清晰地理解和传递含义。小张为了回答主管的问...
    Fly_Catkin阅读 4,292评论 0 0
  • 看到《头脑特工队》这个中文片名,我还以为这是一步智商超群的“谢耳朵”们组团打boss的惊险影片,但真正看到才发现这...
    好奇的小白阅读 3,169评论 0 1
  • 小学、初中、高中,每一个时期,我都想着怎样改变自己,怎样变得外向,成为更优秀的自己。同时我也羡慕着班长、团支书,他...
    沐言诺阅读 3,821评论 0 2