Redis-Cluster(伪集群)

一、redis安装和启动

1.安装c语言环境

        yum install gcc-c++

2.从本地上传redis和redis集群相关的gem压缩包

        rz 选中压缩波

3.解压和安装redis

        tar -zxvf redis-3.0.0.tar.gz
        cd /usr/upload/redis-3.0.0
        make
        make install PREFIX=/usr/local/redis

4.拷贝配置文件并修改

         cp /usr/upload/redis-3.0.0/redis.conf  /usr/local/redis/bin
         vim /usr/local/redis/bin/redis.conf:
           将 daemonize no 修改为 daemonize yes

5.  启动和关闭

        启动:
            ./redis-server redis.conf
        关闭:
            ./redis-cli -h 127.0.0.1 -p 6379 shutdown

二、redis基本命令

    keys *:查看所有key
    expire和ttl:设置和查看key的失效时间
    exists:判断key值是否存在
    incr和decr:自增和自减

三、redis的多数据库实例

    1、redis实例中提供了下标是0-15的16个数据库,不能修改下标,可通过select切换
    2、清空数据库的命令
          flushdb:清空当前数据库的数据
          flushall:清空所有数据库的数据

四、持久化

1、RDB:默认(数据)
        策略:
            900 1
            300 10
            60 10000
        缺点:不能保证数据的完整性
        优点:不形象性能
        实验:
            1.删除dump.rdb
            2.set str abc
            3../redis-cli shutdown(生成持久化文件)

2、AOF:(命令)
        策略:
            #appendfsync always
            appendfsync everysec
        优点:保证数据完整性
        缺点:影响性能
        实验:
            1.设置appendonly为yes
            2.set str abc
            3.等待1秒打开appendonly.aof

五、redis集群

1、redis集群是多少台?
        投票容错超过半数:3台       高可用:3台
2、为什么集群中有一台挂了,则整个集群都挂了呢?
        redis集群中有16384个槽分给了3个节点,存取数据时:crc16(key)%16384=0~16383        

        解释:redis集群中有16384个槽因为是三个搭建的集群所以给了3个节点

                  存取数据时会根据key%16384 = ? 这个槽是谁的就分给谁

3、搭建步骤
        1、安装ruby环境
            yum install ruby
            yum install rubygems
            cd /usr/upload
            gem install redis-3.0.0.gem
            cd redis-3.0.0/src
            ll *.rb

        2、修改配置文件 拷贝6台redis,并启动

            1)vim /usr/local/redis/bin/redis.conf

              将  cluster-enable no 修改为 cluster-enable yes
            2)必须删除/redis/bin/下面的 dump.rdb和appendonly.aof文件(可能没有appendonly.aof)
            3)拷贝6个节点
                 cp -r /usr/local/redis /usr/local/redis-cluster/redis-7001

                 cp -r /usr/local/redis /usr/local/redis-cluster/redis-7002

                 cp -r /usr/local/redis /usr/local/redis-cluster/redis-7003
                 ... ... 一共拷贝6个以端口号区分
            4)修改配置文件

                vim /usr/local/redis-cluster/redis-7001/bin/redis.conf
                将 port 6379 修改为 port 7001

                vim /usr/local/redis-cluster/redis-7002/bin/redis.conf
                将 port 6379 修改为 port 7002
                ... ... 一共修改6个端口号要和文件名后缀保持一致

             4)创建启动脚本(v(视图)-y(复制)-p(粘贴))
               在/usr/local/redis-cluster/下
                 vim  start-all.sh
                 cd /usr/local/redis-cluster/redis-7001/bin
                 ./redis-server redis.conf
                 cd /usr/local/redis-cluster/redis-7002/bin
                 ./redis-server redis.conf
                 cd /usr/local/redis-cluster/redis-7003/bin
                 ./redis-server redis.conf
                 cd /usr/local/redis-cluster/redis-7004/bin
                 ./redis-server redis.conf
                 cd /usr/local/redis-cluster/redis-7005/bin
                 ./redis-server redis.conf
                 cd /usr/local/redis-cluster/redis-7006/bin
                 ./redis-server redis.conf
                 编辑完后
                 ctrl+c
                 :wq  退出
                 给创建的脚本设置权限
                 chmod 777 start-all.sh
                 执行脚本
                 ./start-all.sh

        3.查看是否启动

                搜索redis启动的服务

                ps -ef | grep redis

                 启动成功:

                

        4、使用ruby脚本搭建redis集群 

              cd /usr/upload/redis.3.0.0/src
             ./redis-trib.rb create --replicas 1 192.168.198.133:7001 192.168.198.133:7002                               192.168.198.133:7003 192.168.198.133:7004 192.168.198.133:7005                                       192.168.198.133:7006

            (我是搭建一台linux上面了,如真集群的话需要六台linux,修改ip即可)

             如果正常的话输入yes

        5、测试

                cd /usr/local/redis-cluster/redis-7001/bin

                ./redis-cli -c -p 7001

                成功:

        

         6、创建关闭脚本(v(视图)-y(复制)-p(粘贴))

                在cd /usr/local/redis-cluster/下

                vim shutdown-all.sh

                i

                cd /usr/local/redis-cluster/redis-7001/bin
                ./redis-cli -h 127.0.0.1 -p 7001 shutdown
                cd /usr/local/redis-cluster/redis-7002/bin
                ./redis-cli -h 127.0.0.1 -p 7002 shutdown
                cd /usr/local/redis-cluster/redis-7003/bin
                ./redis-cli -h 127.0.0.1 -p 7003 shutdown
                cd /usr/local/redis-cluster/redis-7004/bin
                ./redis-cli -h 127.0.0.1 -p 7004 shutdown
                cd /usr/local/redis-cluster/redis-7005/bin
                ./redis-cli -h 127.0.0.1 -p 7005 shutdown
                cd /usr/local/redis-cluster/redis-7006/bin
                ./redis-cli -h 127.0.0.1 -p 7006 shutdown

                编辑完后

                ctrl+c

                :wq  退出

                 给创建的脚本设置权限

                chmod 777 start-all.sh

                 执行脚本
                 ./shutdown-all.sh

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值