redis之事务学习
程序员文章站
2022-12-05 10:03:40
目录文章目录目录Transaction悲观锁乐观锁消息订阅发布(了解)Transaction一个队列中 一次性,顺序性,排他性地执行一系列命令MULTI //开始事务127.0.0.1:6379> MULTIOK127.0.0.1:6379> set balance 100QUEUED127.0.0.1:6379> set debt 0QUEUED127.0.0.1:6379> 将多个命令入队到事务中,接下来这些命令并不会立即执行,而是放到等待执行的事...
目录
文章目录
Transaction
一个队列中 一次性,顺序性,排他性地执行一系列命令
MULTI //开始事务
127.0.0.1:6379> MULTI
OK
127.0.0.1:6379> set balance 100
QUEUED
127.0.0.1:6379> set debt 0
QUEUED
127.0.0.1:6379>
将多个命令入队到事务中,接下来这些命令并不会立即执行,而是放到等待执行的事务队列中
EXEC //提交事务
DISCARD //取消事务
单独的隔离操作:事务中的所有命令都会序列化,按顺序地执行,事务在执行过程中不会被其他客户端发来的命令所打断
没有隔离级别的概念:队列中的命令在没有提交之前都不会被实际地执行,因为在事务没有提交之前任何的指令都不会实际地执行
不能保证原子性:redis中同一事务中如果有一条命令执行失败则其后的命令仍然会被执行,没有回滚
redis对事务是部分支持的,如果在一次事务中如果一条命令在加入队列之前发生错误,就不会加入队列中,那么其他正常加入队列的命令都会执行失败。而在一次事务中,如果一条命令在加入队列之后执行失败,则除了该命令其他加入队列后正常执行的命令都会执行成功
watch //监视一个或多个key,如果在事务提交之前这个或这些key被其他命令所改动,那么事务将被打断并返回nil
unwatch //取消对所有key的监视
一旦执行EXEC
命令,之前所加的监控锁都会被取消掉
悲观锁
乐观锁
消息订阅发布(了解)
进程间的一种通信模式
发送者(pub)发送消息 订阅者(sub)接受消息
先订阅后发布才能收到消息
SUBSCRIBE a b c//订阅多个
PUBLISH a hello//发布消息
//订阅多个 通配符
PSUBSCRIBE a*
//发布消息
PUBLISH a1 hello
PUBLISH a2 HelloRedis
本文地址:https://blog.csdn.net/weixin_45751628/article/details/108962553
推荐阅读
-
设计模式学习之工厂方法模式
-
Python学习之集合(set)的功能、定义和实例讲解
-
JUC学习之Lock同步锁
-
python基础学习之递归函数知识总结
-
python学习之随机函数random
-
PHP网页游戏学习之Xnova(ogame)源码解读(二)_php实例
-
示例学习kettle之ExcelWriter步骤
-
MYSQL入门学习之十六:MYSQL命令参数详解_MySQL
-
Redis缓存技术学习系列之事务处理 springmvc+mybatisdubbo+zookeeperrestful redis分布式缓存spring mvc
-
Redis缓存技术学习系列之事务处理 springmvc+mybatisdubbo+zookeeperrestful redis分布式缓存spring mvc