zoukankan      html  css  js  c++  java
  • Redis安装文档

     

    一、安装redis

    先获取redis源码包 

    wget http://download.redis.io/redis-stable.tar.gz

    tar zxvf redis-stable.tar.gz

    cd redis-stable

    make

    make install

    最好再编译后直接执行make install命令来将这些可执行程序复制到/user/local/bin目录中以便以后执行程序时可以不用输入完整的路径

    make的时候注意:

    如果make的时候提示如下错误:

    cc: error: ../deps/hiredis/libhiredis.a: No such file or directory

    cc: error: ../deps/lua/src/liblua.a: No such file or directory

    cc: error: ../deps/jemalloc/lib/libjemalloc.a: No such file or directory

    make: *** [redis-server] Error 1

    则分别进入redis下的deps下的hiredis、lua和jemalloc下运行make。jemalloc下可能要先运行./configure,然后make。最后回到redis的src下,运行make,就OK了。

    如果提示如下错误:

    CPU you selected does not support x86-64 instruction set

    把make命令改成make CFLAGS="-march=x86-64"就行了

     

    二、启动redis

    redis可执行文件说明:

    redis-server                  redis服务器

    redis-cli                         redis命令行客户端

    redis-benchmark          redis性能测试工具

    redis-check-aof            aof文件修复工具

    redis-check-dump        rdb文件检查工具

    1、直接启动

    直接运行redis-server既可以启动redis

    redis服务器默认会使用6379端口,通过--port参数可以自定义端口号:

    redis-server --port 6380

    如果出现警告:

    WARNING overcommit_memory is set to 0! Background save may fail under low memory condition. 
    To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.

    过 量使用内存设置为0!在低内存环境下,后台保存可能失败。为了修正这个问题,请在/etc/sysctl.conf 添加一项 'vm.overcommit_memory = 1' ,然后重启(或者运行命令'sysctl vm.overcommit_memory=1' )使其生效。

    按这个提示来做,警告排除。

     

    2、通过初始化脚本启动redis

    redis源码目录的utils文件夹中有一个名为redis-init_script的初始化脚本文件

    步骤

    (1)配置初始化脚本。首先将初始化脚本复制到/etc/init.d目录中,文件名为redis_端口号(redis_6379),然后修改脚本第6行的REDISPORT的变量值为同样的端口号(ubuntu)

    如果是centos或者redhat则使用以下脚本(端口号根据实际情况修改)

    #chkconfig: 2345 90 10

    #description: Redis is a persistent key-value database

    PATH=/usr/local/bin:/sbin:/usr/bin:/bin

    REDISPORT=6379出的

    EXEC=/usr/local/bin/redis-server

    REDIS_CLI=/usr/local/bin/redis-cli

    PIDFILE=/var/run/redis_6379.pid

    CONF="/etc/redis/6379.conf"

    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_6379 {start|stop|restart|force-reload}" >&2

    exit 1

    esac



    (2)建立需要的文件夹

    /etc/redis    存放redis配置文件

    /var/redis/端口号    存放redis的持久化文件

    (3)修改配置文件

    把配置文件模板复制到/etc/redis目录中,已端口号命名(如“6379.conf”)

    需要修改的配置及说明:

    daemonize  yes                                          使redis以守护进程模式运行

    pidfile          /var/run/redis_端口号.pid        设置redis的pid文件位置

    port            端口号设置redis监听的端口号

     dir              /var/redis/端口号设置持久化文件存放位置

    设置开机启动服务:

    sudo update-rc.d redis_端口号 defaults // 告诉系统启动时候,自动执行redis_端口号 这个脚本。(ubuntu)

    如果是centos或者redhat则使用以下方法:

    chkconfig redis_端口号  on

    设置权限可执行

    chmod +x /etc/init.d/redis_端口号

    现在就可以使用 /etc/init.d/redis_端口号 start/stop 来启动和停止redis了

     

    三、停止redis

    redis-cli shutdown  或者 kill redis进程的pid

     

     

     

  • 相关阅读:
    python 多进程-03 进程池
    python 多进程-02 进程间数据共享
    python 多进程-01 基本使用
    python 多线程-02 线程池
    开发者入驻
    小程序组件 scroll-view 下拉加载更多,触底触发事件,容器高度设置
    Array.from在360浏览器和IE浏览器兼容问题
    获取cookie
    背景图左右居中
    uniapp使用uni.setStorageAsync刷新页面数据丢失问题
  • 原文地址:https://www.cnblogs.com/ZnCl/p/7047563.html
Copyright © 2011-2022 走看看