ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

redis学习03--Redis的机制

2021-11-01 11:01:20  阅读:148  来源: 互联网

标签:03 事务 持久 aof -- Redis 开启 rdb 执行


1、Redis的事务

Redis的事务:以次事务,该成功的成功,该失败的失败。

开启事务,执行一系列命令,但是不会立即执行,会被放在一个队列中。

如果执行事务,那么这个队列中的命令全部执行。

如果取消了事务,则队列中的命令全部作废。

 

事务的相关命令:

使用redis-cli连接到服务端后

#开启事务
multi

#执行事务
exec

取消事务
discard

执行事务或者取消事务后,需要重新开启事务进行下一个事务操作。

一般配合watch命令使用。在没有调用multi之前(未开启事务),先使用watch命令监听一些key

watch name myname
multi
set name lisi

在进行exec之前,有其他的客户端修改了key为name的值,则开启事务的客户端在提交事务的时候,会自动被取消。

此时watch会被自动去除,不需要再手动调用unwatch命令。

这种机制类似于CAS乐观锁。

 

2、rdb持久化机制

rdb是Redis默认的持久化机制,它速度比较快,存储的是一个二进制文件,占用空间小,方便传输。

rdb无法保证数据的绝对安全。

#rdb持久化配置

#1代表rdb执行的时机
#900秒内有1个key改变就执行持久化
save 900 1
save 300 10
save 60 10000

#开启rdb持久化压缩
rdbcompression yes

#rdb持久化的文件
dbfilename dump.rdb

 

3、aof持久化机制

#默认不开启aof
#appendonly no
appendonly yes

#aof文件名称
appendfilename "appendonly.aof"

#aof持久化时机,以下三个只能开启一种

# appendfsync always #每执行一个写操作,立即持久化。最安全但性能最低。
appendfsync everysec #每秒执行一次。
# appendfsync no #根据操作系统和环境,在一定时间内自动持久化。

aof持久化机制默认是关闭的,推荐同时开启rdb和aof,避免数据丢失。

aof持久化速度相对rdb要慢,存储的是文本文件,体积会比较大。

 

同时开启aof和rdb的注意事项:

1. redies优先加载aof持久化文件。

2. 如果先开启了rdb,再开启aof,如果rdb执行了持久化,那么rdb文件中的内容会被aof覆盖。(redis更相信aof)

 

标签:03,事务,持久,aof,--,Redis,开启,rdb,执行
来源: https://www.cnblogs.com/asenyang/p/15492489.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有