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 ...
随机推荐
- H3C 交换机基本设置(telnet、SSH、链路聚合)
http://www.h3c.com/cn/d_201710/1038172_30005_0.htm#_Toc493869056 H3C S5560S-SI&S5130S-SI[LI]& ...
- ORA-01652: 无法通过 128 (在表空间 TEMP 中) 扩展 temp 段(EXP-00056: 遇到 ORACLE 错误 1652 ORA-01652: unable to extend temp segment by 128 in tablespace TEMP)
数据库报 ORA-01652: 无法通过 128 (在表空间 TEMP 中) 扩展 temp 段 两种解决方式: 第一种) sql>select * from v$tempfile; 发现tem ...
- C++ sort使用自定义函数的一些坑
先看代码: 解释:使用自定义比较函数时,如果用了返回值恒为$true$或者恒为$false$的比较函数,就会这样子. 原因: https://stackoverflow.com/questions/4 ...
- [saiku] schema文件分析
上一篇讲到了如何在管理台配置数据源 [ http://www.cnblogs.com/avivaye/p/4877767.html ] 这次来说明下shema文件里面是怎样配置Cube和角色权限的 通 ...
- mangle和demangle
转:https://www.cnblogs.com/robinex/p/7892795.html. mangle和demangle C/C++语言在编译以后,函数的名字会被编译器修改,改成编译器内部的 ...
- multipart/form-data boundary 说明
含义 ENCTYPE="multipart/form-data" 说明: 通过 http 协议上传文件 rfc1867协议概述,jsp 应用举例,客户端发送内容构造 1.概述在最初 ...
- c#,读取二维码
/// <summary>/// 读取二维码/// 读取失败,返回空字符串/// </summary>/// <param name="filename&quo ...
- HBase实验(CRUD和MR入库)
目录 前期准备 在HBase shell中实现CRUD操作 1. 启动命令行客户端 2. 创建表 3. 删除.新增列族 4. 删除表teacher 5. 新增数据 6. 查看数据 用Java API实 ...
- Spring-JDBC模板-事务
Spring-JDBC模板-事务 1.事务概述 什么是事务 逻辑上的一组操作,组成这组操作的各个单元要么全部成功要么全部失败 事务的特点ACID 原子性:事务不可分割(事务要么成功,要么失败) 一致性 ...
- ETL数据仓库
http://blog.csdn.net/leicool_518/article/category/3058299 http://bbs.csdn.net/topics/390349305