我有 2 个需要会话管理的区域,有 2 个不同的到期时间:
- 行政区 - 20 分钟
- 预订区 - 3 分钟
使用Zend_Session
,如何为同一用户管理两者?
需要注意的是,Reservation Area 的行为与 Ticketmaster 非常相似,其中将预订准确度保持在秒是至关重要的。
我当前的实现使用了Zend_Session_SaveHandler_DbTable
,如果可能的话,我想坚持下去。
我将Session_ID
主 Session 表中的 Session 表存储在 Reservation 表中以指示预订。这很有效,因为它允许我使用垃圾收集来清理废弃的会话(我有一个每分钟触发垃圾收集的 cron)。
我对这个实现的问题是,考虑到时差,我不知道如何管理行政区的会话。