美文网首页我爱编程
CentOs7.3 搭建 Redis-4.0.1 单机服务

CentOs7.3 搭建 Redis-4.0.1 单机服务

作者: 六月天的安静 | 来源:发表于2017-09-19 14:46 被阅读29次

    Redis 简介

    Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库。

    Redis 与其他 key - value 缓存产品有以下三个特点:
    Redis支持数据的持久化,可以将内存中的数据保持在磁盘中,重启的时候可以再次加载进行使用。
    Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。
    Redis支持数据的备份,即master-slave模式的数据备份。

    Redis 优势

    性能极高 – Redis能读的速度是110000次/s,写的速度是81000次/s 。
    丰富的数据类型 – Redis支持二进制案例的 Strings, Lists, Hashes, Sets 及 Ordered Sets 数据类型操作。
    原子 – Redis的所有操作都是原子性的,同时Redis还支持对几个操作全并后的原子性执行。
    丰富的特性 – Redis还支持 publish/subscribe, 通知, key 过期等等特性。

    Redis与其他key-value存储有什么不同?

    Redis有着更为复杂的数据结构并且提供对他们的原子性操作,这是一个不同于其他数据库的进化路径。Redis的数据类型都是基于基本数据结构的同时对程序员透明,无需进行额外的抽象。
    Redis运行在内存中但是可以持久化到磁盘,所以在对不同数据集进行高速读写时需要权衡内存,应为数据量不能大于硬件内存。在内存数据库方面的另一个优点是, 相比在磁盘上相同的复杂的数据结构,在内存中操作起来非常简单,这样Redis可以做很多内部复杂性很强的事情。 同时,在磁盘格式方面他们是紧凑的以追加的方式产生的,因为他们并不需要进行随机访问。

    环境

    • VMware版本号:12.0.0
    • CentOS版本:CentOS 7.3.1611

    注意事项
    升级所有的包,防止出现版本过久不兼容问题

    $ yum -y update
    

    安裝 GCC 编译工具 不然会有编译不过的问题

    $ yum install -y gcc g++ gcc-c++ make
    

    关闭防火墙 节点之前需要开放指定端口,为了方便,生产不要禁用

    centos 6.x

    $ service iptables stop # 关闭命令:
    

    centos 7.x

    $ systemctl stop firewalld.service # 停止firewall
    

    单机搭建
    安装 Redis
    下载,解压,编译安装

    $ cd /opt
    $ wget http://download.redis.io/releases/redis-4.0.1.tar.gz
    $ tar xzf redis-4.0.1.tar.gz
    $ cd redis-4.0.1
    $ make
    

    如果因为上次编译失败,有残留的文件

    $ make distclean
    

    创建配置

    默认的 redis.conf 配置文件内容太多,很多配置,不太好,用的时候再往,自己定义的配置文件加

    1.创建 redis-sentinel目录 用于放自定义配置文件启动 redis.conf

    $ cd /
    $ mkdir redis-sentinel
    

    Redis.conf 配置

    port 6379
    bind 192.168.252.104
    daemonize yes
    pidfile /var/run/redis_6379.pid
    appendonly yes
    

    redis.conf 配置说明

    #端口7000
    port 7000
    
    #默认IP为127.0.0.1,需要改为其他节点机器可访问的IP
    bind 192.168.252.101
    
    #redis后台运行
    daemonize yes 
    
    #当 Redis 以守护进程的方式运行的时候,Redis 默认会把 pid 文件放在/var/run/redis_6379.pid
    pidfile /var/run/redis_6379.pid
            
    #aof日志开启,有需要就开启,它会每次写操作都记录一条日志
    appendonly yes
    

    启动服务

    使用指定配置文件启动

    $ /opt/redis-4.0.1/src/redis-server /opt/redis-4.0.1/redis-sentinel/redis.conf
    
    21915:C 17 Aug 12:58:03.301 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
    21915:C 17 Aug 12:58:03.301 # Redis version=4.0.1, bits=64, commit=00000000, modified=0, pid=21915, just started
    21915:C 17 Aug 12:58:03.301 # Configuration loaded
    

    检查服务

    检查各 Redis 各个节点启动情况

    $ ps -ef | grep redis           //redis是否启动成功
    $ netstat -tnlp | grep redis    //监听redis端口
    

    基本命令

    停止

    $ /opt/redis-4.0.1/src/redis-server stop /opt/redis-4.0.1/redis-sentinel/redis.conf
    

    启动

    $ /opt/redis-4.0.1/src/redis-server start
    

    重启

    $ /opt/redis-4.0.1/src/redis-server restart /opt/redis-4.0.1/redis-sentinel/redis.conf
    

    测试 Redis
    启动redis服务进程后,就可以使用测试客户端程序redis-cli和redis服务交互了

    比如

    $  /opt/redis-4.0.1/src/redis-cli -h 192.168.252.104 -c -p 6379
    192.168.252.104:6379> set name www.ymq.io
    OK
    192.168.252.104:6379> get name
    "www.ymq.io"
    192.168.252.104:6379> 
    

    启动脚本

    #!/bin/sh
    
    #kconfig: 345 86 14
    #description: Startup and shutdown script for Redis
     
    PROGDIR=/opt/redis-4.0.1 #安装路径
    PROGNAME=src/redis-server
    DAEMON=$PROGDIR/$PROGNAME
    CONFIG=/opt/redis-4.0.1/redis-sentinel/redis.conf
    PIDFILE=/var/run/redis_6379.pid
    DESC="redis daemon"
    SCRIPTNAME=/etc/rc.d/init.d/redisd
     
    start()
    {
             if test -x $DAEMON
             then
            echo -e "Starting $DESC: $PROGNAME"
                       if $DAEMON $CONFIG
                       then
                                echo -e "OK"
                       else
                                echo -e "failed"
                       fi
             else
                       echo -e "Couldn't find Redis Server ($DAEMON)"
             fi
    }
    
    stop()
    {
             if test -e $PIDFILE
             then
                       echo -e "Stopping $DESC: $PROGNAME"
                       if kill `cat $PIDFILE`
                       then
                                echo -e "OK"
                       else
                                echo -e "failed"
                       fi
             else
                       echo -e "No Redis Server ($DAEMON) running"
             fi
    }
    
    restart()
    {
        echo -e "Restarting $DESC: $PROGNAME"
        stop
             start
    }
     
    list()
    {
             ps aux | grep $PROGNAME
    }
     
    case $1 in
             start)
                       start
            ;;
             stop)
            stop
            ;;
             restart)
            restart
            ;;
             list)
            list
            ;;
     
             *)
            echo "Usage: $SCRIPTNAME {start|stop|restart|list}" >&2
            exit 1
            ;;
    esac
    exit 0
    

    启动服务

    $ service redisd start
    Starting redis daemon: src/redis-server
    22330:C 17 Aug 13:56:59.300 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
    22330:C 17 Aug 13:56:59.300 # Redis version=4.0.1, bits=64, commit=00000000, modified=0, pid=22330, just started
    22330:C 17 Aug 13:56:59.300 # Configuration loaded
    OK
    

    停止服务

    
    $ service redisd stop
    Stopping redis daemon: src/redis-server
    OK
    

    重启服务

    $ service redisd restart
    Restarting redis daemon: src/redis-server
    No Redis Server (/opt/redis-4.0.1/src/redis-server) running
    Starting redis daemon: src/redis-server
    22354:C 17 Aug 13:57:16.110 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
    22354:C 17 Aug 13:57:16.110 # Redis version=4.0.1, bits=64, commit=00000000, modified=0, pid=22354, just started
    22354:C 17 Aug 13:57:16.110 # Configuration loaded
    OK
    

    查看进程

    $ service redisd list
    root      22355  0.0  0.7  41656  7512 ?        Ssl  13:57   0:00 /opt/redis-4.0.1/src/redis-server 192.168.252.104:6379
    root      22370  0.0  0.0   9028   660 pts/1    R+   13:57   0:00 grep src/redis-server
    

    相关文章

      网友评论

        本文标题: CentOs7.3 搭建 Redis-4.0.1 单机服务

        本文链接:https://www.haomeiwen.com/subject/qcwwsxtx.html