发布于 1970-01-01 08:00
  • 2 个回答
    • 把传过来的参数,生成一个 hash值,存到数据库的 hash_code 字段,此字段做唯一索引。且每次插数据库的时候,用同样的方式生成 hash值,判断此 hash值是否存在。

      2022-10-26 14:30 回答
    • 用Etag在并发控制中实现乐观锁机制,下面例子不仅局限于重复提交:

      在并发场景中,多个客户端同时操作同一个资源,会出现一种情况:有客户端操作的资源在未知情况被发生了变更。

      举个简单的例子:

      用户A发了一个帖子,内容为post-a,用户B看到了post-a之后在下面写评论,在B写评论期间用户A把帖子内容改成了post-aa。会产生的一个问题是,用户B针对post-a 写的评论看起来怪怪的^_^

      解决办法很简单,在B看到A的时候就给他一个帖子资源标识tag-1,B提交评论时连同这个标识tag-1一同提交。服务器在接受请求之前验证先验条件,如果当时帖子内容无任何变化,仍然是tag-1,成功。

      如果帖子内容变化,新标识为tag-2,与B提交的tag-1不符合,表示期间资源发生了变化,返回412 Precondition Failed。然后刷新页面也好,提示也好,让B知道这一变化继续评论。

      API 情况也类似,只需要给返回资源都加上一个标识。

      2022-10-26 14:30 回答
    撰写答案
    今天,你开发时遇到什么问题呢?
    立即提问
    PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
    Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有