【发布时间】:2012-11-19 08:24:43
【问题描述】:
我想知道与使用 session_matching 用户 IP 相关的主要问题是什么?
我是否理解这会使会话表变得更小,因为如果找到 ip,会话是从同一个 db 字段重新生成的,还是我弄错了?
我的问题是站点上有很多用户,这将产生很多会话表字段,而没有将 ip 匹配参数设置为 TRUE,因为如果会话与用户 ip 不匹配,则将新的 db 字段用于用户会话,是这是真的吗?
这是一个示例,展示我认为我对会话数据库表的了解:
$config['session_match_ip'] = false;
3000000 users on site = 3000000 session db records.
3000000 users returns on site = 6000000 session db records. (cause everytime user is a NEW USER)
$config['session_match_ip'] = true;
3000000 users on site = 3000000 session db records.
3000000 users returns on site = 4500000 session db records. (cause ,maybe, 1500 users uses static IP)
这个逻辑对吗?
谢谢。
【问题讨论】:
-
你遇到了什么问题?
-
没问题,我想知道 sess 匹配用户 ip 是否会产生更小的数据库会话表
-
如果性能是您所指的,那么 6000 条记录就不算什么。我不知道 codeigniter 会话表是如何工作的,但是必须有一个垃圾收集器。即使它不存在,您也可以使用 cron 作业。这就是它应该的样子。现在将深入研究 codeigniter 会话类,让我们看看它提供了什么。
-
我很确定 codeigniter 会对旧会话数据进行垃圾收集。
-
检查codeigniter documentation:
"Note: The Session class has built-in garbage collection which clears out expired sessions so you do not need to write your own routine to do it."
标签: php database codeigniter session