美文网首页
CentOS 7 安装 Redis

CentOS 7 安装 Redis

作者: BiaoWong | 来源:发表于2018-12-20 09:09 被阅读4次

    Redis介绍

    Redis https://redis.io 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件。 它支持多种类型的数据结构,如 字符串(strings), 散列(hashes), 列表(lists), 集合(sets), 有序集合(sorted sets) 与范围查询, bitmaps, hyperloglogs 和 地理空间(geospatial) 索引半径查询。 Redis 内置了 复制(replication),LUA脚本(Lua scripting), LRU驱动事件(LRU eviction),事务(transactions) 和不同级别的 磁盘持久化(persistence), 并通过 Redis哨兵(Sentinel)和自动 分区(Cluster)提供高可用性(high availability)。

    Redis使用

    • Redis命令 redis完整的命令列表,以及他们的说明文档。
    • 管道(Pipelining):学习如何一次发送多个命令,节省往返时间。
    • Redis 发布/订阅(Pub/Sub):redis是一个快速、稳定的发布/订阅的信息系统。
    • Redis Lua 脚本:Redis 2.6 Lua 脚本相关文档。
    • Lua 脚本调试:Redis 3.2 Lua 脚本调试相关文档。
    • 内存优化:了解如何使用内存和学习一些使用技巧。
    • 过期(Expires):Redis允许为每一个key设置不同的过期时间,当它们到期时将自动从服务器上删- 除。
    • 将Redis当做使用LRU算法的缓存来使用:如何配置并且将Redis当做缓存来使用,通过限制内存及自动回收键。
    • Redis 事务:将一组命令放在同一个事务中进行处理。
    • 大量插入数据:如何在短时间里向Redis写入大量数据。
    • 从文件中批量插入数据:将文件中的指令批量执行。
    • 分区(Partitioning):如何将你的数据分布在多个Redis里面。
    • 分布式锁(Distributed locks):用Redis实现分布式锁管理器。
    • key事件通知(Redis keyspace notifications):通过发布/订阅获得key事件的通知(版本2.8或更高)。
    • 创建二级索引(Creating secondary indexes with Redis):使用redis的数据结构创建二级索引。

    Redis管理

    • Redis-Cli:学习怎么通过命令行使用redis。
    • 配置(Configuration):怎么配置 redis。
    • 复制(Replication):你需要知道怎么设置主从复制。
    • 持久化(Persistence):了解如何配置redis的持久化。
    • Redis 管理(Redis Administration):学习redis管理方面的知识。
    • 安全性(Security):概述Redis的安全。
    • 加密(encryption):如何加密redis的客户端与服务端通信。。
    • 信号处理(Signals Handling):如何处理Redis信号。
    • 连接处理(Connections Handling):如何处理Redis客户端连接。
    • 高可用性(High Availability):Redis Sentinel是Redis官方的高可用性解决方案。目前工作进展情况(beta阶段,积极发展),已经可用。
    • 延迟监控(Latency monitoring):redis集成的延迟监控和报告功能对于为低延迟应用场景优化redis很有帮助。
    • 基准(Benchmarks):看看Redis在不同平台上跑得有多快。
    • Redis Releases:Redis的开发周期和版本编号。

    Redis安装

    1. 配置编译环境

    sudo yum install gcc-c++
    

    2. 安装Redis

    编译安装Redis

    cd /usr/local/src
    wget http://download.redis.io/releases/redis-4.0.2.tar.gz
    tar zxvf redis-4.0.2.tar.gz
    cd redis-4.0.2
    make
    

    配置Redis

    # 创建存储redis文件目录
    mkdir /usr/local/redis
    
    # 复制redis-server redis-cli到新建立的文件夹
    cp /usr/local/src/redis-4.0.2/src/redis-server /usr/local/redis/
    cp /usr/local/src/redis-4.0.2/src/redis-cli /usr/local/redis/
    
    # 复制redis的配置文件
    cp /usr/local/src/redis-4.0.2/redis.conf /usr/local/redis/
    

    编辑配置文件

    vim /usr/local/redis/redis.conf
    
    # 将bind 127.0.0.1前的“#”注释去掉
    bind 127.0.0.1
    # 默认为保护模式,把 protected-mode yes 改为 no
    protected-mode no
    # 默认为不守护进程模式,把daemonize no 改为 yes
    daemonize yes
    # 将 requirepass foobared 前的“#”去掉,密码(foobared)改为你想要设置的密码
    requirepass 123456 # 密码 123456
    

    编辑Redis操作脚本

    vim /etc/init.d/redis
    
    #!/bin/sh
    # chkconfig: 2345 80 90
    # description: Start and Stop redis
    #PATH=/usr/local/bin:/sbin:/usr/bin:/bin
    REDISPORT=6379 # 端口
    EXEC=/usr/local/redis/redis-server      # redis-server所在路径
    REDIS_CLI=/usr/local/redis/redis-cli    # redis-cli所在路径
    PIDFILE=/var/run/redis_6379.pid
    CONF="/usr/local/redis/redis.conf"      # redis配置文件所在路径
    AUTH="123456"   # 密码 123456
    
    case "$1" in
        start)
            if [ -f $PIDFILE ]
            then
                echo "$PIDFILE exists, process is already running or crashed"
            else
                echo "Starting Redis server..."
                $EXEC $CONF
            fi
            if [ "$?"="0" ]
            then
                echo "Redis is running..."
            fi
            ;;
        stop)
            if [ ! -f $PIDFILE ]
            then
                echo "$PIDFILE does not exist, process is not running"
            else
                PID=$(cat $PIDFILE)
                echo "Stopping ..."
                $REDIS_CLI -p $REDISPORT SHUTDOWN
                while [ -x ${PIDFILE} ]
                do
                    echo "Waiting for Redis to shutdown ..."
                    sleep 1
                done
                echo "Redis stopped"
            fi
            ;;
        restart|force-reload)
            ${0} stop
            ${0} start
            ;;
        *)
        echo "Usage: /etc/init.d/redis {start|stop|restart|force-reload}" >&2
            exit 1
    esac
    

    设置权限及开机启动

    chmod 755 /etc/rc.d/init.d/redis
    chkconfig redis on
    

    Redis操作指令

    # 打开服务
    service redis start
    # 重启服务
    service redis restart
    # 关闭服务
    service redis stop
    

    CentOS 7 Redis 操作脚本

    vim /etc/systemd/system/redis-server.service # 编辑脚本
    
    [Unit]
    Description=The redis-server Process Manager
    After=syslog.target network.target
    
    [Service]
    Type=simple
    PIDFile=/var/run/redis_6379.pid
    ExecStart=/usr/local/redis/redis-server /usr/local/redis/redis.conf         
    ExecReload=/bin/kill -USR2 $MAINPID
    ExecStop=/bin/kill -SIGINT $MAINPID
    
    [Install]
    WantedBy=multi-user.target
    
    :wq! #保存退出
    
    # 开机自启动
    systemctl enable redis-server.service
    # 开启服务
    systemctl start redis-server.service
    # 重启服务
    systemctl restart redis-server.service
    # 停止服务
    systemctl stop redis-server.service
    # 查看服务状态
    systemctl start redis-server.service 
    

    相关文章

      网友评论

          本文标题:CentOS 7 安装 Redis

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