最新公告
  • 欢迎您光临起源地模板网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入钻石VIP
  • laravel的响应及缓存功能

    正文概述 转载于:掘金(陆景学)   2021-07-29   370

    一、响应【重点】

    在laravel中,相应正常情况下有2个类型:常规的直接响应,另外一个是ajax的响应。 其中展示视图以及直接响应字符串都属于常规的响应。

    1.1 常规响应:

    展示视图:return view('welcome'); 直接返回某个字符串:return 'hello world';

    1.2 ajax请求的响应

    语法:return response() -> json(需要json输出的数据); // 数据是数组格式,对象也可以 例:创建一个路由,访问对应的页面之后,获取member表信息,页面输出json格式的响应。 1、创建路由 /member laravel的响应及缓存功能 2、创建需要的方法并获取基本数据 laravel的响应及缓存功能 效果: laravel的响应及缓存功能

    1.3 跳转响应(重定向)

    在有一些页面,例如同步添加操作,完成操作之后不能停留在当前页面,最好做一个跳转操作,也就是需要一个跳转的响应。 两个挑战方式任选一个: 1、return redirect(路由) -> withErrors([]); 该参数的路由可以是完整的请求路由,也可以是通过route方法+别名获取的路由。 2、return redirect() -> to(路由); 简写成:return redirect(路由)

    二、会话控制(记忆)

    常见应用:增删改查 session默认存到文件中 session文件的目录:storage\framework\sessions laravel的响应及缓存功能

    2.1 使用Session类

    控制器头部引用use Illuminate\Support\Facades\Session; 由于session类在app.php中已经定义好别名, 所以在控制器中引入到时候可以直接use Session在控制器中直接引入session laravel的响应及缓存功能

    三、缓存操作(记忆)

    Laeavel为不同的缓存系统提供了统一的API,缓存配置位于config/cache.php。在该文件中你可以指定在应用中默认使用哪个缓存驱动。Laravel目前支持主流的缓存后端如MemcachedRedis等。 主要方法:

    系统默认是使用文件缓存,其缓存文件存储到位置位于(storage/framework/cache/data) laravel的响应及缓存功能

    3.1 设置缓存

    注意:如果用的是put,该键已经存在,则直接覆盖,有效期必须设置,单位是分钟。


    注意:add方法只会在缓存项不存在的情况下添加数据到缓存,如果数据被成功添加到缓存返回true,否则返回false。


    3.1.1 使用put

    定义路由:laravel的响应及缓存功能 定义方法: laravel的响应及缓存功能 在页面中访问此路由: laravel的响应及缓存功能 效果: laravel的响应及缓存功能

    3.1.2 使用add

    laravel的响应及缓存功能 效果: laravel的响应及缓存功能 验证了add如果有这个键则不会覆盖。


    永久存储数据 forever方法用于持久化存储数据到缓存,这些值必须通过forget方法手动从缓存中移除。

    3.2 获取缓存数据

    Cache门面的get方法用于从缓存中获取缓存项,如果缓存项不存在,返回null。如果需要的话可以传递第二个参数到get方法指定缓存项不存在时返回的自定义默认值:

    可以传递一个匿名函数作为默认值,如果缓存项不存在的话闭包的结果将会被返回。传递匿名函数允许你可以从数据库或其他外部服务获取默认值:

    $value = Cache::get('key', function (){
    	return DB::table(...) -> get();
    })
    

    检查缓存项是否存在:

    if (Cache::has('key')) {
    }
    

    3.3 删除缓存数据

    语法:$value = Cache::pull('key'); 从缓存中获取缓存项然后删除,如果缓存不存在的话返回null,一般设置一次性的存储的数据。


    语法:Cache::forget('key'); 使用forget方法从缓存中移除缓存项数据


    语法:Cache::flush(); 使用flush方法清除所有缓存;并且删除对应的目录。

    四、缓存数值的增加 / 减少

    increment和decrement方法可用于调整缓存中的整型数值。这两个方法都可以接收第二个参数来指明缓存项数值增加和减少的树木:一般会用作计数器(参考一般不怎么做)。

    例: laravel的响应及缓存功能

    效果: laravel的响应及缓存功能 注意:如果用计数器,则在初始化的时候不能使用put和forever,因为这个2个方法都会重复的初始化计数器。

    五、获取并存储(重点)

    有时候可能想要获取缓存项,但如果请求的缓存项不存在时给它储存一个默认值。例如,可能想要从缓存中获取所有用户,或者如果它们不存在的话,从数据库获取它们并将其添加到缓存中,你可以通过使用Cache::remember方法实现:

    $value = Cache::remember('key', $minutes, function () {
    	Cache::add('key', 'value', $minutes)
    	return DB::table('users') -> get();
    })
    

    demo: laravel的响应及缓存功能


    起源地下载网 » laravel的响应及缓存功能

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    模板不会安装或需要功能定制以及二次开发?
    请QQ联系我们

    发表评论

    还没有评论,快来抢沙发吧!

    如需帝国cms功能定制以及二次开发请联系我们

    联系作者

    请选择支付方式

    ×
    迅虎支付宝
    迅虎微信
    支付宝当面付
    余额支付
    ×
    微信扫码支付 0 元