7

除了重新启动时memcached所有会话丢失和用户注销的缺点之外,memcached用于存储 PHP 会话数据而不是文件的任何其他缺点是什么。有什么安全问题吗?memcached使用而不是磁盘上的标准文件性能更好吗?

4

2 回答 2

2

虽然,许多人已经能够通过使用 Memcached 来优化数据库性能,但它可能不是所有情况的最佳解决方案。

Memcached 的一些缺点:

  1. 尺寸要求
  2. 没有太多的文档支持
  3. 波动性(如果 Memcached 服务器实例崩溃,则存储在会话中的任何对象数据都将消失)
  4. 安全性(Memcached 中没有内置身份验证)。

但是,由于以下原因,Memcached 在许多应用程序中仍然是一个不错的选择:

  1. Memcached 可以弥补 ACID 属性的不足,并且它从不阻塞。
  2. Memcached 是跨平台的
  3. 跨数据库管理系统
  4. 它便宜

让我们看看光明的一面!

于 2013-01-13T14:38:11.367 回答
1

不是特定于将 memcached 用于会话的安全问题,而是我经常遇到的问题:您绝对必须确保您的 memcached 实例使用 unix 套接字,或者 - 如果它们绑定到某个部分 - 它们的端口被阻止。否则,人们只能远程登录并查看、修改和删除(会话)数据。

此外,顾名思义,它是一种缓存解决方案,而不是存储解决方案。因此,如果您决定将 memcached 用于会话存储,则应该将其备份为数据库或文件存储,因此如果存在缓存未命中(由于超时、手动删除、刷新或分配内存已满并被修剪),它可以在说“不,它不存在”之前检查更持久的存储类型。

于 2013-01-13T14:27:03.663 回答