• centos下安装&&配置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的安装与部署

    step1:创建目录,并下载安装包到本地:(3.0.7稳定版)

    step2:解压

    step3:执行make 对redis解压后文件进行编译

    这里如果编译出错,报“cc 未找到命令”的提示错误,则是缺少gcc,需要先安装上gcc (命令:yum -y install gcc automake autoconf libtool make)。

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

    step4:进入src文件夹,执行make install进行redis安装

    至此,安装完成!

     

    三、Redis的部署

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

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

    a)创建bin和etc文件夹

    代码如下:

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

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

    复制代码代码如下:

    [root@hadoop-1 redis]# mv redis.conf etc/
    [root@hadoop-1 redis]# cd src/
    [root@hadoop-1 src]# mv mkreleasehdr.sh redis-benchmark redis-check-aof redis-cli redis-server /usr/local/redis/bin

    step2:后台启动redis服务

    a) 切换到/usr/local/redis/etc目录,编辑redis.conf文件,将daemonize属性改为yes(表明需要在后台运行)

    #vim redis.conf

     

    b)切换到/usr/local/redis/bin目录下执行redis-server 命令,使用/usr/local/redis/etc/redis.conf 配置文件来启动Redis 服务

    [root@hadoop-1 redis]# cd bin/
    [root@hadoop-1 bin]# ls
    mkreleasehdr.sh  redis-benchmark  redis-check-aof  redis-cli  redis-server
    [root@hadoop-1 bin]# ./redis-server /usr/local/redis/etc/redis.conf

    step3:服务端启动成功后,执行redis-cli启动redis 客户端,查看端口号,默认是6379。

     

    step4:编辑服务启动脚本 # 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: /usr/local/redis/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
    保存,退出后执行下面的命令:
    # chmod +x /etc/init.d/redis # service redis start # service redis stop # chkconfig --add redis

    step5:设置环境变量,并使之生效 # vim /etc/profile.d/redis.sh

    复制代码
    export REDIS_HOME=/usr/local/redis
    export PATH=$PATH:$REDIS_HOME/bin
    
    复制代码
    执行命令,是配置生效:# source /etc/profile.d/redis.sh

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

    #vim /etc/sysctl.conf
    vm.overcommit_memory = 1 

     #sysctl -p 

    文章参考,并做改动。

  • 相关阅读:
    php--------ThinkPHP3.2验证码使用
    mysql--------四种索引类型
    php--------递归函数
    php--------对象(object) 与 数组(array) 的转换
    ZH奶酪:Windows7+VirtualBox安装Ubuntu虚拟机问题总结
    第一次工作面试(蘑菇街)
    ZH奶酪:【阅读笔记】Deep Learning, NLP, and Representations
    web开发学习之旅
    隐马尔可夫模型实战
    ZH奶酪:Python中range和xrange的区别
  • 原文地址:https://www.cnblogs.com/xuelisheng/p/9869099.html
Copyright © 2020-2023  润新知