These posts come from running spatie/laravel-responsecache in front of a busy site, with Redis as the store.
One half of the problem is storage: a whole rendered page is a large Redis value, and predis, phpredis and the compression options behave differently at that size. The other half is the hit rate, which stays low for reasons that have nothing to do with Redis, like click ids in the URL giving every visitor their own cache key.
A full-page cache stores every rendered page whole, and ours reached 25MB in Redis. How predis and phpredis differ with values that size, sizes and timings for lzf, lz4 and zstd, the counter gotcha on a compressed connection, and a serializer that compresses on predis.
Pages behind a one-hour response cache kept rendering from scratch. The causes: click ids like srsltid and gbraid splitting the cache per visitor, a list cache whose keys never matched, a clear() that flushed the whole store, and an ad visitor's noindex page served to Googlebot.