开篇
本篇博客继续对redis高级应用进行学习,分别为事务和发布订阅消息。
正文
一、事务
事务正常执行:
事务执行出现问题:
以上实践可以看出redis虽然有事务,但是事务的机制并不完善,这是需要改进的地方。
一旦是数据库就会涉及到并发的问题,一般是使用锁类解决并发问题,锁分为悲观锁和乐观锁。在redis使用事务和watch监听一起达到乐观锁的效果,实例的完成需要开启两个会话。
实例:左侧为session2,右侧为session1
1、Session1添加监听,开启事务
2、session2中对age进行修改
3、session1中添加事务队列,修改age
4、执行事务,获取age的值
二、发布订阅消息
说明:
redis的发布订阅消息概念类似观察者模式,订阅者可以根据自己的需要订阅相关的消息类型,发布者发布 相关消息类型订阅者就可以接收到此消息。
实例:
一个发布者,一个订阅者。发布使用的命令 publish,订阅使用的命令 subscribe。
应用:可以做web的通讯工具