php - 在没有 ACID 数据库的情况下处理 session ?

标签 php mysql session nosql mongodb-php

我正在考虑使用与 memcached 配对的 noSQL (mongoDB) 在我的 webapp 中存储 session 。这个想法是,在每次页面加载时,将用户数据与 memcache 中的数据进行比较,如果发生变化,数据将同时写入 memcached 和 mySQL。这样,读取次数将大大减少,并且可以利用 memcached 来做它最擅长的事情。

但是,我有点担心使用非 ACID 数据库进行 session 存储,尤其是在 memcached 层中。假设在将 session 更新到数据库时出现问题,我们的用户立即感到头疼,想知道为什么他们放入购物车的产品没有显示......

什么是合适的方法?我们应该使用 mySQL session 存储还是为 session 保留非酸性支持数据库好吗?

谢谢!

最佳答案

我目前使用 MongoDB 作为 session 存储。可以避免 pilif 提到的竞争条件。我找到了一个实现 MongoDB session 处理程序的类 (http://www.jqueryin.com/projects/mongo-session/) 并将其派生到 github 上以满足我的需要 (http://github.com/halfdan/MongoSession)。

关于php - 在没有 ACID 数据库的情况下处理 session ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3685665/

相关文章:

php - mySQL PHP UPDATE文件位置获取三

php - 使用 url 的 with-www 和 without-www 的不同 session

java - 从 PHP 脚本返回到 java 程序的字符串无法正常工作

php - 文本区域的富文本编辑器

PHP if 或语句不工作

php - 关闭浏览器选项卡时取消设置 session

session - 为什么这个 gorilla session 代码不起作用?

php - Laravel 分页不适用于日期搜索

mysql - 在目录数据库中具有两个不同类别 ID 的产品 ID

javascript - 如何使用 NodeJS 将 MySQL 中的数据显示为 HTML 页面