1:是的。我强烈建议将PHP会话存储在Memcached中。原因如下:
Memcached非常适合存储数据库和文件系统经常访问的小块数据。
Memcached是专门为会议设计的。它最初是 livejournal.com 首席开发人员的心血结晶,后来也用于缓存用户帖子的内容。好处是立竿见影的:大部分行动都是在记忆中发生的。页面加载时间大大缩短。
值得庆幸的是,PHP和Apache有一个简单的实现来处理Memcached的会话。只需使用几个 shell 命令进行安装
Debian 的例子:
sudo apt-get -t stable install php7.4-memcached
和
将 php.ini 设置更改为类似于以下内容的内容:
(摘自 https://www.php.net/manual/en/memcached.sessions.php)
session.save_handler = memcached
; change server:port to fit your needs...
session.save_path = "localhost:11211"
关键是session.save_path
它将不再指向服务器上的相对文件路径。提到了APC - 用于缓存程序使用的.php文件的APC。APC和Memcached将显着减少IO,并使Apache / Nginx能够更快地自由地使用服务器资源,例如图像。
2: 否
3:使用Memcached的根本缺点是数据波动
会话数据在 Memcached 中不是持久的。因此,如果服务器崩溃,内存中的所有数据都将丢失。每个人都必须重新登录。
然后你有内存消耗...
请记住:会话存储在内存中。如果您的网站处理大量并发用户,您可能需要支付一些额外的钱来分配更大的内存。