redis学习03--Redis的机制

2021/11/1 19:13:09

本文主要是介绍redis学习03--Redis的机制,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

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)

 



这篇关于redis学习03--Redis的机制的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程