1

我正在尝试让 NodeJS 和 CodeIgniter 彼此共享数据(会话和数据库数据)。我已经用谷歌搜索了很多解决这个问题的方法,但我仍然没有找到最方便的方法。似乎最合适的方法是使用某种缓存软件,例如 memcached 或 redis,因为包装器可用于 Node 和 PHP。

这是我到目前为止所想到的:

  1. 客户端在 CodeIgniter 支持的网站上正常登录。会话被创建并添加到 memcached。
  2. 客户端使用 SSL 连接到安全的 socket.io 服务器。
  3. 客户端将原始 cookie 数据发送到 socket.io 服务器。
  4. 服务器对 cookie 数据进行一些字符串拆分并获取会话 ID。
  5. 服务器检查缓存以查看会话 ID 是否存在。如果是,则用户已登录!
  6. 用户在 CodeIgniter 网站上注销。会话数据被破坏。

但是,我可以用这种方法想到一些问题:

1. 如何从 Memcached 中清除过期会话?据我所知,没有办法在 CodeIgniter 中检测到过期的会话?- 编辑 - 刚刚意识到我可以对 memcached 数据设置超时来解决这个问题。

  1. CodeIgniter 文档说会话 ID 每五分钟更改一次。这不会破坏我的方法吗?

那里有更好的解决方案吗?在开始实施之前,我想听听还有哪些其他选择。

4

0 回答 0