codeigniter - sess_expiration = 0 的 Codeigniter 3 Redis 会话驱动程序车库集合
问题描述
我正在阅读 Redis 会话驱动程序的源代码。在 gc 函数中它返回 true 并说 Redis 处理这个。
redis 如何决定何时驱逐 sess_expiration = 0 的数据?当可以删除这些会话时,我不希望 redis 填满。
解决方案
我对这个话题不是很熟悉,但我认为:redis 默认遵循特定的策略来管理你的会话。相应地:GC在会话信息之后保存一个默认的过期时间,以供下一个条目使用。这样做时,它会查看其配置(您是否创建了一个表来存储 Session?您应该何时保存它?)。
它使定制这部分成为可能。因此,您可以通过编写自己的处理程序来管理会话。如果需要,您可以将会话信息存储在任何地方,而无需将其带到数据库端(如 cookie)。您还可以设置自己的 Web 服务并从那里管理记住我的信息,这是另一种选择。
我的理解是,如果您将 sess_expiration 设置为 0,它将自行管理。否则,您可以设置一个较短的时间,例如 40 分钟,然后您可以使用 sintakonte 的玉米作业。(我认为没有办法编写自己的 GC,您可以像PK_Session那样自定义会话处理程序)
推荐阅读
- swift - 如何制作一个空的 Int 变量?
- linux - 将 RTF 粘贴为格式化的 Markdown;将 Markdown 导出为格式化的 HTML
- python - 将 JSON 字符串插入 PostgreSQL 表列
- asp.net-mvc-5 - 在 MVC5 Html 网格列中使用 Font Awesome
- spring - Eclipse 与 Spring Boot 给出 JSP 错误:在预期路径 /src/main/webapp/js/home.js 未找到片段“/js/home.js”
- javascript - 异步方法链接?
- python - 使用字典和数组将点符号字符串转换为嵌套的 Python 对象
- amazon-web-services - 无法在 AWS API Gateway 中接收来自 eBay 的 HTTP 通知
- c - 逐个读取元素有效,但读取一个块不会
- python - 在现有 sqlite 关系数据库中创建索引 Elasticsearch