• 在centOS上安装redis步骤


    记录一下方便自己以后回顾。

    Redis是c语言开发的。

    安装redis需要c语言的编译环境。如果没有gcc需要在线安装,命令:yum install gcc-c++

    先说说单机版的安装吧:

    第一步:redis的源码包上传到linux系统并解压,解压完如图:

    第二步:编译。进入redis源码目录,make(上图的目录就是源码的目录,已经有makefile,可以直接输入make命令进行编译

    第三步:安装。在源码目录下执行命令:make install PREFIX=/usr/local/redis(PREFIX指定安装目录,安装完成后,可以看到/usr/local/redis有个bin文件夹,进入bin文件夹,如下图)

    至此,redis安装完成,可以直接启动 ./redis-server,这种方式是前端启动方式,可以ctrl+c关闭redis。

    也可以使用后端启动方式,启动时指定一个配置文件,在redis源码目录下,拷贝redis.conf到redis安装目录bin下,

    然后执行命令 vim redis.conf修改里面的内容 daemonize no 改为daemonize yes,然后执行命令 ./redis-server redis.conf,

    后台启动模式成功,可以用命令 ps aux|grep redis 可以查看到redis进程,可以使用kill命令关闭redis,也可以使用命令

    ./redis-cli shutdown 关闭redis。

    接下来说一下集群版redis的安装(用伪集群,一台机器上不同端口代表不同机器):

    首先了解一下redis集群的原理:

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

    (2)节点的fail是通过集群中超过半数的节点检测失效时才生效.所以集群最少要有3个节点

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

    (4)redis-cluster把所有的物理节点映射到[0-16383]slot上,cluster 负责维护,Redis 集群中内置了 16384 个哈希槽,当需要在 Redis 集群中放置一个 key-value 时,redis 先对 key 使用 crc16 算法算出一个结果,然后把结果对 16384 求余数,这样每个 key 都会对应一个编号在 0-16383 之间的哈希槽,redis 会根据节点数量大致均等的将哈希槽映射到不同的节点,比如三台机器A,B,C,根据内存大小分别分配三台机器的槽点A:0-5000,B:5001-10000,C:10001-16383,此时有一个key过来,根据计算这个key对应的槽是2000,那么就存放在A这台机器,理论上存放三台机器上概率和每台机器的槽点数有关。

    开始搭建伪集群

    Redis集群中至少应该有三个节点。要保证集群的高可用,需要每个节点有一个备份机。

    Redis集群至少需要6台服务器,可以使用一台虚拟机运行6个redis实例,需要修改redis的端口号7001-7006。

    第一步:创建6个redis实例,把上面单机版的redis安装目录bin复制6份,分别命名为redis01~redis06,在redis.conf中分别给六个redis配置不同的端口,并且把cluster-enabled yes前的注释去掉。

    第二步:启动每个redis实例。

    第三步:把随便一个redis安装目录下的redis-trib.rb文件复制一份放到与redis01~redis06同级目录下,如图,

    这是个ruby脚本,需要安装ruby的运行环境:

    安装ruby

    yum install ruby

    yum install rubygems

    安装ruby脚本运行使用的包,先把redis-3.0.0.gem拷到linux系统,执行gem install redis-3.0.0.gem,如图:

    使用ruby脚本搭建集群。

    ./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-trib.rb create --replicas 1 这个参数1说明每个节点有一个备份机,后面接了6个节点的IP,它会默认分配成三个节点和三个对应的备份机,至此,redis集群搭建成功!

  • 相关阅读:
    查询表中指定列数据
    新媒体运营项目管理者的3款王炸软件
    浅谈GPU:历史发展,架构
    基于SpringBoot的在线学生请假管理系统的设计与实现毕业设计源码060935
    QT安装、创建项目与调试,在VS中的使用:手把手教程
    dB family cheat sheet: dB, dBW, dBm, dBi, dBc, etc
    java使用elasticsearchClient调用es7.17 - 新增数据,基本数据查询,条件筛选查询
    【PHP实现微信公众平台开发—基础篇】第2章 微信公众账号及申请流程详解
    场馆如何智能化升级?
    【QT】Qt使用QJson生成json文件并保存
  • 原文地址:https://blog.csdn.net/m0_67402588/article/details/126565429