使用memcached进行PHP会话的优点和缺点

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


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

Memcached的一些缺点:

  • 尺寸要求
  • 没有太多的文档支持
  • 波动性(如果Memcached服务器实例崩溃,则存储在会话中的任何对象数据都将消失)
  • 安全性(没有认证内置到Memcached中)。
  • 但Memcached仍然是许多应用程序的不错选择,原因如下:

  • Memcached可以补偿不足的ACID属性,并且永远不会阻塞。
  • Memcached是跨平台的
  • 跨DBMS
  • 它便宜
  • 让我们看看更光明的一面!


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

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

    链接地址: http://www.djcxy.com/p/11705.html

    上一篇: Pros and cons of using memcached for PHP sessions

    下一篇: case class from Map