05.Redis服务的启停过程

一、Redis服务的启动过程

01:Redis服务进行初始化(启动);
02:从磁盘加载数据库;
	A:若之前有持久化的数据则会把数据给加载到内存;
	B:若之前没有持久化的数据那么启动会则没有数据;
	C:若启动时找到不之前持久化的数据文件,则没有数据;
03:Redis服务启动完成
04:准备接受客户端连接

21066:M 22 Feb 09:08:50.299 # Server initialized
21066:M 22 Feb 09:08:50.299 * DB loaded from disk: 0.000 seconds
21066:M 22 Feb 09:08:50.299 # Server initialized
21066:M 22 Feb 09:08:50.299 * Ready to accept connections
21066:M 22 Feb 09:08:50.299 * The server is now ready to accept connections at /data/redis/6379/run/redis.sock

二、Redis服务的关闭过程

## 基本RDB持久化情况下的关机过程

## RDB持久化情况下的关机过程
01:发起关闭redis服务的请求;
02:保存最终的RDB快照
03:保存到磁盘(体现就是一个dump.rdb文件);
04:移除pid文件;
05:移除socket文件;
06:准备退出,拜拜

20378:M 22 Feb 07:46:57.570 # User requested shutdown...
20378:M 22 Feb 07:46:57.570 * Saving the final RDB snapshot before exiting.
20378:M 22 Feb 07:46:57.571 * DB saved on disk
20378:M 22 Feb 07:46:57.571 * Removing the pid file.
20378:M 22 Feb 07:46:57.571 * Removing the unix socket file.
20378:M 22 Feb 07:46:57.571 # Redis is now ready to exit, bye bye...

## 那么问题来了
01:开启了RDB持久化,添加数据(set key01 "chenliang"),但没还没达到为RDB自动
    持久化的条件(save 900 1),此时正常关闭redis服务会怎样?
	## 解答
	01:键key01对应的数据会被持久化,因为停服时会自动保持一次;
	02:在redis恢复后,数据也是存在的;

02:开启了RDB持久化,添加数据(set key02 "lili"),但还没达到RDB自动持久化的条
    件(save 900 1),此时非正常关闭(kill或kill -9杀掉了线程)redis服务的数据
	会怎样?
	## 解答
	01:使用kill+进程号的方式关闭redis服务,是可以保存数据的(可以看日志),那么
	    再次启动redis服务时,数据都还是存在的;
	02:使用kill -9 + 进程号的方式关闭redis服务,无法保存数据(可以看日志),那么
	    再次启动redis服务时,丢失数据(离上次持久时这个阶段的数据会丢);

  

  

  

原文地址:https://www.cnblogs.com/chenliangc/p/12344021.html

时间: 2024-10-09 22:46:45

05.Redis服务的启停过程的相关文章

redis安装及启停

安装: [email protected]:/home/zsxiang# wget http://download.redis.io/releases/redis-4.0.2.tar.gz[email protected]:/home/zsxiang# tar -zxvf redis-4.0.2.tar.gzcd redis-4.0.2makemake install PREFIX=/usr/local/redis-4cd /usr/local/redis-4./redis-server _._

2、Redis如何配置成一个windows服务并且设置一键安装卸载与启停

每天启动redis虽然只是一个命令行的事情,但是还是比较烦,所以…… 参考文档:Windows Service Documentation.docx 默认前提:Redis已安装并配置完成(不知道如何配置的请查看Win10 1903小白搭建Redis) 步骤: 1.导航到Redis安装路径,新建文件夹logs,如下图所示 2.安装服务,shift+右键单击,选择在此处打开powershell窗口 输入命令redis-server --service-install redis.windows-se

Redis启停脚本

环境:多实例环境,需指定端口进行启停服务 编写脚本: #!bin/sh#调用函数功能#这是redis的启动.停止.重启脚本REDISPORT=$1#redis的pidEXEC=/usr/local/redis4/bin/redis-server CONF="/etc/redis/${REDISPORT}.conf"CLIEXEC=/usr/local/redis4/bin/redis-cli#redis的PID文件位置,需要修改PIDFILE=/var/run/redis_${REDI

samba服务日志文件-密码文件及启停

1.Samba服务日志文件日志文件对于samba非常重要,它存储着客户端访问samba服务器的信息,以及samba服务的错误提示信息等,可以通过分析日志,帮助解决客户端访问和服务器维护等问题.在/etc/samba/smb.conf文件中,logfile为设置samba日志的字段.#=======================GlobalSettings=====================================[global]#this tells Samba to use a

liunx weblogic服务启停脚本

1 #!/bin/bash 2 #sh xx.sh start xx项目 例如:sh autoWeblogic.sh start bius 3 #经测试发现weblogic 启动大概需要完全启动成功35秒左右 停止大概需要1~7秒 4 #如果多个项目可以把DOMAIN_NAME换成动态的参数进行传递 5 ### BEGIN WLS Configration 6 DOMAIN_NAME=appadmin 7 SERVER_NAME=$2 8 #得到服务器的ip 9 IP=`ifconfig | g

Centos7.0 安装Redis 3.2.1详细过程和使用常见问题

环境:Cent OS 7.0 Redis 3.2.1 Redis的安装与启动 这里我把Redis放在/home/xuliugen/software/下,所以在该目录下执行下列命令: $ wget http://download.redis.io/releases/redis-3.2.1.tar.gz $ tar xzf redis-3.2.1.tar.gz $ cd redis-3.2.1 $ make 至此Redis已经安装完成,首先试一下能不能把启动: 启动命令(在/home/xuliuge

Oracle BIEE启停脚本

作为BI的开发人员,经常启停BI服务在所难免,启动的过程又比较长,命令需要不同目录切换,简直烦死人呢, 特意整理了linux中的启动脚本,将以下脚本存成biee.sh,后面的过程就相当简单了, 启动:./biee.sh start 停止 :  ./biee.sh stop 重启:./biee restart 日志的观察: tail -f /var/log/obiee-start.log tail -f /var/log/obiee-stop.log 以下是脚本内容,保存成.sh文件,然后chmo

Redis服务

一.Redis概述 1.1.什么是Redis Redis是一种高级key-value数据库.它跟memcached类似,不过数据 可以持久化,而且支持的数据类型很丰富.有字符串,链表,集 合和有序集合.支持在服务器端计算集合的并,交和补集(difference)等,还支持多种排序功能.所以Redis也可以被看成是一个数据结构服务 器.Redis的所有数据都是保存在内存中,然后不定期的通过异步方式保存到磁盘上(这称为“半持久化模式”):也可以把每一次数据变化都写入到一个append only fi

redis演练(1) 搭建redis服务

Redis VS Memcached 通过对比学习,可以加深理解组件的特性.下面两段文字,摘自各自的官方文档. http://www.redis.io/ http://memcached.org/ Redis官方简介 Redis is an open source (BSD licensed), in-memory data structure store, used as database, cache and message broker. It supports data structur