thinkphp5 快读!高速数据缓存

Redis 最简单的用法就是直接存储字符串,Redis 写入和读取性能远高于 MySQL。所以我们经常使用 Redis 作为缓存层为 MySQL 数据库保驾护航。

tp5 默认配置

Redis 缓存配置

前提服务器的php支持redis扩展,未安装的自行百度文章好多,不在这说明了。

建议不使用缓存前缀,避免浪费内存空间。如果同一台服务器上的 Redis 实例同时存储多个项目的缓存,建议启动多个 Redis 实例,每个实例使用不同端口,存储不同项目的数据,避免操作阻塞影响其他项目的读取时间。

使用 ThinkPHP5 Cache类控制缓存代码

首先查询缓存是否存在,如果存在直接返回缓存内容。不存在的话,取数据库读取内容后存入缓存中,下次就会直接从缓存中读取内容。

如果项目只是存储在 Redis 中,减轻 MySQL 压力。建议不要设置缓存时间,由手动控制更新缓存。

示例为查询时建立缓存,应该同时在创建数据和修改数据时也建立缓存。避免高并发下缓存没命中,导致流量瞬间进入 MySQL 查询。建议使用 ThinkPHP5 的模型事件 控制缓存的创建和更新。

本文示例直接使用字符串来存储缓存,实际项目中更多的是使用哈希或者列表来实现。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181011G1B7CQ00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券