标签:html tps 没有 text width src 错误 订阅发布 nal
可以一次执行多个命令,本质是一组命令的集合。一个事务中的 所有命令都会序列化,按顺序地串行化执行而不会被其它命令插入,不许加塞。
事务能做的事: 一个队列中,一次性、顺序性、排他性的执行一系列命令
常用命令:
下面的演示说明: Redis是部分支持事务的。不保证原子性。
首先介绍了乐观锁和悲观锁:
Pessimistic Lock
): 顾名思义,就是很悲观,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会block直到它拿到锁。传统的关系型数据库里边就用到了很多这种锁机制,比如行锁,表锁等,读锁,写锁等,都是在做操作之前先上锁。Optimistic Lock
) : 顾名思义,就是很乐观,每次去拿数据的时候都认为别人不会修改,所以不会上锁,但是在更新的时候会判断一下在此期间别人有没有去更新这个数据,可以使用版本号(version)等机制。乐观锁适用于多读的应用类型,这样可以提高吞吐量。 乐观锁策略:提交版本必须大于记录当前版本才能执行更新。WATCH监控案例: (余额和消费),例如余额为100
,消费为0
,余额为80
,消费为20
.....
①先看一波正常执行的:
②第二波,有另一个客户端修改了我们WATCH
的key。
③第三波,使用UNWATCH。
总结:
exec
之前加的监控锁都会被取消掉了。push/pop
过了,整个事务队列都不会被执行。三个阶段:
三个特性:
概念:
左边窗口开始订阅c1、c2、c3
三个频道。右边还没有操作。
然后右边开始发布消息。
总结:
先订阅后发布后才能收到消息,
SUBSCRIBE c1 c2 c3
。PUBLISH c2 hello-redis
。*
,PSUBSCRIBE new*
。PUBLISH new1 redis2015
。
原文链接:http://www.java520.cn/redis/15.html
标签:html tps 没有 text width src 错误 订阅发布 nal
原文地址:https://www.cnblogs.com/Terry-Wu/p/12090811.html