Redis持久化(八)
Redis特性:
(1)多数据库
(2)Redis事物
(3)一个Redis最多可提供16个数据库,下标【0-15】
选择数据库:
select 1 (选择1号数据库,默认连接的是0号数据库)
移动数据库中的key:
move myset 1 (把关键字为myset的移动到1当中)
事物中只有一个客户运行,客户被串行话
(1)开启事务:multi
(2)提交事务:exec 网络故障或其他原因,没执行它之前的命令都不会被提交,但是,exec在网络断开或其他故障前执行,那么,提交就会执行。
(3)回滚事务:discard
事例:
窗口A执行
set num 1
multi
incr num
incr num
直到使用
exec
窗口B
执行
get num (num数值才会有变化)
Redis持久化
redis之所以高性能,是因为它把一切都存储在内存当中,为了使redis重启之后,仍然能保存之前存储的数据,就需要把数据从内存当中同步到硬盘上,这个过程称之为持久化。
持久化方式:
(1)(单独使用)RDB(默认):按照一定时间频率将内存中的数据或者快照保存到磁盘
(2)(单独使用)AOF:通过日志方式,记录服务器操作方式,启动服务器时,就会读取日志,重新构建数据库,保证数据是完整的
(3)无持久化:配置禁用持久化,达到缓存效果
(4)RDB与AOF共用
(5)持久化方法可以使用一个种或者两种结合的方式进行存储。
RDB:
优点:
(1)可将数据库保存在一个文件上,便于备份,可以很好的恢复数据。
(2)可方便移植
(3)性能最大化,分出小的进程,再由小进程执行,可开启小的进程处理持久化操作
缺点:
(1)不能保证数据完整性,最大数据的完整性,数据易丢失。
(2)当数据过大,服务器会停止,进程处理将会延迟几百到一千毫秒
配置过程:
(1)编辑redis.conf文件:vim redis.conf
save 900 1
每15分钟至少又一个key发生变化,会快照一次,写一次
save 300 10
save 60 10000
dbfilename 保存的文件
dir ./ 保存的文件路径
(2)找到时间戳,可配置秒、分、时与之存储量
(3)rdb文件默认保存在redis安装目录
AOF
优点:
(1)同步写入频率高
(2)不破坏写入日志数据
(3)当数据过大,可启动修改重写机制,保证修改数据的更新
(4)日志文件格式清晰,易于理解,可以通过这样进行重建数据
缺点:
(1)效率低低于RDB,修改就存在硬盘上的,同步方式降低了效率。
(2)文件偏大与rdb文件
配置过程:
(1)编辑redis.conf:vim redis.conf
(2)找到 appendonly no 修改为 yes (改为使用AOF方式)
修改策略
appendfsync always(为了数据安全,去除它的注解)
设置好两个配置后,执行
./bin/redis-cli
shutdown
重启sever
./bin/redis-server ./redis.conf
窗口A:
插入数据:
set name a
set age 10
flushall
窗口B:
执行:
./bin/redis-cli shutdown
编辑:
vim appendonly.aof
删除最后一行的flushall 保存
窗口A:
重启sever
./bin/redis-server ./redis.conf
进入客户端:
./bin/redis-cli
查看:
keys *
数据还原了。
Redis持久化(八)的更多相关文章
- redis——持久化篇
众所周知,redis是内存数据库,它把数据存储在内存中,这样在加快读取速度的同时也对数据安全性产生了新的问题,即当redis所在服务器发生宕机后,redis数据库里的所有数据将会全部丢失. 为了解决这 ...
- Redis持久化persistence
一.前言 由于Redis的数据都存放在内存中,如果没有配置持久化,redis重启后数据就全丢失了,于是需要开启redis的持久化功能,将数据保存到磁盘上,当redis重启后,可以从磁盘中恢复数据. R ...
- redis 持久化方式
对于persistence持久化存储,Redis提供了两种持久化方法: Redis DataBase(简称RDB) 执行机制:快照,直接将databases中的key-value的二进制形式存储在了r ...
- Redis持久化--RDB+AOF(转)
1.Redis两种持久化方式 RDB 执行机制:快照,直接将databases中的key-value的二进制形式存储在了rdb文件中 优点:性能较高(因为是快照,且执行频率比aof低,而且rdb文件中 ...
- 第十章 Redis持久化--RDB+AOF
注:本文主要参考自<Redis设计与实现> 1.Redis两种持久化方式 RDB 执行机制:快照,直接将databases中的key-value的二进制形式存储在了rdb文件中 优点:性能 ...
- redis持久化RDB和AOF
Redis 持久化: 提供了多种不同级别的持久化方式:一种是RDB,另一种是AOF. RDB 持久化可以在指定的时间间隔内生成数据集的时间点快照(point-in-time snapshot). AO ...
- Redis持久化
Redis持久化 快照(默认) 将内存中的数据以快照的方式写入到二进制文件中,默认文件名是dump.rdb. 配置自动化做快照持久化(如redis在n秒内如果超过m个key被修改就自动做快照) sav ...
- redis持久化机制
redis持久化 redis的数据存在内存中,所以存取性能好.但是存在内存中的数据存在一个问题,一旦机器重启,内存数据消失.为了解决这个问题,redis支持持久化.持久化就是为了解决内存数据丢失时恢复 ...
- Redis-cluster集群【第二篇】:redis持久化
Redis持久化原理: Redis支持两种持久化:RDB和AOF模式 一.名词解释: RDB:持久化可以在指定的时间间隔内生成数据集的时间点快照(point-in-time snapshot).AOF ...
随机推荐
- Layui Table 分页记忆选中
Layui Table 分页记忆选中 挺好的功能,之前为什么放弃了,哈哈哈! 在最早的版本中,layui 的 table 会记录每页的勾选状态,但很多用户反馈这是 bug,因为当他们获取选中数据时,其 ...
- oracle之 数据泵dump文件存放nfs报ORA-27054
问题描述:源端 10.2.0.4 目标端:11.2.0.4 在目标端划分1T存储与源端做一个NFS 错误:指定dump导出为本地文件系统,正常. 指定dump导出为nfs文件系统,报错. 报 ...
- 如何利用 AVDictionary 配置参数(转)
本文是我的 FFMPEG Tips 系列的第五篇文章,准备介绍下 ffmpeg 提供的一个非常好用的健值对工具:AVDictionary,特别是对于没有 map 容器的 c 代码,可以充分利用它来配置 ...
- 在linux下利用nohup来后台运行java程序
nohup java -jar /etc/deny/denyHttp_fat.jar & http://limaoyuan.iteye.com/blog/900928 http://zshou ...
- 内存泄漏检测工具VLD在VS2010中的使用举例
Visual LeakDetector(VLD)是一款用于Visual C++的免费的内存泄露检测工具.它的特点有:(1).它是免费开源的,采用LGPL协议:(2).它可以得到内存泄露点的调用堆栈,可 ...
- Linux嵌入式内核模块程序设计
1.环境搭建 vmware+Fedora 2.创建一个Hello文件 [root@localhost ~]# mkdir Hello 3.在Hello里面创建 hello.c 和 Makefile 两 ...
- PHP CRC16 校验码的算法怎么使用
PHP CRC16 校验码的算法如何使用最近用到CRC16, 我现在就是要把 010301180001 算出CRC16的校验码,通过其他工具,可以得到 校验码是 05F1 最后完整的代码就是 0103 ...
- istio 配置https gateway
沒有親手實驗,参考官方文档: https://istio.io/docs/tasks/traffic-management/secure-ingress/
- ffmpeg重要的参考学习网址
http://lib.csdn.net/liveplay/knowledge/1586 FFmpeg滤镜使用指南 http://blog.csdn.net/fireroll/article/detai ...
- phpcms 实现动态价格
什么是动态价格(自命名)?—— 一般来说商品有个固定的价格,随着节假日或者促销活动可能会发生价格变化,结束后又恢复原价,如果每次价格变化都需要修改价格,那么不仅在时间上不好把握,也需要消耗更多的人力 ...