redis启停-linux

启动和停止 Redis

       安装完Redis后的下一步就是启动它,本节将分别介绍在开发环境和生产环境中运行Redis的方法以及正确停止 Redis 的步骤。
       在这之前首先需要了解 Redis包含的可执行文件都有哪些,表中列出了这些程序的名称以及对应的说明。如果在编译后执行了make install命令,这些程序会被复制到/usr/local/bin目录内,所以在命令行中直接输入程序名称即可执行。

Redis可执行文件说明

在这里插入图片描述       我们最常使用的两个程序是redis-server和redis-cli,其中redis-server是 Redis的服务器,启动Redis即运行redis-server;而redis-cli是 Redis自带的Redis命令行客户端,是学习Redis的重要工具,2.3节会详细介绍它。

启动redis

       启动Redis有直接启动和通过初始化脚本启动两种方式,分别适用于开发环境和生产环境。

直接启动

       直接运行redis-server即可启动Redis,十分简单:

redis-server

在这里插入图片描述
       Redis服务器默认会使用6379端口,通过–port参数可以自定义端口号:

redis-server --port 6380

通过初始化脚本启动Redis

       在Linux系统中可以通过初始化脚本启动Redis,使得Redis 能随系统自动运行,在生产环境中推荐使用此方法运行Redis,这里以Ubuntu和 Debian 发行版为例进行介绍。在Redis源代码目录的utils文件夹中有一个名为redis_init_script 的初始化脚本文件,内容如下:

#!/bin/sh
#
# Simple Redis init.d script conceived to work on Linux systems
# as it does use of the /proc filesystem.

### BEGIN INIT INFO
# Provides:     redis_6379
# Default-Start:        2 3 4 5
# Default-Stop:         0 1 6
# Short-Description:    Redis data structure server
# Description:          Redis data structure server. See https://redis.io
### END INIT INFO

REDISPORT=6379
EXEC=/usr/local/bin/redis-server
CLIEXEC=/usr/local/bin/redis-cli

PIDFILE=/var/run/redis_${REDISPORT}.pid
CONF="/etc/redis/${REDISPORT}.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
        ;;
    stop)
        if [ ! -f $PIDFILE ]
        then
                echo "$PIDFILE does not exist, process is not running"
        else
                PID=$(cat $PIDFILE)
                echo "Stopping ..."
                $CLIEXEC -p $REDISPORT shutdown
                while [ -x /proc/${PID} ]
                do
                    echo "Waiting for Redis to shutdown ..."
                    sleep 1
                done
                echo "Redis stopped"
        fi
        ;;
    *)
        echo "Please use start or stop as first argument"
        ;;
esac

       我们需要配置Redis的运行方式和持久化文件、日志文件的存储位置等,具体步骤如下。

  1. 配置初始化脚本。首先将初始化脚本复制到/etc/init.d目录中,文件名为redis端口号,其中端口号表示要让Redis监听的端口号,客户端通过该端口连接Redis。然后修改脚本第6行的REDISPORT变量的值为同样的端口号。
  2. 建立需要的文件夹。建立表中列出的目录
目录名说明
/etc/redis存放Redis的配置文件
/var/redis/端口号存放Redis的持久化文件

在这里插入图片描述

  1. 修改配置文件。首先将配置文件模板(见2.4节介绍)复制到/etc/redis目录中,以端口号命名(如“6379.conf"),然后按照表2-3对其中的部分参数进行编辑。在这里插入图片描述
  2. 现在就可以使用/etc/init.d/redis_端口号start来启动Redis了,而后需要执行下面的命令使Redis随系统自动启动:
    sudo update-rc.d redis_端口号 defaults

停止Redis

       考虑到Redis有可能正在将内存中的数据同步到硬盘中,强行终止 Redis进程可能会导致数据丢失。正确停止Redis的方式应该是向Redis发送SHUTDOwN命令,方法为:
redis-cli shutdown
       当Redis 收到SHUTDOWN命令后,会先断开所有客户端连接,然后根据配置执行持久化,最后完成退出。
       Redis可以妥善处理SIGTERM信号,所以使用“kill Redis进程的PID”也可以正常结束Redis,效果与发送SHUTDOWN命令一样。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值