redis安装文档

一、redis下载与安装

  1. 首先上官网下载Redis 压缩包,地址:http://redis.io/download 下载稳定版即可。(这里我下载的是redis-3.0.6.tar.gz)

  2. 通过xftpd工具上传安装包到linux环境 (存在/usr/local/下)

  3. 通过tar -zxvf redis-3.0.6.tar.gz 解压文件到当前文件夹

  4. 对解压后redis文件夹重命名为redis

  5. 进入redis文件夹,执行“make” 解压后的文件进行编译 编译成功如下:

  6. 编译成功后,进入redis下的src文件夹,执行”make install”进行redis安装 ,成功后如下:

    其实到这一步,在src下执行”redis-server”就已经可以启动redis了,启动成功后如下:

    但是,这只能置于前台显示,Ctrl+c退出后redis也会退出,且安装后redis的可执行命令后都在src下,这样不方便管理,所以我们统一部署一下redis的环境。

二、redis部署

  1. 在redis下创建bin目录(存放常用执行命令)和etc(conf配置文件)目录

    a)创建bin目录

    mkdir -p /usr/local/redis/bin

    b)创建etc目录

    mkdir -p /usr/local/redis/etc

    c)移动可执行命令到bin目录下:

    cd /usr/local/redis/src/

    mv mkreleasehdr.sh redis-benchmark redis-check-aof redis-check-dump redis-cli redis-server /usr/local/redis/bin

    d)移动conf配置文件到etc目录下:

    mv /usr/local/redis/redis.conf /usr/local/redis/etc/

  2. 设置redis置于后台启动,编辑conf文件,将daemonize属性改为yes(表明需要在后台运行)

    vi /usr/local/redis/etc/redis.conf

  3. 启动redis服务,并指定配置文件来启动

    redis-server /usr/local/redis/etc/redis.conf

  4. 启动redis客户端,看redis是否启动成功,如下表示redis已成功安装成功!

三、redis开机自启动

  1. linux系统下,/etc/init.d/下的服务都是系统自启动会去执行的脚本,所以在其下创建启动redis启动的shell脚本

    vi /etc/init.d/redis

    如下:EXEC改成你的redis服务文件路径;REDIS_CLI改成你的redis客户端路径;CONF改成你的redis配置文件路径;其他保持不变即可!

    
    #!/bin/bash
    
    
    #chkconfig: 2345 10 90
    
    
    # description: Start and Stop redis
    
    
    PATH=/usr/local/bin:/sbin:/usr/bin:/bin
    REDISPORT=6379
    EXEC=/usr/local/redis/bin/redis-server
    REDIS_CLI=/usr/local/redis/bin/redis-cli
    
    PIDFILE=/var/run/redis.pid
    CONF="/usr/local/redis/etc/redis.conf"
    AUTH="1234"
    
    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 exists, process is not running."
                   else
                           PID=$(cat $PIDFILE)
                           echo "Stopping..."
                          $REDIS_CLI -p $REDISPORT  SHUTDOWN
                           sleep 2
                          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
  2. 检查自启动服务是否开启 chkconfig

  3. 把redis添加到开机自启动服务中 chkconfig –add redis

  4. 查看系统的启动级别 vi /etc/inittab

  5. 查看第三项是否为”启动”,如果不是需要执行chkconfig redis on

  6. reboot重启服务器 ,重启后 执行 redis-cli 客户端命令,看是否是开机自启动

四、重启数据丢失问题

  1. 杀死进程,然后重启——>数据不会丢失!

    步骤:a) ps -ef |grep redis

    ​ b) kill- 9 进程id

    ​ c) redis-server /usr/local/redis/etc/redis.conf

  2. shutdown 命令,然后重启—>数据丢失

    步骤:a) redis-cli -p 6379 SHUTDOWN

    ​ b)redis-server /usr/local/redis/etc/redis.conf

    原因:该重启方式会致使dump.rdb文件丢失,在redis.conf可以找到其配置dump.rdb存放的路径,

    ​ 如图,./ 表示服务启动命令的当前路径下;需要把它修改成绝对路径,这里咱们在redis下创建 一个data文件夹,把数据存放路径指向这个文件夹;

    解决方法:

    ​ a)在redis.conf中找到dir ,把它配置./修改成/usr/local/redis/data/

    ​ b)然后再重新启动redis服务,在data文件夹下有看到dump.rdb即可;

  3. linux系统直接reboot,然后重启—>数据丢失

    步骤:a)reboot

    ​ b)配置的默认重启redis(上面有讲)

    解决方法:

    在Linux系统设置一个参数(vm.overcommit_memory)即可解决。 

    a)编辑 sysctl.conf 配置文件

    vi /etc/sysctl.conf

    b)检查sysctl.conf配置文件中的vm.overcommit_memory参数是否为0,若为0系统不允许回写,可将参数vm.overcommit_memory = 1。(如果没有这个参数,则另起一行增加参数 vm.overcommit_memory 配置,如下):

    vm.overcommit_memory = 1             

    c)使配置文件生效

    sysctl -p

你可能感兴趣的:(redis安装文档)