【问题标题】:Codeigniter Session matching IP [closed]Codeigniter 会话匹配 IP [关闭]
【发布时间】: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


【解决方案1】:

如果您选择使用 $config['session_match_ip'] 设置为 false ,您的数据库中自然会有更多记录。但是,如果您检查 codeigniter documentation,您会看到 codeigniter 会对过期会话进行垃圾收集,这应该可以让您控制一切。

"注意:Session 类具有内置的垃圾收集功能,可以清除 过期会话,因此您无需编写自己的例程 去做吧。”

【讨论】:

    【解决方案2】:

    i see another link here that may help you about session matching = ip

    这可能会有所不同,但比为会话创建一个数据库字段到您的数据库更有用

    【讨论】:

    • 好的,但抱歉与我的要求无关!
    猜你喜欢
    • 2013-10-22
    • 2013-06-18
    • 2011-12-02
    • 1970-01-01
    • 2015-06-12
    • 1970-01-01
    • 2011-08-17
    • 2012-04-08
    • 2015-09-11
    相关资源
    最近更新 更多