首页 > V2EX > V2EX-请教大家一个后端菜单功能的实现问题
2022
06-23

V2EX-请教大家一个后端菜单功能的实现问题

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
V2EX-请教大家一个后端菜单功能的实现问题 - 第1张  | 牛叻网(NiuL.Net)

最后编辑:
作者:分享菌
这个作者貌似有点懒,什么都没有留下。

留下一个回复