15. 缓存(Cache)

一、安装

shell 复制代码
composer require hyperf/cache

二、配置

  • 文件:config/autoload/cache.php

    php 复制代码
    <?php
    
    return [
        'default' => [
            'driver' => Hyperf\Cache\Driver\RedisDriver::class,	// 缓存驱动,默认为 Redis
            'packer' => Hyperf\Codec\Packer\PhpSerializerPacker::class,	// 打包器
            'prefix' => 'c:',	// 缓存前缀
            'skip_cache_results' => [],		// 指定的结果不被缓存
        ],
    ];

三、使用 注解方式

1. 获取并生成缓存(#[Cacheable])

php 复制代码
<?php
namespace App\Service;

use App\Model\User;
use Hyperf\Cache\Annotation\Cacheable;

class CacheService
{
    #[Cacheable(prefix: 'user', value: "_#{id}", ttl: 900)]
    public function user($id)
    {
        $user = User::query()->find($id);

        if (!$user) {
            return null;
        }
        return $user->toArray();
    }
}
  • 调用
php 复制代码
<?php
namespace App\Controller;

use App\Service\CacheService;
use Hyperf\Di\Annotation\Inject;
use Hyperf\HttpServer\Annotation\AutoController;

#[AutoController]
class CacheController
{
    #[Inject]
    private CacheService $cacheService;

    public function index()
    {
        return $this->cacheService->user(1);
    }
}

2. 更新缓存(#[CachePut])

  • 同上

3. 删除缓存 (#[CacheEvict])

  • 同上
相关推荐
流觞 无依1 小时前
DedeCMS plus/comment.php 评论 XSS/注入(XSS、SQL注入)修复教程
sql·php·xss
cyber_两只龙宝2 小时前
【Nginx】Nginx实现FastCGI详解
linux·运维·nginx·云原生·php·memcached·fastcgi
dog2502 小时前
卡瓦列里积分赏析
开发语言·php
5G丶2 小时前
ThinkPHP 集群部署完整指南
数据库·php
流觞 无依3 小时前
DedeCMS plus/recommend.php SQL注入漏洞修复教程
sql·php
刘~浪地球3 小时前
数据库与缓存--MySQL 高可用架构设计
数据库·mysql·缓存
小兜全糖(xdqt)3 小时前
Ubuntu22.04安装最新版本redis
数据库·redis·缓存
流觞 无依3 小时前
DedeCMS plus/list.php 参数注入(SQL注入)修复教程
sql·安全·php
软件开发技术3 小时前
最新网络游戏账户交易平台系统源码 全开源版本 全新UI 自适应移动端
php
酿情师4 小时前
PHP 反序列化漏洞与 POP 链详解:网络安全小白从零入门
android·web安全·php