我想知道将SQLite用作主会话存储或至少作为主要memcached的备份会话存储是一种好习惯吗?
你能给我一些优点和缺点吗?
(我正在构建一个用于教育目的的MVC框架,并考虑了不同的可能性和实现方式)
答案 0 :(得分:5)
SQLite专业人士
SQLite缺点
更好的解决方案 - Memcache
由于会话通常在每个页面访问时访问,因此在没有数据库层的所有开销的情况下使用最快的机制是有意义的,同时仍然允许它在分布式系统中工作(例如,多个PHP服务器)。
使用经过PHP测试的Memcache,您甚至可以通过修改一些php.ini设置或更精细的控制(或使用其他软件,如redis)来集成memcache会话,您可以创建自己的自定义会话处理程序
这有不同的利弊
Memcache专业人士
Memcache Cons
虽然您应该使用其他软件监视这些内容或编写一个cron作业脚本来检查内存缓存服务是否仍在运行 - 但这是另一天的另一个问题和答案。重点是,这些缺点可以在某种程度上减轻。
进一步阅读有关主题的内容
答案 1 :(得分:2)
基于文件的会话是个坏主意,因为如果你不关闭对会话的写访问权(session_write_close();),文件将被锁定。但是,当你只需要使用sqlite来避免这个问题时,为什么要限制自己/ theServer?
所以 sqlite pro: - 易于使用(更改php.ini配置):
session.save_handler = sqlite
session.save_path = "/path/sessions.db"
sqlite con
我想使用apc,但后来我需要实现,我担心它可能以安全问题结束......
答案 2 :(得分:0)
PHP的文件库会话非常好而且快速,使用SQLite存储会话只会增加会话管理的开销。