php - 数据库与逻辑应用分离的情况下怎么保证信息同步,或者叫安全

查看:99
本文介绍了php - 数据库与逻辑应用分离的情况下怎么保证信息同步,或者叫安全的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

我不太明白这个词怎么表达

是这样的,现在有一台服务器运行数据库(server),另外一台运行php程序(client),浏览器(Browser)访问client,然后client逻辑判断后通过http协议对server中的数据库进行CURD操作

有个问题就是,如果Browser的用户操作过快,而serverclient之间http请求太慢的话,就会导致client上获取的数据更新不及时,导致一些错误。。

栗子:一个用户只能买一个商品,用户点击之后,client先读取server的数据,判断是否已经购买,没有购买的话进行写入操作,然后购买完成,但是如果用户连着点击两次购买,两次操作一次进入client,然后由于clientserver之间网速或者其他一些问题,写入操作没有及时完成造成两次购买操作的判断为此用户未购买,于是会有两次写入server数据库的操作,就会造成错误。。

这个问题属于什么?应该怎么解决?

解决方案

用内存数据库或者NOSQL数据库来跟客户端交互,然后内存数据库跟MYSQL这类关系数据库同步。

如果客户端某些操作需要数据库查询来判断,这个时候如果是高并发的情况很容易就产生错误了。以前就经历过,比如用户注册判断是否有重名的,理论上是先查询数据库是否有该用户名存在然后插入,然而实际运营中这个逻辑竟然被打破了,发现了重名用户。

所以把核心的数据放到关系数据库,对速度有要求的使用内存数据库。适当的使用缓存以减小重复的查询。

这篇关于php - 数据库与逻辑应用分离的情况下怎么保证信息同步,或者叫安全的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆