我很困惑为什么它是根据文档为会话创建数据库表的先决条件,而会话可以在没有它的情况下工作(数据库表)。
谁能给我解释一下
我很困惑为什么它是根据文档为会话创建数据库表的先决条件,而会话可以在没有它的情况下工作(数据库表)。
谁能给我解释一下
数据库和redis只是用于存储会话的驱动程序。默认情况下,laravel 使用file
驱动程序,这意味着您仍然可以使用session(['key' => 'value']);
并将存储在文件中。
如果你选择使用数据库,那么你需要创建 Laravel 用来存储这些值的表。
Redis 也是一个完全独立的驱动程序,这里是它的 wiki:
Redis是一个内存数据结构项目,实现了具有可选持久性的分布式内存键值数据库。
因此,总而言之,您应该根据自己的需要选择使用哪个驱动程序。
我从来没有session
在数据库中使用过,所以我不能作为事实回答你所有的问题。我想每个人都会以不同的方法或用法看到/使用这张表。
session
不是必需的。默认情况下,它使用file
存储。使用数据库表允许您管理用户会话,(我想)在服务器之间共享它们......Redis
就像一个数据库,但复杂性较低。它只是key => value
所有东西都存储在内存中的堆栈。它允许您的应用程序以极快的速度存储和检索数据。您还需要在生产或开发时安装redis-server
并启动一个以使其工作。deamon
worker
我们需要将会话驱动程序更改为数据库或 Redis。
它基于我们的要求,就像我在每 30 分钟不活动后使用 Heroku 服务器进行部署和 Heroku 的免费 dyno 睡眠一样。而且 Heroku 不允许我们存储本地文件,它每天会自动刷新一次构建。因此,在这种情况下,我们不能为会话使用本地文件驱动程序,我们必须将会话驱动程序更改为数据库或 Redis。
我正在使用 Redis 作为我的应用程序的会话驱动程序。