stinge 2010-11-30 10:15
浏览 1758
已采纳

两个不同的网站能不能共用一个数据库?

我用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

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(21条)

报告相同问题?

悬赏问题

  • ¥15 求帮我调试一下freefem代码
  • ¥15 R语言Rstudio突然无法启动
  • ¥15 关于#matlab#的问题:提取2个图像的变量作为另外一个图像像元的移动量,计算新的位置创建新的图像并提取第二个图像的变量到新的图像
  • ¥15 改算法,照着压缩包里边,参考其他代码封装的格式 写到main函数里
  • ¥15 用windows做服务的同志有吗
  • ¥60 求一个简单的网页(标签-安全|关键词-上传)
  • ¥35 lstm时间序列共享单车预测,loss值优化,参数优化算法
  • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
  • ¥100 为什么这个恒流源电路不能恒流?
  • ¥15 有偿求跨组件数据流路径图