欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

session保存在redis内,多出来好多记录

程序员文章站 2022-04-21 19:44:38
...

我在php.ini中更改了

session.save_handler = files    ->    session.save_handler = redis
session.save_path = "/tmp"    ->    session.save_path = "tcp://127.0.0.1:6379"

更改之后访问了一下,就突然多出这么多字段,但是都没有值。
如下:
session保存在redis内,多出来好多记录

这东西到底是什么鬼。


不好意思没有讲清楚。这些东西是在没有访问的情况下保存的,我完全没有访问服务器,又多了三个。


顺便提问一下,这样设置的session最后可以自动释放吗?过期时间到了之后会自动删除吗?

回复内容:

我在php.ini中更改了

session.save_handler = files    ->    session.save_handler = redis
session.save_path = "/tmp"    ->    session.save_path = "tcp://127.0.0.1:6379"

更改之后访问了一下,就突然多出这么多字段,但是都没有值。
如下:
session保存在redis内,多出来好多记录

这东西到底是什么鬼。


不好意思没有讲清楚。这些东西是在没有访问的情况下保存的,我完全没有访问服务器,又多了三个。


顺便提问一下,这样设置的session最后可以自动释放吗?过期时间到了之后会自动删除吗?

session_id

你再看看phpini里面session.autostart配置的是啥。
如果这个配置成1了,你不调用session_start系统会自动帮你调用会生成session ID,你不存东西,自然就是空的

可以查看 session 的配置 (http://php.net/manual/zh/session.configuration.php) 了解详细的情况
session 默认是有概率触发 gc 的,也就是垃圾回收
session 如果已经过期了,但是没有触发 gc, 那么还会存在着,等到下次 gc 的时候删去

至于你说的,没有访问服务器多了几条记录,你在仔细看看,确实发生了访问

php应该已经触发了,在mac中好像有其他东西在触发。

相关标签: php redis session