• Linux 安装部署 Redis


    一、Redis介绍

    Redis是当前比较热门的NOSQL系统之一,它是一个key-value存储系统。和Memcache类似,但很大程度补偿了Memcache的不足,它支持存储的value类型相对更多,包括string、list、set、zset和hash。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作。在此基础上,Redis支持各种不同方式的排序。
    和Memcache一样,Redis数据都是缓存在计算机内存中,不同的是,Memcache只能将数据缓存到内存中,无法自动定期写入硬盘,这就表示,一断电或重启,内存清空,数据丢失。所以Memcache的应用场景适用于缓存无需持久化的数据。而Redis不同的是它会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,实现数据的持久化。

    二、Redis的安装

    下面介绍在Linux环境下,Redis的安装与部署

    1、首先上官网下载Redis 压缩包,地址:http://redis.io/download 下载稳定版3.0.7即可。

    2、通过远程管理工具,将压缩包拷贝到Linux服务器中,执行解压操作

    3、执行make 对Redis解压后文件进行编译

    编译完成之后,可以看到解压文件redis-3.0.7 中会有对应的src、conf等文件夹,这和windows下安装解压的文件一样,大部分安装包都会有对应的类文件、配置文件和一些命令文件。

    4、编译成功后,进入src文件夹,执行make install进行Redis安装

    5、安装完成,界面如下

    三、Redis的部署

    安装成功后,下面对Redis 进行部署

    1、首先为了方便管理,将Redis文件中的conf配置文件和常用命令移动到统一文件中

    a)创建bin和redis.conf文件

    复制代码如下:

    mkdir -p /usr/local/redis/bin
    mkdir -p /usr/local/redis/ect

    b)执行Linux文件移动命令:

    复制代码如下:

    mv /lamp/redis-3.0.7/redis.conf /usr/local/redis/etc
    cd /lamp/redis-3.0.7/src
    mv mkreleasdhdr.sh redis-benchmark redis-check-aof redis-check-dump redis-cli redis-server /usr/local/redis/bin

    2、执行Redis-server 命令,启动Redis 服务

    注意:这里直接执行Redis-server 启动的Redis服务,是在前台直接运行的(效果如上图),也就是说,执行完该命令后,如果Lunix关闭当前会话,则Redis服务也随即关闭。正常情况下,启动Redis服务需要从后台启动,并且指定启动配置文件。

    3、后台启动redis服务

    a)首先编辑conf文件,将daemonize属性改为yes(表明需要在后台运行)

    cd etc/
    vi redis.conf

    b)添加如下启动脚本
    vim /etc/init.d/redis

    #!/bin/sh
    #
    # redis        Startup script for Redis Server
    #
    # chkconfig: - 80 12
    # description: Redis is an open source, advanced key-value store.
    #
    # processname: redis-server
    # config: /etc/redis.conf
    # pidfile: /var/run/redis.pid
    source /etc/init.d/functions
    BIN="/usr/local/redis/bin"
    CONFIG="/usr/local/redis/etc/redis.conf"
    PIDFILE="/var/run/redis.pid"
    ### Read configuration
    [ -r "$SYSCONFIG" ] && source "$SYSCONFIG"
    RETVAL=0
    prog="redis-server"
    desc="Redis Server"
    start() {
            if [ -e $PIDFILE ];then
                 echo "$desc already running…."
                 exit 1
            fi
            echo -n $"Starting $desc: "
            daemon $BIN/$prog $CONFIG
            RETVAL=$?
            echo
            [ $RETVAL -eq 0 ] && touch /var/lock/subsys/$prog
            return $RETVAL
    }
    stop() {
            echo -n $"Stop $desc: "
            killproc $prog
            RETVAL=$?
            echo
            [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/$prog $PIDFILE
            return $RETVAL
    }
    restart() {
            stop
            start
    }
    case "$1" in
      start)
            start
            ;;
      stop)
            stop
            ;;
      restart)
            restart
            ;;
      condrestart)
            [ -e /var/lock/subsys/$prog ] && restart
            RETVAL=$?
            ;;
      status)
            status $prog
            RETVAL=$?
            ;;
       *)
            echo $"Usage: $0 {start|stop|restart|condrestart|status}"
            RETVAL=1
    esac
    exit $RETVAL

    c)修改权限

    chmod +x /etc/init.d/redis
    service redis start
    service redis stop
    
    chkconfig --add redis

    d)修改profile文件:

    # vi ~/.bash_profile

    在最后行添加:

    export PATH="$PATH:/usr/local/redis/bin"

    然后马上应用这个文件:

    # . ~/.bash_profile

    配置下面的内核参数,否则Redis脚本在重启或停止redis时,将会报错,并且不能自动在停止服务前同步数据到磁盘上/etc/sysctl.conf加上

    #vi /etc/sysctl.conf
    
    vm.overcommit_memory = 1 
    #sysctl -p 

    参考:

    https://www.cnblogs.com/wangchunniu1314/p/6339416.html

    http://www.redis.net.cn/tutorial/3503.html





  • 相关阅读:
    ctrl+shift+k取消
    ERROR 1872
    swap
    mysql主从跳过错误
    undo
    gtid
    falcon监控指标
    连接数
    datetime与timestamp相互转换
    截取文件内容
  • 原文地址:https://www.cnblogs.com/haoxiaoyu/p/e640ff5cfeafc437cec683dafd09faa1.html
Copyright © 2020-2023  润新知