问题描述
多个客户端同时 set key
乐观锁
使用watch命令实现乐观锁,当watch期间发生变化就执行回滚
缺点:redis采用分片之后不行
分布式锁
操作redis时拿到分布式锁才能操作。一般由业务层控制。
时间戳
在写入时保存时间戳,如果发现自己写时被抢先写了就不执行,即比较写入时间是否晚于现有时间戳
消息队列
使用消息队列顺序执行命令
多个客户端同时 set key
使用watch命令实现乐观锁,当watch期间发生变化就执行回滚
缺点:redis采用分片之后不行
操作redis时拿到分布式锁才能操作。一般由业务层控制。
在写入时保存时间戳,如果发现自己写时被抢先写了就不执行,即比较写入时间是否晚于现有时间戳
使用消息队列顺序执行命令