【发布时间】:2009-10-09 15:12:46
【问题描述】:
使用这三种方法之一实现快速哈希/会话存储的最佳方法是哪一种?
方式一: 在 MySQL 中创建一个内存表,用于存储创建条目时的哈希和时间戳。 MySQL 事件会自动删除所有超过 20 分钟的条目。这应该很快,因为所有数据都存储在内存中,但连接到数据库服务器的开销可能会破坏这一优势。
方式2: 我创建了一个以哈希作为文件名的空文件,并创建了一个自动删除所有超过 20 分钟的文件的 cronjob。由于 HDD 上的所有读取操作,这可能会变得很慢。
方式 3: 由于这将与 PHP 相关并且我们使用 Zend 框架,因此我可以使用 Zend_Cache 并以 20 分钟的生存时间存储散列。
我不想为此使用 Memcached 或 APC,因为我认为这对于一些小的哈希来说是一个很大的开销。
您有类似场景的经验吗?非常感谢您的经验和解决方案。
【问题讨论】:
-
您的 方式 2 是 PHP 的默认会话处理程序正在执行的操作。
-
是的。但是有很大的开销吗?高性能应用程序是否会因为性能问题而不使用默认会话处理程序?
标签: php session caching hash performance