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 ...
随机推荐
- spring与hibernate注解及XML方式集成
spring与hibernate注解及XML方式集成 Hibernate Xml方式 该种方式需要在sessionFactory中引入对应的hbm.xml文件,样例如下: <!-- spring ...
- Windows 无法安装到所选位置。错误:0x80300001
Windows 无法安装到所选位置.错误:0x80300001 这里遇到的情况是这样的,iDrac安装windows 2008 R2,一开始映射 windows 2008 R2系统镜像,后来,阵列驱动 ...
- composer中文镜像
王赛先生维护的 phpcomposer 全局修改 composer config -g repo.packagist composer https://packagist.phpcomposer.co ...
- OGNL遍历list、map的常用三种方法
package com.mylife.po; public class User { private String uname; private String pwd; public String g ...
- redis位图
<?php function frstr($str){ return str_pad($str,8,'0',STR_PAD_LEFT); } $php=''; $p= frstr(decbin( ...
- C#自带缓存方案
/// <summary> /// 获取数据缓存 /// </summary> /// <param name="CacheKey">键< ...
- suse 安装gcc
1)挂载ISO镜像 新建一个目录: mkdir /mnt/iso 将ISO文件挂载到该目录上: mount -o loop /opt/SLES-11-SP3-DVD-x86_64-GM-DVD1.is ...
- 在window的IIS中搭配Php的简单方法
在window的IIS中搭配Php的简单方法.搭配php的时候找到的一个超级简单方法 关键的核心是 PHP Manager for IIS 这是微软开发的一个项目,使用它可以在window下最方便简单 ...
- blktrace btt结果分析
对于btt的结果分析十分的困难,我和同事花了很多的时间在网上查找btt输出的每一项参数的意义,试图更好的分析bio的统计信息,但网上文章一大抄,翻来覆去就是那几篇文章. 本文中内容参考了以下网址: 1 ...
- Ubuntu 升级内核版本
查看当前内核版本 sch01ar@ubuntu:~$ uname -r Ubuntu 内核地址:https://kernel.ubuntu.com/~kernel-ppa/mainline/ 打开这个 ...