Redis 启动和停止

前端之家收集整理的这篇文章主要介绍了Redis 启动和停止前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

首先我们要了解redis包含的可执行文件各自的作用。

文件 说明
redis-server Redis服务器
redis-cli Redis命令行客户端
redis-benchmark Redis性能测试工具
redis-check-aof AOF文件修复工具
redis-check-dump RDB文件检查工具
redis-sentinel Sentinel服务器(仅在2.8版以后)

我们常用的两个程序是redis-server和redis-cli,其中redis-server是Redis的服务器,启动Redis即运行redis-server;而redis-cli是Redis自带的Redis命令行客户端。

启动Redis

1.直接运行redis-server即可启动Redis

$ redis-server

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

$ redis-server --port 6380

2.通过初始化脚本启动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.

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。然后修改脚本第六行的REDISPORT变量的值为同样的端口号。

    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/端口号 设置持久化文件存放文职

现在就可以使用/etc/init.d/redis_端口号start来启动Redis了,而后需要执行下面的命令使Redis随系统自动启动:

$ sudo update-ro.d rdis_端口号 defaults

停止Redis

考虑到Redis有可能正在讲内存中的数据同步到硬盘中,强行终止Redis进程可能会导致数据丢失。正确停止Redis的方式应该是向Redis发送SHUTDOWN命令,方法为:

$ redis-cli SHUTDOWN

当Redis收到SHUTDOWN命令后,会先断开所有客户端连接,然后根据配置执行持久化,最后完成退出

Redis可以妥当出列SIGTERM信号,所以使用kill Redis进程的PID也可以正常结束Redis,效果与发送SHUTDOWN命令一样。


$ redis-server --port 6380


相关文章

Redis RDB方式数据备份与恢复

redis 持久化详解,RDB和AOF是什么?他们优缺点是什么?运行流程是什么?

redis 如何高效快速批量插入大量数据到redis中

Redis 列表详解

Redis 字符串详解

Redis 5种数据结构简介和对应的命令及代码示例


猜你在找的Redis相关文章