背景
系统里使用redis里watch-multi-exec一种CAS机制来控制并发的更新操作,目前使用的场景:
- chat里的房间信息(e.g. 成员变化)
- session系统的会话信息,涉及到的更新场景较多(e.g. 会话状态变化、聊天时间、评价、虚商等)
- mcc里员工信息(e.g. 工作状态、服务的会话)
- 但一直以来,都是开发人员自行维护了单机redis来实现上面一套,存在一定的风险,而公司运维维护了一套在底层storage上有一层类似codis的代理中间件,watch/multi/exec事务有关的命令不支持。