Php 使用Cookie还是会话?laravel 5.7-存储数据5分钟

Php 使用Cookie还是会话?laravel 5.7-存储数据5分钟,php,laravel,session,cookies,Php,Laravel,Session,Cookies,伙计们,我正在尝试在我的应用程序中使用laravel 5.7中的4步付款 然后我想将这些数据存储在4个步骤中,直到付款完成,然后我想将它们存储在数据库中 这4个步骤包括: 精选产品 选择配件 输入地址 输入付款明细 现在请选择你的方式 用哪一个?cookie或session或其他什么 我会使用会话,但我希望这些数据在5分钟后销毁,如果我选择会话生存期为5分钟,所有会话数据都将像我的登录会话一样销毁,我只想销毁我创建的会话。您要临时存储的数据是电子商务方面的购物车报价数据。您可以将此数据存储在数据

伙计们,我正在尝试在我的应用程序中使用laravel 5.7中的4步付款

然后我想将这些数据存储在4个步骤中,直到付款完成,然后我想将它们存储在数据库中

这4个步骤包括:

精选产品 选择配件 输入地址 输入付款明细 现在请选择你的方式

用哪一个?cookie或session或其他什么


我会使用会话,但我希望这些数据在5分钟后销毁,如果我选择会话生存期为5分钟,所有会话数据都将像我的登录会话一样销毁,我只想销毁我创建的会话。

您要临时存储的数据是电子商务方面的购物车报价数据。您可以将此数据存储在数据库中,时间戳列expires\u的值为当前时间+5分钟

然后在您的模型全局范围中,它将始终筛选查询并仅获取未过期的数据:

/**
     * The "booting" method of the model.
     *
     * @return void
     */
    protected static function boot()
    {
        parent::boot();

        static::addGlobalScope('expires_at', function (Builder $builder) {
            $builder->where('expires_at', '<=', Carbon::now());
        });
    }
这样做的好处是,可以将数据用于废弃的购物车报告。 在这些数据(主要是地址)中,产品将不包含所有详细信息,而是使用外键对各个表进行引用。如果不是这样,我建议您将数据库正常化。 此外,如果您愿意,可以在每周的cron中删除此数据,以 删除上周所有过期的条目。
会话提供了一种跨多个请求存储用户信息的方法,您应该为我检查是最佳选项。在会话驱动程序配置选项中,您可以定义每个请求的会话数据存储位置,例如cookie,会话是否存储在安全、加密的cookie中。 然后,对于销毁de数据的问题,可以使用遗忘方法从会话中删除一段数据。如果要从会话中删除所有数据,可以使用flush方法

// Forget a single key...
  $request->session()->forget('key');
//or
  $request->session()->flush();

这个案子session@Davit兄弟,我说,我会使用session,但我希望这些数据在5分钟后销毁,如果我选择session lifetime为5分钟,所有会话数据都将像我的登录会话一样销毁,我只想销毁我创建的会话您不需要删除整个会话在Redis实例中根据其用户名/id缓存它。不要使用饼干。不要使用会话,因为如果会话关闭浏览器,您将失去状态。