Redis核心技术进阶二(事务处理)

  • Redis事务

测试思路:

开启redis事务后,执行命令中间出现了错误,查看事务是否回滚?

模拟错误:使用lpop出栈一个String类型数据,lpop只能操作list数据类型。出现错误。

127.0.0.1:6379> get age

"19"

127.0.0.1:6379> multi

OK

127.0.0.1:6379> incr age

QUEUED

127.0.0.1:6379> incr age

QUEUED

127.0.0.1:6379> incrby age 6

QUEUED

127.0.0.1:6379> lpop age

QUEUED

127.0.0.1:6379> decr age

QUEUED

127.0.0.1:6379> decrby age 4

QUEUED

127.0.0.1:6379> exec

1) (integer) 20

2) (integer) 21

3) (integer) 27

4) (error) WRONGTYPE Operation against a key holding the wrong kind of value

5) (integer) 26

6) (integer) 22

127.0.0.1:6379>

回滚

  • 开启事务
  • 给age自增值
  • 回滚

127.0.0.1:6379> multi

OK

127.0.0.1:6379> incr age

QUEUED

127.0.0.1:6379> incrby age 6

QUEUED

127.0.0.1:6379> discard

OK

127.0.0.1:6379> get age

"22"

127.0.0.1:6379>

 

  • Redis持久化
    1. Rdb持久化

Rdb持久化优点

  1. rdb持久化文件只有一个文件。读写效率比较高。
  2. 容错性,数据迁移比较快。
  3. 启动效率高。
  4. 性能最大化。持久化fork子进程持久化数据。

Rdb持久化策略:

  1. save 900 1
    1. 在900秒,有至少一个key发生变化,就需要持久化。
  2. save 300 10
    1. 在300秒,有至少10个key发生了变化,持久化。
  3. save 60 10000
    1. 60秒,有10000个key发生了变化,持久化。

Rdb缺点:

  1. 容错性不是很好
  2. Fork子进行消耗性能。

注意:rdb是redis默认的持久化方案。

  • Aof持久化

Aof持久化优点:

  1. 该机制可以带来更高的数据安全性,即数据持久性
  2. redis-check-aof工具来帮助我们解决数据一致性的问题

aof持久化策略:

3种同步策略

即每秒同步

每修改同步

不同步

Aof缺点:

  1. 持久化文件较多,读写效率不高。
  2. Aof文件同步策略频率较高,效率比较低。

如果rdbaof同时存在?

默认使用aof持久化策略。

配置aof持久化:

  1. 开启aof持久化

  1. 修改aof持久化同步策略

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值