我用rails做了一个网站,现在想用php再做一个不同的系统,将它们集成起来,用的数据是同一个mysql数据库的,请问数据访问会不会冲突?
22条回答 默认 最新
- zzy9zzy 2010-12-03 11:32关注
其实“抛出异常的爱”已经把缓存的问题说清楚了,并不难理解。我另外举个我常用的例子:
假设A和B系统用的都是本机的缓存,互相之间没有同步机制。这时数据库里面有银行账号,账号里面的余额可以被A和B两个系统同时访问。A系统读取到余额是100元,放到了A系统的缓存里面给需要的请求用;B系统同时也读取了余额100元放到B系统的缓存里面给需要的请求用。这时A系统的用户消费了100元,A系统将数据库里面的余额扣减为0元,A系统缓存也改为0元(没有通知B系统),这时用户同时向B系统提交了100元的消费请求,B系统从缓存中看到余额是100元,就正常扣减进行消费,但实际上这个用户只有100元,因为缓存没有和A系统同步,所以造成了错账——这对涉及到钱的系统是致命的。
为了解决这种问题,我们就要设计缓存的同步机制,让某一个系统改变了数据后要通知共用数据库的其他系统,这个机制是比较麻烦的,而且比较耗费系统资源,所以我们就考虑让所有系统使用同一个缓存,避免互相之间的同步开销,这种集中式缓存的典型代表就是——Memcache
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 求帮我调试一下freefem代码
- ¥15 R语言Rstudio突然无法启动
- ¥15 关于#matlab#的问题:提取2个图像的变量作为另外一个图像像元的移动量,计算新的位置创建新的图像并提取第二个图像的变量到新的图像
- ¥15 改算法,照着压缩包里边,参考其他代码封装的格式 写到main函数里
- ¥15 用windows做服务的同志有吗
- ¥60 求一个简单的网页(标签-安全|关键词-上传)
- ¥35 lstm时间序列共享单车预测,loss值优化,参数优化算法
- ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
- ¥100 为什么这个恒流源电路不能恒流?
- ¥15 有偿求跨组件数据流路径图