redis学习(五) redis进阶之事务和过期时间的应用

本文详细介绍了Redis中的事务机制,包括multi和exec的使用、错误处理和WATCH命令的应用。同时,文章探讨了如何利用Redis的过期时间功能,如expire命令及其变种,以及在访问频率限制和缓存场景中的应用。文中还讨论了Redis作为缓存存在的问题及解决方案。
摘要由CSDN通过智能技术生成

事务

redis中的事务是一组命令的集合。使得一个事务中的redis命令要么全执行,要么全不执行

使用方式: multi 和exec完成


multi: 告诉redis将同一个事务的命令存储起来。  之后发送两个SADD, redis返回queued表示命令进入了等待执行的事务队列中。

exec:则是告知redis按照发送顺序执行命令。一旦客户端发送exec名,所有命令将执行,即使此后客户端断线,没有关系。

错误处理

1>语法错误。 命令不存在或者命令参数个数不对。

只要有一个命令有语法错误,执行exec命令后redis就会直接返回错误,连正确的命令也不会执行。

2> 运行错误。指的是命令执行时出现错误。比如使用散列类型的命令操作集合类型的键。这种错误在实际执行前redis是无法发现的。所以在事务里这样的命令会被redis接受并执行。如果事务里的一条命令出现了运行错误,事务的其他命令

依然会继续执行(包括出错命令后面的命令)


redis的事务没有提供回滚的功能,因此开发者必须在事务执行后自己将数据库复原到原来执行前的状态。

这两种错误,其中语法错误是能在开发是找出并解决的。

WATCH命令介绍

在一个事务中只有当所有命令都依次执行完才能得到每个结果的返回值,可是有些情况需要先获得一条命令的返回值。然后在根据这个值执行下一条命令。

比如get,set 命令实现increase时候就会出现竞态条件。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值