SQLite作为会话存储

DaG*_*rov 5 php sqlite model-view-controller memcached session-cookies

我想知道将SQLite用作主会话存储或至少作为主要memcached的备份会话存储是一种好习惯吗?

你能给我一些优点和缺点吗?

(我正在为教育目的构建MVC框架,并考虑了不同的可能性和实现)

Hen*_*ker 5

SQLite专业人士

  • 比基于文件的会话更快
  • 可以分布在基于文件的会话更尴尬的地方

SQLite缺点

  • 需要SQLite,它创建一个依赖项和其他要监视的东西
  • 更难实现基于本机文件的会话
  • 大型应用程序可以通过如此多的读写请求,碎片,索引更新等快速杀死sql表,尤其是几乎每个页面都会遇到特定的表

更好的解决方案 - Memcache

由于会议通常是访问与每一页打它将使意义用最快的机制可能没有数据库层的所有开销,同时仍允许其在分布式系统中工作(例如多个PHP服务器).

使用内存缓存这是很好用PHP进行测试,你甚至可以只通过修改几个php.ini设置或更为精细的控制(或使用其他软件,如Redis的),你可以创建自己的自定义会话处理器整合内存缓存会话.

这有不同的优点和缺点

Memcache优点

  • 非常快
  • 很好地扩展
  • 易于通过PHP.INI实现

Memcache缺点

  • 另一项有可能崩溃并需要监控的服务
  • 使用RAM通常是与HDD空间相比的有限资源,并且还需要监视

虽然您应该使用其他软件监视这些内容或编写一个cron作业脚本来检查内存缓存服务是否仍在运行 - 但这是另一天的另一个问题和答案.重点是,这些缺点可以在某种程度上减轻.

进一步阅读所涵盖的主题