Laravel结合Redis缓存存储用户列表、详情、访问用户详情次数统计

将列表分页多条数据进行缓存

//将列表分页多条数据进行缓存
    //后边需要写入定时任务,定时清空缓存的分页数据重新进行存入缓存操作
public function index()
    {
        //1、列表存储,需要考虑分页,以模块名+分页功能+当前分页存储区分每页key值
        $page = request()->page ?? 1;
        $key = 'user.paginate'.$page;

        $users = Cache::rememberForever($key, function () {
            //2、查询数据库返回每页数据
           return User::paginate(6);
        });

        return view('users.index', compact('users'));
    }

缓存用户详情

//存储用户详情
    //后边需要写入定时任务,定时清空缓存的详情数据重新进行存入缓存操作
public function show($id)
    {
        //以模块名+方法名+当前ID拼接key值
        $key = 'user.show'.$id;
        $user = Cache::rememberForever($key, function () use($id){
            return User::find($id);
        });

        return view('users.show',compact('user'));
    }

使用访问器结合redis缓存,对访问用户详情次数进行统计

//使用访问器结合redis缓存,对访问用户详情次数进行统计
   //后边可以通过定时任务将缓存里的统计存入数据库
public function getVisitedNumberAttribute()
    {
        $key = 'user.visited.'.$this->id;

        Cache::rememberForever($key, function () {
            return $this->visited_counter;
        });

        //每次访问一次将传入对应的key值进行递增,并返回
        return Cache::increment($key);
    }

视图blade模板调用

<div class="content">
    <div class="m-b-md">
        <h4>{{ $user->name }}</h4>
        <p>{{ $user->visited_number }}</p>
    </div>
</div>
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值