PHP + Redis 缓存测速演示

同一页面同时跑「不用 Redis」与「用 Redis 缓存」两套逻辑并显示耗时。刷新几次对比更明显。

不用 Redis 总耗时
10.98 ms
昂贵计算本身耗时
8.69 ms
用 Redis 总耗时
7.28 ms
缓存状态
未命中 MISS(已写入缓存) TTL: 60s
Redis 连接
OK mode=redis
访问次数(Redis 计数器)
149
Key:demo:page:visits:v1
说明:“不用 Redis” 每次都执行 expensive_work()“用 Redis” 命中缓存时直接读缓存,所以耗时更低。
本次展示的数据(根据当前 mode 选择)
来自 Redis/计算结果
缓存 Key:demo:page:expensive_payload:v1
{
    "generated_at": "2026-01-26 04:35:01",
    "work_n": 45000,
    "checksum": "313bbc1be820706ce631ed7cd24d05b122dd20956d3f017ada154222b6748302",
    "sample": [
        "5469849648b8ac290e81df1eb5189e1f54768dfdde1d4cdad2c8d6ad30039775",
        "802e752dd948c22d9556146c3874031e1ba706966b9ee77f05d9f64d01786027",
        "d99742617276439492469a31573bb71c69d410915f178a9aebf78ae9572ba34d",
        "c551980a07f86ec126ff70688a1c395476c09a384f01534283b76e1f4458265a",
        "d0b33d7bcc6066711be0a9aab7cb3f9458a2dae9acaeddf38e3bc0ab4decbd22"
    ],
    "work_ms": 6.844997406005859
}
想看缓存是否变化:在 60 秒内多刷新几次,generated_at 应该不变;超过 60 秒再刷新会更新。
小提示:你也可以在服务器上看 TTL:redis-cli ttl demo:page:expensive_payload:v1