登录
首页 >  文章 >  php教程

Hyperf缓存开启与Redis集成教程

时间:2026-06-01 10:04:48 490浏览 收藏

Hyperf框架的缓存功能默认处于关闭状态,需通过三步快速启用:安装redis、cache及可选的model-cache组件,配置安全可靠的Redis连接池与键前缀,再将Redis设为默认缓存驱动;同时支持注解自动缓存、模型级智能缓存和手动API调用三种灵活接入方式,兼顾开发效率与生产稳定性,是构建高性能PHP微服务不可或缺的实战指南。

Hyperf缓存功能怎么启用_HyperfRedis缓存集成方法【介绍】

Hyperf 的缓存功能默认不启用,需手动安装组件、配置驱动并选择合适的方式接入。核心在于三步:装依赖、配 Redis、选缓存方式(注解 / 模型 / 手动调用)。Redis 是最常用且推荐的生产级缓存后端。

安装 Redis 组件与缓存扩展

执行以下命令安装必需依赖:

  • composer require hyperf/redis —— 提供 Redis 客户端支持
  • composer require hyperf/cache —— 提供切面缓存、CacheInterface 等基础能力
  • 如需模型级自动缓存,再加:composer require hyperf/model-cache

配置 Redis 连接

config/autoload/redis.php 中定义连接配置,例如:

  • 使用环境变量更安全:'host' => env('REDIS_HOST', 'localhost')
  • 指定数据库编号:'db' => (int)env('REDIS_DB', 0)
  • 设置连接池参数(避免高并发下连接耗尽):'min_connections' => 1'max_connections' => 10
  • 可额外配置前缀:'options' => ['prefix' => 'hyperf:'],避免键名冲突

启用缓存驱动并设为默认

编辑 config/autoload/cache.php,确保 default 驱动指向 Redis:

  • 'driver' => Hyperf\Cache\Driver\RedisDriver::class
  • 'pool' => 'default'(与 redis.php 中的连接池名一致)
  • 'ttl' => 3600(单位秒,建议按业务设置,如用户信息 1 小时,配置类 24 小时)
  • 若需兼容空查询防穿透,可加:'empty_model_ttl' => 3600(仅 model-cache 生效)

三种主流接入方式

根据场景选择一种或组合使用:

  • 注解方式(适合服务方法):在方法上加 #[Cacheable(prefix: "user:")],调用时自动读写缓存,键名为 user:1 类格式
  • 模型缓存(适合 Eloquent 查询):模型 use Cacheable Trait,调用 User::findFromCache(1) 即可,键名按 mc:default:m:user:id:1 规则生成
  • 手动调用(适合灵活控制):注入 CacheInterface,用 $this->cache->get('key')set('key', $value, 3600)

今天关于《Hyperf缓存开启与Redis集成教程》的内容就介绍到这里了,是不是学起来一目了然!想要了解更多关于Hyperf的内容请关注golang学习网公众号!

资料下载
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>