This week in caching: ETag vs Last-Modified for revalidation
Both let a browser ask 'has this changed?' and get a cheap 304 — but they fail differently:
— Last-Modified is one-second granularity and clock-dependent. Fine for static files that change rarely; useless for content that updates sub-second.
— ETag is a content hash — precise, immune to timestamps. Better for dynamic responses.
— The multi-server trap: default Apache/Nginx ETags include the file inode, which differs across servers behind a load balancer, so the same file gets different ETags and revalidation breaks. Either strip the inode component or pin ETags to content only.
For a CDN-fronted static asset, skip revalidation entirely and use a fingerprinted filename with
Bookmark: Ilya Grigorik's 'HTTP caching' chapter in High Performance Browser Networking.
Both let a browser ask 'has this changed?' and get a cheap 304 — but they fail differently:
— Last-Modified is one-second granularity and clock-dependent. Fine for static files that change rarely; useless for content that updates sub-second.
— ETag is a content hash — precise, immune to timestamps. Better for dynamic responses.
— The multi-server trap: default Apache/Nginx ETags include the file inode, which differs across servers behind a load balancer, so the same file gets different ETags and revalidation breaks. Either strip the inode component or pin ETags to content only.
For a CDN-fronted static asset, skip revalidation entirely and use a fingerprinted filename with
immutable — no conditional request at all beats a fast 304.Bookmark: Ilya Grigorik's 'HTTP caching' chapter in High Performance Browser Networking.
This week in caching: Cache-Control immutable vs ?v= query-string busting
Two ways to ship a new asset without serving stale bytes:
— Query-string busting (
— Fingerprinted filenames (
— Why immutable matters: without it, a hard refresh still fires conditional requests for every asset; with it, the browser trusts the cache outright. Measurable on repeat-view page loads.
If your bundler emits hashes (Vite, webpack do), there's no reason to still be on
Bookmark: Jake Archibald's 'Caching best practices' — the definitive pattern guide on this exact choice.
Two ways to ship a new asset without serving stale bytes:
— Query-string busting (
app.js?v=5) is easy but historically some proxies refused to cache query-string URLs at all, and you keep editing the version by hand.— Fingerprinted filenames (
app.4f3a.js) + Cache-Control: max-age=31536000, immutable is the modern win — the URL changes when content changes, so you can cache forever and the browser skips even the revalidation request on reload.— Why immutable matters: without it, a hard refresh still fires conditional requests for every asset; with it, the browser trusts the cache outright. Measurable on repeat-view page loads.
If your bundler emits hashes (Vite, webpack do), there's no reason to still be on
?v=.Bookmark: Jake Archibald's 'Caching best practices' — the definitive pattern guide on this exact choice.
Forwarded from TopX Partners
This media is not supported in your browser
VIEW IN TELEGRAM
Пока все пересылали мемы и спорили, приедет ли Канье в Питер, билеты на его шоу раскупили буквально за пару часов...
Но мы подумали о наших подписчиках заранее и подготовились к солдауту за вас!
→ На концерт КАНЬЕ УЭСТА В ОКТЯБРЕ ←
УСЛОВИЯ ПРОЩЕ САМЫХ ПРОСТЫХ:
👋 Быть подписанным на наш канал: @topxpartners👋 Нажать на кнопку «ХОЧУ НА КАНЬЕ» под этим постом⬇️
Всё, больше делать ничего не нужно! Просто жди 08.10 и забери свой билет на это легендарное событие.
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from high profit — low life
This media is not supported in your browser
VIEW IN TELEGRAM
Вечер перестает быть томным — у JUST новый CMO
Сегодня пяр-контора Джастов запустила очередной стрим-духовку о том, как легко оставаться креативным, когда в компании дохуя денег.
И все забили бы на него хуй, если бы не одна пикантная подробность — новым CMO в их конторе стал сам Евгений Юрьич.
Поздравим с назначением! Наконец-то среди этих бездарей появилась настоящая звезда маркетинга. Тем временем их состав пиздодуев, если верить достоверному источнику, не справился блять даже с банальным прогревом к этому великому назначению.
И условия дали хуевые:
Ну наконец-то в сфере кто-то получил работу! А не под зад и за порог нахуй.
High Profit — Low Life | Прислать сплетню
Сегодня пяр-контора Джастов запустила очередной стрим-духовку о том, как легко оставаться креативным, когда в компании дохуя денег.
И все забили бы на него хуй, если бы не одна пикантная подробность — новым CMO в их конторе стал сам Евгений Юрьич.
Поздравим с назначением! Наконец-то среди этих бездарей появилась настоящая звезда маркетинга. Тем временем их состав пиздодуев, если верить достоверному источнику, не справился блять даже с банальным прогревом к этому великому назначению.
На самом дели анонс должен был быть в сентябре, но Зуев зачем то решил начать прогрев раньше и прямо на Ютуб трансляции стрима предложил мне стать их CMO!
И условия дали хуевые:
Зарплата для меня никогда не была принципиальной и их 8 000$ в месяц + KPI мне сильно жизнь не изменят, и от этого еще легче, даже если что то не пойдет я ни хуя не потеряю ну и иду я туда не ради денег ( 8к, ало, что? корм кошкам купить? )
Ну наконец-то в сфере кто-то получил работу! А не под зад и за порог нахуй.
High Profit — Low Life | Прислать сплетню
Forwarded from AffPapa! Клуб спящих бизнесменов! Потрачено!
VELORA — новый бренд от MOTOR PARTNERS!
GEO: RU
🙂 Что получает партнер?
🔥 Станьте участником акции HOT SHARE от VELORA на эксклюзивных условиях:
🪙 Для игроков - розыгрыш 1кг золота, стоимостью в 132.000$
🪙 Для партнеров - сообщи промо PACAN и получи +10% к RS
✉️ Пиши менеджеру и начни лить трафик уже сегодня: @velora_partners
GEO: RU
✔️Новый бренд с чистой базой для эффективного старта
✔️Стабильные платежки (мин. депозит ₽100–300)
✔️Гибкие модели сотрудничества под любые источники трафика
➤ RevShare до 70%
➤ CPA до 120$
➤ Hybrid до $50 CPA + 50% RS
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from high profit — low life
This media is not supported in your browser
VIEW IN TELEGRAM
Вечер перестает быть томным — у JUST новый CMO
Сегодня пяр-контора Джастов запустила очередной стрим-духовку о том, как легко оставаться креативным, когда в компании дохуя денег.
И все забили бы на него хуй, если бы не одна пикантная подробность — новым CMO в их конторе стал сам Евгений Юрьич.
Поздравим с назначением! Наконец-то среди этих бездарей появилась настоящая звезда маркетинга. Тем временем их состав пиздодуев, если верить достоверному источнику, не справился блять даже с банальным прогревом к этому великому назначению.
И условия дали хуевые:
Ну наконец-то в сфере кто-то получил работу! А не под зад и за порог нахуй.
High Profit — Low Life | Прислать сплетню
Сегодня пяр-контора Джастов запустила очередной стрим-духовку о том, как легко оставаться креативным, когда в компании дохуя денег.
И все забили бы на него хуй, если бы не одна пикантная подробность — новым CMO в их конторе стал сам Евгений Юрьич.
Поздравим с назначением! Наконец-то среди этих бездарей появилась настоящая звезда маркетинга. Тем временем их состав пиздодуев, если верить достоверному источнику, не справился блять даже с банальным прогревом к этому великому назначению.
На самом дели анонс должен был быть в сентябре, но Зуев зачем то решил начать прогрев раньше и прямо на Ютуб трансляции стрима предложил мне стать их CMO!
И условия дали хуевые:
Зарплата для меня никогда не была принципиальной и их 8 000$ в месяц + KPI мне сильно жизнь не изменят, и от этого еще легче, даже если что то не пойдет я ни хуя не потеряю ну и иду я туда не ради денег ( 8к, ало, что? корм кошкам купить? )
Ну наконец-то в сфере кто-то получил работу! А не под зад и за порог нахуй.
High Profit — Low Life | Прислать сплетню
Forwarded from AffPapa! Клуб спящих бизнесменов! Потрачено!
VELORA — новый бренд от MOTOR PARTNERS!
GEO: RU
🙂 Что получает партнер?
🔥 Станьте участником акции HOT SHARE от VELORA на эксклюзивных условиях:
🪙 Для игроков - розыгрыш 1кг золота, стоимостью в 132.000$
🪙 Для партнеров - сообщи промо PACAN и получи +10% к RS
✉️ Пиши менеджеру и начни лить трафик уже сегодня: @velora_partners
GEO: RU
✔️Новый бренд с чистой базой для эффективного старта
✔️Стабильные платежки (мин. депозит ₽100–300)
✔️Гибкие модели сотрудничества под любые источники трафика
➤ RevShare до 70%
➤ CPA до 120$
➤ Hybrid до $50 CPA + 50% RS
Please open Telegram to view this post
VIEW IN TELEGRAM
This week in caching: WP page-cache plugins, honestly compared
Gold for WP folks deciding between the big three:
— W3 Total Cache: most knobs (object, DB, page, CDN, fragment) — power if you'll read the docs, footgun if you won't. The one to pick when you also run Redis object cache.
— WP Rocket: paid, opinionated, sane defaults out of the box — buys you not thinking about it. Best for client sites you won't babysit.
— WP Super Cache: dead-simple static-file caching, rock solid, but no object cache and thin on modern asset optimization.
— Server-level (Nginx FastCGI / LiteSpeed Cache): faster than any plugin because PHP never wakes — pick this if you control the stack.
Rule: on managed hosting → WP Rocket; on your own VPS → server-level cache + Redis, skip the page plugin.
Bookmark: WP Rocket's 'do you still need a caching plugin on LiteSpeed' post — saves you stacking redundant layers.
Gold for WP folks deciding between the big three:
— W3 Total Cache: most knobs (object, DB, page, CDN, fragment) — power if you'll read the docs, footgun if you won't. The one to pick when you also run Redis object cache.
— WP Rocket: paid, opinionated, sane defaults out of the box — buys you not thinking about it. Best for client sites you won't babysit.
— WP Super Cache: dead-simple static-file caching, rock solid, but no object cache and thin on modern asset optimization.
— Server-level (Nginx FastCGI / LiteSpeed Cache): faster than any plugin because PHP never wakes — pick this if you control the stack.
Rule: on managed hosting → WP Rocket; on your own VPS → server-level cache + Redis, skip the page plugin.
Bookmark: WP Rocket's 'do you still need a caching plugin on LiteSpeed' post — saves you stacking redundant layers.
Forwarded from AffPapa! Клуб спящих бизнесменов! Потрачено!
This media is not supported in your browser
VIEW IN TELEGRAM
Совсем скоро запуск ШЕСТОГО проекта на RU GEO от создателей APEX, EVA, KUSH, BANDA и LEEBET!
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from AffPapa! Клуб спящих бизнесменов! Потрачено!
Там Бласк придумал сканировать/скриншотить сайты что бы мониторить размещения, по сути они нашли все сайты аффилиатов, каждый день скриншотят их и фиксируют, что бы контролировать размещения слота
ЧТо бы избежать хуйни когда менеджер раз в квартал присылает тебе один скрин "всё супер, лого стоит" — а по факту оно там провисело два дня из тридцати, и ты про это узнаёшь только когда партнёр уже слился
Пока выкатывают вроде как только Бразилию, но на очереди и другие ГЕО! Плюсы очевидны:
• смотреть на конкурентов (в Бразилии мы нашли 315 сайтов)
• смотреть, кто размещается у конкурентов
• смотреть обьем трафика
Тоже самое вайб кодить в NeBlask я не планирую, может чуть попозже, когда они все ГЕО выкатят и я смогу просто собрать все сайты котоыре они мониторят, короче если это кому надо, идем в Blask! А NeBlask подтянется позже!
P.S. На скрине - размещение бренда Bet da Sorte
ЧТо бы избежать хуйни когда менеджер раз в квартал присылает тебе один скрин "всё супер, лого стоит" — а по факту оно там провисело два дня из тридцати, и ты про это узнаёшь только когда партнёр уже слился
Пока выкатывают вроде как только Бразилию, но на очереди и другие ГЕО! Плюсы очевидны:
• смотреть на конкурентов (в Бразилии мы нашли 315 сайтов)
• смотреть, кто размещается у конкурентов
• смотреть обьем трафика
Тоже самое вайб кодить в NeBlask я не планирую, может чуть попозже, когда они все ГЕО выкатят и я смогу просто собрать все сайты котоыре они мониторят, короче если это кому надо, идем в Blask! А NeBlask подтянется позже!
P.S. На скрине - размещение бренда Bet da Sorte
Forwarded from AffPapa! Клуб спящих бизнесменов! Потрачено!
This media is not supported in your browser
VIEW IN TELEGRAM
Совсем скоро запуск ШЕСТОГО проекта на RU GEO от создателей APEX, EVA, KUSH, BANDA и LEEBET!
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Ебучий Google ADS 🤡
Media is too big
VIEW IN TELEGRAM
( Остров проклятых )
https://t.me/+_K1fUqPoJ8ExMWMy
https://t.me/+LdJ0ohSwKzQ5OWQ6
Please open Telegram to view this post
VIEW IN 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.
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 | Прислать сплетню
Евгений Юрьич продолжает издеваться над опозорившимся этим летом AffPapa. Вслед за базой контактов к маэстро ушел еще и товарный знак конторы...
Как проверить:
1. Перейти по ссылке
2. Ввести 2026793242
3. Ахуеть от беспомощности AffPapa
Такие сегодня новости, такая life...
High Profit — Low Life | Прислать сплетню
Forwarded from В арбитраже денег нет?
ЕЮ Иванов продолжает кошмарить АффПапу, конторку, которая накинула говна на вентилятор этим летом. Тогда в AffPapa не знали, с каким говном идут бодаться, поэтому заслуженно проиграли. 😏
На этот раз ЕЮ зарегал товарный знак AffPapa — совсем скоро имя компании будет официально принадлежать ему. Чтобы убедиться в трушности мува, переходим по ссыл-Очке и вводим серийный номер: 2026793242. Там видим, что заявка на регистрацию подана лично Евгением Юрьичем.
Всё это выглядит забавно, но давайте не забывать, в какой сфере мы работаем и что реально может произойти с жирным троллем за воровство нейминга. Впрочем, толстому не привыкать отхватывать пиздов за проделки в интернете, поэтому ждем очередную фотку разбитого ебала и длинный пост с извинениями. 😏😏😏
В арбитраже денег нет 💵
На этот раз ЕЮ зарегал товарный знак 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.
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
— 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.
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.
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.