当使用 pecl memcached(或者我猜是 memcache..)扩展时,是否应该通过将概率设置为 0 来禁用 php 的会话垃圾收集(例如:session.gc_probability / session.gc_divisor)?
由于以下原因,这可能是合乎逻辑的:
A)会话到期时间很可能通过在存储的密钥上设置到期时间来简单地存储。EG:每个会话都有其到期 ttl,并在到期时由 memcached 简单地清除。
B) 要清除 memcached 本身未清除的现有会话,memcached 扩展必须对存储在 memcache 守护程序中的所有数据进行完全转储,检查每个键以查看该键是否与定义的模式匹配,然后检查何时添加密钥,最后根据需要删除。这不太可能,原因如下: 1) 据我所知,无法确定何时将密钥添加到 memcache。只有当它到期时。2) 转储 + 解析对 memcache 实例来说会非常繁重。
再说一遍,memcache(d) pecl 扩展很可能只是禁用了 php 的会话垃圾收集?
谢谢。