dumbbell5kg:
我现在有一个菜单 menu
有这么一种并发的操作情况:
- 用户 A 往 menu 中增加内容 content ,同时用户 B 在删除 menu ,如果 B 先成功,那么 A 新增的 content 就变成了孤儿。
我目前想到的解决办法有两种:
- 使用 redission 分布式锁锁住 menu ,但是这样同一个 menu 下的操作会变慢,另外:多人同时往菜单下增加内容的这种无冲突操作也受到影响了
- 使用乐观锁机制,往菜单表中加一个 version 字段,AB 两者每次操作都更新菜单的 version:update version=2 where version=1 ,但是这样其中一个人的操作会报错“数据已更新,请刷新页面”,刷新页面会让前端拿到新的 version ,但是对用户不友好
所以想请教大家一般是怎么处理这种菜单的并发问题呢?
from V2EX-最新主题 https://ift.tt/uxiEMVB
- 本文固定链接: https://niul.net/245134.html
- 转载请注明: 分享菌 于 牛叻网(NiuL.Net) 发表