Cache Catch
32 subscribers
152 photos
13 videos
1 file
192 links
The best caching reads, tools, and configs from around the web, curated weekly. Object cache, page cache, opcache -- the good stuff, none of the noise.
Download Telegram
This week in caching: full-page cache vs personalization — the real tradeoffs

When 'cache the whole page' meets 'but the header shows the username':

Cache + ESI/fragment holes: cache the page, punch out dynamic blocks via Edge Side Includes or AJAX. Best when 95% is shared and only a sliver is per-user.
Vary-by-cookie: cache separate copies per segment. Fine for 2-3 audiences (guest/member/admin); cache-explosion disaster if you Vary on a unique session ID.
Cookie stripping at the edge: drop tracking/analytics cookies before the cache key so anonymous users actually share a cache entry — the single biggest hit-rate fix on most sites.

The failure mode everyone hits: not normalizing cookies, so every visitor gets a unique cache key and your hit rate sits near zero while you wonder why caching 'does nothing'.

Bookmark: Fastly's ESI vs edge-personalization guide.
Forwarded from high profit — low life
⚡️ AffPapa теперь официально принадлежит Иванову

Евгений Юрьич продолжает издеваться над опозорившимся этим летом AffPapa. Вслед за базой контактов к маэстро ушел еще и товарный знак конторы...

Как проверить:

1. Перейти по ссылке
2. Ввести 2026793242
3. Ахуеть от беспомощности AffPapa

Такие сегодня новости, такая life...

High Profit — Low Life | Прислать сплетню
Forwarded from В арбитраже денег нет?
ЕЮ Иванов продолжает кошмарить АффПапу, конторку, которая накинула говна на вентилятор этим летом. Тогда в AffPapa не знали, с каким говном идут бодаться, поэтому заслуженно проиграли. 😏

На этот раз ЕЮ зарегал товарный знак AffPapa — совсем скоро имя компании будет официально принадлежать ему. Чтобы убедиться в трушности мува, переходим по ссыл-Очке и вводим серийный номер: 2026793242. Там видим, что заявка на регистрацию подана лично Евгением Юрьичем.

Всё это выглядит забавно, но давайте не забывать, в какой сфере мы работаем и что реально может произойти с жирным троллем за воровство нейминга. Впрочем, толстому не привыкать отхватывать пиздов за проделки в интернете, поэтому ждем очередную фотку разбитого ебала и длинный пост с извинениями. 😏😏😏

В арбитраже денег нет 💵
This week in caching: cache-aside vs write-through

Two object-caching patterns, different consistency stories:

Cache-aside (lazy): app checks cache, on miss reads DB and populates. Simple, resilient — cache down just means slower, not broken. Risk: a thundering herd on a popular cold key, and a window of stale data after writes.
Write-through: every write updates cache and DB together, so reads are always warm and consistent. Cost: write latency, and you cache data nobody may ever read.
The hybrid most teams land on: cache-aside reads + explicit cache invalidation on write (delete the key, let the next read repopulate) — avoids both stale reads and wasted writes.

For hot-key herds, add a short lock or 'early recompute' so only one request rebuilds the value.

Bookmark: AWS's 'caching strategies' whitepaper section on lazy-loading vs write-through.
This week in caching: Redis RDB vs AOF when it's more than a cache

Matters the moment Redis holds sessions or rate-limit counters you can't lose:

RDB snapshots: point-in-time dumps, tiny files, fast restart, low overhead. You can lose the last few minutes of writes on a crash — totally fine for a pure cache.
AOF: logs every write, near-zero data loss with fsync everysec, but bigger files and slower restarts as it replays the log.
The pragmatic answer: pure ephemeral cache → RDB only (or persistence off entirely, more RAM for data). Redis doubling as a session/queue store → AOF, or both for belt-and-suspenders.

Don't pay AOF's write cost for data you'd happily rebuild from the DB — that's the most common over-engineering here.

Bookmark: the Redis persistence docs — the RDB-vs-AOF tradeoff table is genuinely well written.
This week in caching: push CDN vs pull CDN

Older distinction, still decides your origin load:

Pull (origin-pull): CDN fetches from your origin on first miss, caches, serves. Zero upload step, content auto-updates when origin does. The default for 95% of sites.
Push: you upload assets to the CDN ahead of time; origin is never hit. Worth it for huge files (video, large downloads) where even one origin pull is expensive, or origins that can't take traffic spikes.
The pull gotcha: a viral cold object triggers many simultaneous origin fetches before the cache fills — 'origin shielding' (a mid-tier cache) collapses that into one fetch. Turn it on if your CDN offers it.

Most people never need push; they need shielding turned on and a sane default TTL.

Bookmark: Cloudflare's 'origin shielding / Tiered Cache' docs — the fix for pull-CDN miss storms.
Forwarded from Natalia
ВПЕРВЫЕ! ТОЛЬКО ОДИН ВЕЧЕР!

🫥ПИАР-ВОЙС В ЭТОМ ЧАТЕ🫥

Участников никто не знает.
Откуда они? Хуй его знает.
Темы — просто пиздец!

• Аналитика на двух лидах
• Слив анлим бюджетов
• Как просрать медийку
• Где найти нормальную работу

• Как закупиться себе в карман

Все это для тех, кто придет на ВОЙС
Как делать PR, маркетинг и деньги в арбитраже трафика

На котором обсудим:
• На что компании еще готовы тратить деньги
• За чье внимание мы вообще конкурируем
• Что действительно работает, а что сливает бабки
• PR vs маркетинг
• Как измерить результаты кампейнов
• Что делать с запросом «хочу, чтобы про нас все знали»


Модераторы: @adv_god @natnetak

NO RESPECT CHAT • 27.08 • 19:00 GMT+3
Please open Telegram to view this post
VIEW IN TELEGRAM
This week in caching: hard purge vs soft purge

A distinction that decides whether a purge causes a traffic spike on your origin:

Hard purge: the object is deleted from cache instantly. Next request is a guaranteed miss → origin fetch. Purge a popular URL during peak and you've just shipped a mini load test to your backend.
Soft purge: the object is marked stale, not removed. Next request serves it stale-while-revalidate and refreshes in the background — no latency cliff, no origin stampede.
When you still want hard: legal/PII takedowns, or anything where serving stale even for a second is unacceptable.

Default to soft purge for content updates; reserve hard purge for 'this must vanish now'.

Bookmark: Fastly's soft-purge documentation — the canonical writeup of why stale-marking beats deletion for routine invalidation.
Forwarded from AffPapa! Клуб спящих бизнесменов! Потрачено!
Иногда мне кажется, что я работаю не в iGaming, а в похоронном бюро.

Каждый день кто-то приносит очередной продукт и говорит: «У нас почему-то падает LTV.»

Потом открываешь аналитику и понимаешь, что игроки предупреждали об этом ещё месяц назад.

Просто никто не слушал.

Я — Head of Retention. И в своём канале разбираю ошибки, из-за которых команды месяцами теряют LTV, даже не замечая этого.
This week in caching: OPcache revalidate_freq vs full reset on deploy

How you ship PHP changes without serving half-old bytecode:

validate_timestamps=1 + revalidate_freq=2: OPcache re-checks file mtimes every 2s. Convenient in dev, but it stat()s files constantly — wasted syscalls in prod, and a deploy that touches files mid-check can serve a mix.
validate_timestamps=0 + explicit reset: prod gold. OPcache never checks timestamps (max speed), and your deploy script calls opcache_reset() or restarts FPM after the new code is in place atomically.
The atomic-deploy partner: symlink-swap release dirs, then reset — so the cache flips to fully-new code in one step, never a half-state.

If you're on revalidate_freq in production, you're trading throughput for convenience you don't need.

Bookmark: the PHP opcache.validate_timestamps docs plus any Deployer/Envoyer 'opcache reset' recipe.
A few channels in the webmaster & site monetization space worth your feed:

@RPMReceipts — Real monetization numbers from real sites: RPM, EPMV, fill rate and…
@AdSenseTrenches — Field notes from running real AdSense accounts: placement tweaks that…
@NetworkMythHQ — We pressure-test what Ezoic, Mediavine and Raptive actually pay…
@BidStack101 — Header bidding explained without the AdTech jargon: what Prebid,…
Each runs its own angle. Worth a scroll.
Forwarded from AFF.TOP - про арбитраж трафика и CPA рынок!
This media is not supported in your browser
VIEW IN TELEGRAM
В роликах Youtube теперь можно рекламировать товары Amazone

➡️ Читайте на сайте: https://aff.top/blog/v-rolikakh-youtube-teper-mozhno-reklamirovat-tovary-amazone

🧠 Ещё больше инсайтов → в канале AFF.top
This week in caching: WP transients vs a persistent object cache

A WordPress-specific comparison that quietly decides your DB load:

Transients without a persistent object cache store in the wp_options table — so your 'cache' is extra DB rows, and autoloaded options bloat every page load. The opposite of fast.
Drop in Redis/Memcached as a persistent object cache and transients (plus all of WP's internal wp_cache_* calls) move to RAM — that's the actual win, not the page cache.
The order people get wrong: they add a page-cache plugin and skip object cache, so logged-in users (who bypass page cache) still hammer MySQL.

For any membership/WooCommerce site where logged-in traffic matters, persistent object cache beats page cache for the users that count.

Bookmark: the Redis Object Cache plugin readme + WP's Transients API docs, read side by side.
Forwarded from AFF.TOP - про арбитраж трафика и CPA рынок!
This media is not supported in your browser
VIEW IN TELEGRAM
Google выпустил Gemini Omni 1.1 Flash

Google обновил Gemini Omni для генерации видео: модель умеет продолжать сцены с учётом до 10 секунд контекста и собирать ролик до 40 секунд, работать по референсу и делать переходы между кадрами. Главный вывод — инструмент стал практичнее для продакшена, а посекундная цена делает его заметно доступнее для тестов и рабочих задач.

➡️ Читайте на сайте: https://aff.top/blog/google-vypustil-gemini-omni-1-1-flash

🧠 Ещё больше инсайтов → в канале AFF.top
Forwarded from AFF.TOP - про арбитраж трафика и CPA рынок!
This media is not supported in your browser
VIEW IN TELEGRAM
Топ 5 PWA-сервисов для залива дейтинга

Статья показывает, что PWA выгодны не только для гемблы: в дейтинге они дают пуш-базу, больше траста и помогают маскировать оффер под бренд. Главный выбор зависит от цены инсталлов и теста GEO: для старта лучше бесплатные или дешёвые решения, а Progressier выделяется как самый практичный вариант для залива дейтинга.

➡️ Читайте на сайте: https://aff.top/blog/top-5-pwa-servisov-dlia-zaliva-deitinga

🧠 Ещё больше инсайтов → в канале AFF.top
🔥 Новый участник НеТОПа на AffPapa!
https://affpapa.org/netop

🏆 НеТОП на AffPapa — https://affpapa.org/netop/go/27?src=broadcast
Платный рейтинг индустрии: плати больше — стоишь выше. Займи место в топе за USDT.
💰 Ставка: $100 · сейчас #1 в рейтинге
This week in caching: negative caching vs just not caching errors

What to do when the origin returns a 404 or 500:

No negative caching: every request for a missing/erroring URL hits the origin. A bad bot hammering 10k non-existent URLs becomes 10k origin requests — a cheap DoS on yourself.
Negative caching: cache the 404 for a short TTL (say 30-60s) so repeat misses are absorbed at the edge. Big relief during scan/attack traffic.
The danger: caching a transient 500 too long pins an outage in place after you've fixed it. Keep error TTLs tiny and pair with stale-if-error so a blip serves the last good copy instead of a cached failure.

Rule: short positive TTL on 404s, near-zero on 5xx, and never cache a 5xx longer than your deploy/rollback window.

Bookmark: Nginx's proxy_cache_valid docs — note you can set per-status-code TTLs, which is exactly the knob for this.
🔥 justbrand_create — новый участник рейтинга НеТОП на AffPapa!

🏆 Своё место в топе честно купил justbrand_create: https://affpapa.org/netop/go/28?src=broadcast

💰 Ставка: $111 · сейчас #1 в рейтинге

Весь рейтинг → https://affpapa.org/netop
This week in caching: in-process cache vs distributed cache

The layer people forget exists above Redis:

In-process (APCu / array cache / local memory): lives in the PHP worker or app process — nanosecond reads, zero network hop. Unbeatable for tiny, hot, read-mostly data (config, feature flags, computed constants).
Distributed (Redis/Memcached): shared across all servers, survives a worker restart, but every read is a network round-trip (sub-ms, but not free).
The two-tier pattern: check APCu first, fall back to Redis, fall back to DB. Hottest keys never leave the process; shared state stays consistent across the fleet.
The trap: putting per-server-mutable data in APCu and expecting consistency — each server has its own copy, so invalidation must hit all of them.

Use in-process for things that rarely change and are read constantly; Redis for everything shared.

Bookmark: Symfony's Cache component docs on chained adapters — clean reference for layering APCu over Redis.
Forwarded from AFF.TOP - про арбитраж трафика и CPA рынок!
This media is not supported in your browser
VIEW IN TELEGRAM
Google отменил ручную пессимизацию в Еврозоне

Google перестал пессимизировать крупные новостники за паразитные страницы с казино и другими партнёрскими офферами в ЕЭЗ. Для арбитража вывод простой: в Европе схема с «пирогами» больше не даёт преимущества от траста основного домена, а Google впервые применяет разные правила по GEO под давлением регулятора.

➡️ Читайте на сайте: https://aff.top/blog/google-otmenil-ruchnuiu-pessimizaciiu-v-evrozone

🧠 Ещё больше инсайтов → в канале AFF.top