加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

Redis 启动和停止

发布时间:2020-12-16 04:39:24 所属栏目:安全 来源:网络整理
导读:首先我们要了解redis包含的可执行文件各自的作用。 文件名 说明 redis-server Redis服务器 redis-cli Redis命令行客户端 redis-benchmark Redis性能测试工具 redis-check-aof AOF文件修复工具 redis-check-dump RDB文件检查工具 redis-sentinel Sentinel服务

首先我们要了解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种数据结构简介和对应的命令及代码示例


(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读