• 安装redis


    安装redis

    官网下载redis,解压缩,让进目录,make完事。[root@meng data]# tar redis-3.2.12.tar.gz 

    [root@meng data]# cd redis-3.2.12
    [root@meng redis-3.2.12]# make
    [root@meng redis-3.2.12]# pwd
    /data/redis-3.2.12
    [root@meng redis-3.2.12]# mkdir redis6380
    [root@meng redis-3.2.12]# pwd
    /data/redis-3.2.12
    [root@meng redis-3.2.12]# cp -rf redis.conf /data/redis6380/
    [root@meng src]# pwd
    /data/redis-3.2.12/src
    [root@meng src]# cp src/redis-server /data/redis6380/
    [root@meng redis6380]# pwd
    /data/redis6380
    [root@meng redis6380]# grep '^[^$|#;]' redis.conf > redis.conf2
    [root@meng redis6380]# mv redis.conf redis.confbak
    [root@meng redis6380]# mv redis.conf2 redis.conf
    [root@meng redis6380]# ll
    total 5124
    -rw-r--r-- 1 root root    1170 Sep  4 20:24 redis.conf
    -rw-r--r-- 1 root root   46695 Sep  4 20:16 redis.confbak
    -rwxr-xr-x 1 root root 5192400 Sep  4 20:16 redis-server
    [root@meng redis6380]# vim redis.conf
    [root@meng redis6380]# ./redis-server redis.conf
                    _._                                                  
               _.-``__ ''-._                                             
          _.-``    `.  `_.  ''-._           Redis 3.2.12 (00000000/0) 64 bit
      .-`` .-```.  ```/    _.,_ ''-._                                   
     (    '      ,       .-`  | `,    )     Running in standalone mode
     |`-._`-...-` __...-.``-._|'` _.-'|     Port: 6380
     |    `-._   `._    /     _.-'    |     PID: 30112
      `-._    `-._  `-./  _.-'    _.-'                                   
     |`-._`-._    `-.__.-'    _.-'_.-'|                                  
     |    `-._`-._        _.-'_.-'    |           http://redis.io        
      `-._    `-._`-.__.-'_.-'    _.-'                                   
     |`-._`-._    `-.__.-'    _.-'_.-'|                                  
     |    `-._`-._        _.-'_.-'    |                                  
      `-._    `-._`-.__.-'_.-'    _.-'                                   
          `-._    `-.__.-'    _.-'                                       
      [root@meng redis6380]# vim redis.conf
    [root@meng redis6380]# ./redis-server redis.conf
    [root@meng redis6380]# netstat -lnpt
    Active Internet connections (only servers)
    Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
    tcp        0      0 127.0.0.1:6379          0.0.0.0:*               LISTEN      27045/redis-server  
    tcp        0      0 127.0.0.1:6380          0.0.0.0:*               LISTEN      30117/./redis-serve 
    tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1199/sshd           
    tcp        0      0 0.0.0.0:25              0.0.0.0:*               LISTEN      23187/master        
    tcp6       0      0 :::80                   :::*                    LISTEN      1671/docker-proxy-c 
    tcp6       0      0 :::25                   :::*                    LISTEN      23187/master        
    [root@meng redis6380]# ll
    total 5128
    -rw-r--r-- 1 root root      77 Sep  4 20:26 dump.rdb
    -rw-r--r-- 1 root root    1171 Sep  4 20:26 redis.conf
    -rw-r--r-- 1 root root   46695 Sep  4 20:16 redis.confbak
    -rwxr-xr-x 1 root root 5192400 Sep  4 20:16 redis-server
    [root@meng redis6380]# whereis redis-cli
    redis-cli: /usr/bin/redis-cli /usr/share/man/man1/redis-cli.1.gz
    [root@meng redis6380]# redis-cli 
    dump.rdb       redis.conf     redis.confbak  redis-server   
    [root@meng redis6380]# redis-cli --help
    redis-cli 3.2.12
    
    Usage: redis-cli [OPTIONS] [cmd [arg [arg ...]]]
      -h <hostname>      Server hostname (default: 127.0.0.1).
      -p <port>          Server port (default: 6379).
      -s <socket>        Server socket (overrides hostname and port).
      -a <password>      Password to use when connecting to the server.
      -r <repeat>        Execute specified command N times.
      -i <interval>      When -r is used, waits <interval> seconds per command.
                         It is possible to specify sub-second times like -i 0.1.
      -n <db>            Database number.
      -x                 Read last argument from STDIN.
      -d <delimiter>     Multi-bulk delimiter in for raw formatting (default: 
    ).
      -c                 Enable cluster mode (follow -ASK and -MOVED redirections).
      --raw              Use raw formatting for replies (default when STDOUT is
      [root@meng redis6380]# redis-cli
    127.0.0.1:6379> 
    [root@meng redis6380]# redis-cli -p 6380
    127.0.0.1:6380> set foo sb
    OK
    127.0.0.1:6380> get foo
    "sb"                  

    redis集群

    脚本创建6个节点,并修改配置文件

    [root@meng data]# more cluster.sh 
    #!/bin/bash
    rm -rf /data/700*
    for no in 0 1 2 3 4 5;do cp -r redis6380/ 700$no;done
    for no in 0 1 2 3 4 5;do rm -rf 700$no/dump.rdb;done
    for no in 0 1 2 3 4 5
    do
            cd /data/700$no
        sed -i "s/port 6380/port 700$no/g" redis.conf
        echo "cluster-enabled yes" >> redis.conf
        echo "cluster-config-file nodes.conf" >> redis.conf
        echo "cluster-node-timeout 5000" >> redis.conf 
        sed -i "s/appendonly no/appendonly yes/g" redis.conf
        sed -i "s/redis_6380.pid/redis_700$no.pid/g" redis.conf
        sed -i "/^dir/d" redis.conf
        echo 'dir "./"' >> redis.conf
        
    done
    [root@meng data]# 

    启动6个节点:

    [root@meng data]# for no in 0 1 2 3 4 5;do cd /data/700$no && ./redis-server ./redis.conf;done
    
    [root@meng data]# netstat -lnpt
    Active Internet connections (only servers)
    Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name 
    tcp 0 0 0.0.0.0:17003 0.0.0.0:* LISTEN 2536/./redis-server 
    tcp 0 0 0.0.0.0:17004 0.0.0.0:* LISTEN 30492/./redis-serve 
    tcp 0 0 0.0.0.0:17005 0.0.0.0:* LISTEN 30494/./redis-serve 
    tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1199/sshd 
    tcp 0 0 0.0.0.0:7000 0.0.0.0:* LISTEN 2504/./redis-server 
    tcp 0 0 0.0.0.0:7001 0.0.0.0:* LISTEN 30486/./redis-serve 
    tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN 23187/master 
    tcp 0 0 0.0.0.0:7002 0.0.0.0:* LISTEN 30488/./redis-serve 
    tcp 0 0 0.0.0.0:7003 0.0.0.0:* LISTEN 2536/./redis-server 
    tcp 0 0 0.0.0.0:7004 0.0.0.0:* LISTEN 30492/./redis-serve 
    tcp 0 0 0.0.0.0:7005 0.0.0.0:* LISTEN 30494/./redis-serve 
    tcp 0 0 0.0.0.0:17000 0.0.0.0:* LISTEN 2504/./redis-server 
    tcp 0 0 0.0.0.0:17001 0.0.0.0:* LISTEN 30486/./redis-serve 
    tcp 0 0 0.0.0.0:17002 0.0.0.0:* LISTEN 30488/./redis-serve 
    tcp6 0 0 :::80 :::* LISTEN 1671/docker-proxy-c 
    tcp6 0 0 :::25 :::* LISTEN 23187/master

    创建集群脚本是ruby写的,需要系统安装高于2.2.以上版本的ruby,ruby版本低会报以下错误。

    创建redis集群报错 /usr/share/rubygems/rubygems/core_ext/kernel_require.rb:55:in `require': cannot load suc

    升级ruby步骤:

    1、sudo yum install curl  安装curl
    2、下载rvm   curl -sSL https://get.rvm.io | bash -s stable 
    3、查找配置文件 find / -name rvm.sh 
    4、配置文件生效 source /etc/profile.d/rvm.sh 
    5、下载rvm依赖 rvm requirements 
    6、查看rvm库ruby版本 rvm list known
    7、安装ruby指定版本 rvm install ruby-2.4.1
    8、使用ruby版本默认 rvm use 2.4.1 default
    9、gem install redis

    然后从新创建集群输入yes成功,查看集群节点状态。有master和slave

    [root@meng data]# /data/redis-3.2.12/src/redis-trib.rb create --replicas 1 127.0.0.1:7000 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005
    [root@meng data]# redis-cli -c -h 127.0.0.1 -p 7002
    127.0.0.1:7002> set foo2 www
    -> Redirected to slot [1044] located at 127.0.0.1:7003
    OK
    127.0.0.1:7003> get foo2
    "www"
    127.0.0.1:7003> 
    [root@meng data]# redis-cli -p 7000 cluster nodes
    7a295ffed325031866332c1f686c7eb26f7c6123 127.0.0.1:7001 master - 0 1536073555336 2 connected 5461-10922
    9a711fa99b06b625abe31a1ce721b469152801e8 127.0.0.1:7004 slave 7a295ffed325031866332c1f686c7eb26f7c6123 0 1536073553834 5 connected
    701a613bdaeeafca902595d8a75f61c174577879 127.0.0.1:7005 slave 20364419bce097b62c957d816c326cc4bc634505 0 1536073553333 6 connected
    20364419bce097b62c957d816c326cc4bc634505 127.0.0.1:7002 master - 0 1536073554836 3 connected 10923-16383
    302ae0e7b28c656dca312cc2b2eb860729a5cb98 127.0.0.1:7003 master - 0 1536073554836 7 connected 0-5460
    2433185edac6e587ec4942c4608948c8b898c1aa 127.0.0.1:7000 myself,slave 302ae0e7b28c656dca312cc2b2eb860729a5cb98 0 0 1 connected
    [root@meng data]# 
  • 相关阅读:
    Swift
    Swift
    书籍
    Swift
    Swift
    iOS系统架构
    Reveal真机(越狱)查看任意APP
    Swift
    Swift
    Swift
  • 原文地址:https://www.cnblogs.com/menglingqian/p/9589060.html
Copyright © 2020-2023  润新知