1、redis中的事务是一组命令的集合。一个事务中的命令,要么都执行,要么都不执行
2、
MULTI 告诉redis:下面我发给你的命令属于同一个事务,先不要执行,而是把它们暂时存起来
OK
SADD "user:1:followers" 2 发送命令
QUEUED 返回QUEUED表示这两条命令已经进入等待执行的事务队列中了
SADD "user:2:followers" 1
QUEUED
EXEC 执行命令
1)(integer) 1
2)(integer) 1
3、错误处理
(1)语法错误 命令不存在或者命令参数的个数部队
一旦发现错误,该事务中正确的命令也不会执行
(2)运行错误 命令执行时出现的错误 比如散列类型的命令操作集合类型的键,执行之前redis是无法发现的
一旦发现错误,该事务中错误的命令不会执行,正确的命令还会执行
4、WATCH命令 监控
5、UNWATCH命令 取消监控
6、竞态条件
7、生存时间
EXPIRE命令 设置键的生存时间
TTL命令 查看键的剩余生存时间 键不存在时,TTL返回-1;没有为键设置生存时间(永久存在)时,也会返回-1
PERSIST命令 设置键为永久
SET/GETSET命令会为键重新赋值,并清除键的生存时间
EXPIREAT 与 EXPIRE 差别:前者使用Unix时间作为第二个参数表示生存时间
PEXPIREAT/EXPIREAT 差别:前者单位为毫秒
时间: 2024-10-18 06:54:50