laravel的session简要API
Session的API还是比较简单的,大家看看也大概知道是怎么个意思。但是有那么几个还不太好理解。
- //session的永久保存(在不过期范围内)
- Session::put('key', 'value');
- //等同于PHP的原生session
- $_SESSION['key'] = 'value';
- //get操作
- $value = Session::get('key', 'default');
- //去除操作并删除,类似pop概念
- $value = Session::pull('key', 'default');
- //检测是否存在key
- Session::has('users');
- //删除key
- Session::forget('key');
session落地的时间
我天真的以为使用了Session::put
函数就能保存这个变量了。
结果下次请求就是找不到本次的Session,而且看app/storage/session
目录就是没有文件生成。总感觉不对劲啊。
后来看到网络上有个方法Session::save()
,于是我也用了下,居然发现成功的生成了session的文件。于是我感觉到,Laravel不用php原生的session,那么在controller之后应该做了一些事情,将session写入到文件中,而不是每次put
操作都写操作,这样会IO操作太频繁的,影响性能的。