[{"data":1,"prerenderedAt":431},["ShallowReactive",2],{"content:\u002F09-redis\u002Fresources":3},{"title":4,"description":5,"path":6,"body":7},"Дополнительные материалы","Русскоязычные материалы по Redis: cache-aside, Go-клиент, TTL, eviction, locks, replication, Cluster, Pub\u002FSub и Streams.","\u002F09-redis\u002Fresources",{"type":8,"value":9,"toc":420},"minimark",[10,15,18,23,69,73,106,110,169,173,242,246,304,308,350,354],[11,12,14],"h1",{"id":13},"дополнительные-материалы-redis","Дополнительные материалы: Redis",[16,17,5],"p",{},[19,20,22],"h2",{"id":21},"redis-быстрые-данные-рядом-с-приложением","Redis: быстрые данные рядом с приложением",[24,25,26,37,45,53,61],"ul",{},[27,28,29,36],"li",{},[30,31,35],"a",{"href":32,"rel":33},"https:\u002F\u002Fhabr.com\u002Fru\u002Fcompanies\u002Fwunderfund\u002Farticles\u002F685894\u002F",[34],"nofollow","Разбираемся с Redis | Хабр \u002F Wunder Fund"," — хороший обзор Redis, структур данных и типичных сценариев.",[27,38,39,44],{},[30,40,43],{"href":41,"rel":42},"https:\u002F\u002Fhabr.com\u002Fru\u002Farticles\u002F860060\u002F",[34],"Использование Redis в Go | Хабр"," — практический старт с Go-клиентом, подключением и базовыми командами.",[27,46,47,52],{},[30,48,51],{"href":49,"rel":50},"https:\u002F\u002Fhabr.com\u002Fru\u002Farticles\u002F948866\u002F",[34],"Кэширование в Go: ускоряем API без Redis | Хабр"," — полезно для понимания cache-aside и TTL до подключения внешнего Redis.",[27,54,55,60],{},[30,56,59],{"href":57,"rel":58},"https:\u002F\u002Fredis.io\u002Fdocs\u002Flatest\u002Fget-started\u002F",[34],"Redis Open Source: Get started"," — официальный вход в Redis и базовые концепции.",[27,62,63,68],{},[30,64,67],{"href":65,"rel":66},"https:\u002F\u002Fredis.io\u002Fdocs\u002Flatest\u002Foperate\u002Foss_and_stack\u002Fmanagement\u002Foptimization\u002Flatency\u002F",[34],"Redis latency problems troubleshooting"," — официальный чеклист причин latency: slow commands, fork, persistence, сеть, swap.",[19,70,72],{"id":71},"redis-data-structures-и-моделирование-данных","Redis data structures и моделирование данных",[24,74,75,82,90,98],{},[27,76,77,81],{},[30,78,80],{"href":32,"rel":79},[34],"Разбираемся с Redis | Хабр"," — строки, списки, множества, sorted sets, hashes и практические сценарии.",[27,83,84,89],{},[30,85,88],{"href":86,"rel":87},"https:\u002F\u002Fredis.io\u002Fdocs\u002Flatest\u002Fdevelop\u002Fdata-types\u002F",[34],"Redis data types"," — официальный обзор структур данных.",[27,91,92,97],{},[30,93,96],{"href":94,"rel":95},"https:\u002F\u002Fredis.io\u002Fdocs\u002Flatest\u002Fcommands\u002F",[34],"Redis commands"," — справочник команд с синтаксисом, сложностью и ACL-категориями.",[27,99,100,105],{},[30,101,104],{"href":102,"rel":103},"https:\u002F\u002Fhabr.com\u002Fru\u002Farticles\u002F444996\u002F",[34],"Потоки Redis как чистая структура данных | Хабр"," — хороший материал для понимания Streams не только как очереди.",[19,107,109],{"id":108},"go-и-redis-go-redis-cache-aside-и-защита-от-stampede","Go и Redis: go-redis, cache-aside и защита от stampede",[24,111,112,127,133,141,153,161],{},[27,113,114,117,118,122,123,126],{},[30,115,43],{"href":41,"rel":116},[34]," — подключение, ",[119,120,121],"code",{},"Set",", ",[119,124,125],{},"Get",", TTL и базовая структура клиента.",[27,128,129,132],{},[30,130,51],{"href":49,"rel":131},[34]," — объясняет cache-hit\u002Fcache-miss, TTL и cleanup-логику.",[27,134,135,140],{},[30,136,139],{"href":137,"rel":138},"https:\u002F\u002Fhabr.com\u002Fru\u002Farticles\u002F359078\u002F",[34],"Пишем простой менеджер кеша в памяти на Go | Хабр"," — полезно перед Redis, чтобы понять проблему stampede и локального кеша.",[27,142,143,148,149,152],{},[30,144,147],{"href":145,"rel":146},"https:\u002F\u002Fredis.io\u002Fdocs\u002Flatest\u002Fdevelop\u002Fclients\u002Fgo\u002F",[34],"go-redis guide"," — официальный гайд по ",[119,150,151],{},"go-redis\u002Fv9",".",[27,154,155,160],{},[30,156,159],{"href":157,"rel":158},"https:\u002F\u002Fpkg.go.dev\u002Fgithub.com\u002Fredis\u002Fgo-redis\u002Fv9",[34],"Package go-redis\u002Fv9"," — API клиента, pipeline, transactions, Pub\u002FSub, Cluster и Sentinel.",[27,162,163,168],{},[30,164,167],{"href":165,"rel":166},"https:\u002F\u002Fredis.io\u002Fdocs\u002Flatest\u002Fdevelop\u002Fclients\u002Fgo\u002Fconnect\u002F#instrument-with-opentelemetry",[34],"go-redis instrumentation"," — подключение OpenTelemetry hooks для traces\u002Fmetrics Redis-клиента.",[19,170,172],{"id":171},"ttl-eviction-и-память-redis","TTL, eviction и память Redis",[24,174,175,183,203,222,230],{},[27,176,177,182],{},[30,178,181],{"href":179,"rel":180},"https:\u002F\u002Fhabr.com\u002Fru\u002Fcompanies\u002Fotus\u002Farticles\u002F923834\u002F",[34],"Коротко про TTL в NoSQL-хранилищах: Redis, MongoDB и Cassandra | Хабр \u002F OTUS"," — быстрый обзор TTL и роли автоматического удаления данных.",[27,184,185,190,191,122,194,122,197,122,200,152],{},[30,186,189],{"href":187,"rel":188},"https:\u002F\u002Fredis.io\u002Fdocs\u002Flatest\u002Fcommands\u002Fexpire\u002F",[34],"EXPIRE"," — точная семантика TTL, опции ",[119,192,193],{},"NX",[119,195,196],{},"XX",[119,198,199],{},"GT",[119,201,202],{},"LT",[27,204,205,210,211,214,215,218,219,152],{},[30,206,209],{"href":207,"rel":208},"https:\u002F\u002Fredis.io\u002Fdocs\u002Flatest\u002Fdevelop\u002Freference\u002Feviction\u002F",[34],"Key eviction"," — политики ",[119,212,213],{},"maxmemory-policy",", LRU\u002FLFU и отличие ",[119,216,217],{},"allkeys-*"," от ",[119,220,221],{},"volatile-*",[27,223,224,229],{},[30,225,228],{"href":226,"rel":227},"https:\u002F\u002Fredis.io\u002Fdocs\u002Flatest\u002Foperate\u002Foss_and_stack\u002Fmanagement\u002Foptimization\u002Fmemory-optimization\u002F",[34],"Memory optimization"," — как модель данных влияет на расход памяти.",[27,231,232,237,238,241],{},[30,233,236],{"href":234,"rel":235},"https:\u002F\u002Fredis.io\u002Fdocs\u002Flatest\u002Fcommands\u002Fscan\u002F",[34],"SCAN"," — безопасная альтернатива ",[119,239,240],{},"KEYS"," для итерации по keyspace в production.",[19,243,245],{"id":244},"transactions-locks-и-rate-limiting-в-redis","Transactions, locks и rate limiting в Redis",[24,247,248,266,274,282,296],{},[27,249,250,255,256,122,259,122,262,265],{},[30,251,254],{"href":252,"rel":253},"https:\u002F\u002Fredis.io\u002Fdocs\u002Flatest\u002Fdevelop\u002Fusing-commands\u002Ftransactions\u002F",[34],"Transactions"," — ",[119,257,258],{},"MULTI",[119,260,261],{},"EXEC",[119,263,264],{},"WATCH"," и границы атомарности Redis-транзакций.",[27,267,268,273],{},[30,269,272],{"href":270,"rel":271},"https:\u002F\u002Fredis.io\u002Fdocs\u002Flatest\u002Fdevelop\u002Fprogrammability\u002Feval-intro\u002F",[34],"Scripting with Lua"," — как переносить условную логику к данным и выполнять ее атомарно.",[27,275,276,281],{},[30,277,280],{"href":278,"rel":279},"https:\u002F\u002Fredis.io\u002Fdocs\u002Flatest\u002Fdevelop\u002Fclients\u002Fpatterns\u002Fdistributed-locks\u002F",[34],"Distributed Locks with Redis"," — lock value, safe release и Redlock.",[27,283,284,289,290,122,293,295],{},[30,285,288],{"href":286,"rel":287},"https:\u002F\u002Fredis.io\u002Fglossary\u002Frate-limiting\u002F",[34],"Rate Limiting"," — базовый паттерн rate limiter на ",[119,291,292],{},"INCR",[119,294,189],{}," и транзакциях.",[27,297,298,303],{},[30,299,302],{"href":300,"rel":301},"https:\u002F\u002Fredis.io\u002Fdocs\u002Flatest\u002Fcommands\u002Feval\u002F",[34],"EVAL"," — справочник по Lua scripts, ACL-категориям и ограничениям выполнения.",[19,305,307],{"id":306},"persistence-replication-sentinel-и-redis-cluster","Persistence, replication, Sentinel и Redis Cluster",[24,309,310,318,326,334,342],{},[27,311,312,317],{},[30,313,316],{"href":314,"rel":315},"https:\u002F\u002Fredis.io\u002Fdocs\u002Flatest\u002Foperate\u002Foss_and_stack\u002Fmanagement\u002Fpersistence\u002F",[34],"Redis persistence"," — RDB, AOF и компромиссы durability\u002Fperformance.",[27,319,320,325],{},[30,321,324],{"href":322,"rel":323},"https:\u002F\u002Fredis.io\u002Fdocs\u002Flatest\u002Foperate\u002Foss_and_stack\u002Fmanagement\u002Freplication\u002F",[34],"Redis replication"," — как primary отправляет изменения репликам и что происходит при разрывах.",[27,327,328,333],{},[30,329,332],{"href":330,"rel":331},"https:\u002F\u002Fredis.io\u002Fdocs\u002Flatest\u002Foperate\u002Foss_and_stack\u002Fmanagement\u002Fsentinel\u002F",[34],"High availability with Redis Sentinel"," — failover для non-clustered Redis и роль Sentinel.",[27,335,336,341],{},[30,337,340],{"href":338,"rel":339},"https:\u002F\u002Fredis.io\u002Fdocs\u002Flatest\u002Foperate\u002Foss_and_stack\u002Fmanagement\u002Fscaling\u002F",[34],"Scale with Redis Cluster"," — шардирование, hash slots и эксплуатация кластера.",[27,343,344,349],{},[30,345,348],{"href":346,"rel":347},"https:\u002F\u002Fredis.io\u002Fdocs\u002Flatest\u002Fcommands\u002Fwait\u002F",[34],"WAIT"," — команда ожидания репликации и её границы, полезно для обсуждения durability trade-off.",[19,351,353],{"id":352},"redis-pubsub-streams-и-production-checklist","Redis Pub\u002FSub, Streams и production checklist",[24,355,356,364,370,378,392,404,412],{},[27,357,358,363],{},[30,359,362],{"href":360,"rel":361},"https:\u002F\u002Fhabr.com\u002Fru\u002Farticles\u002F456270\u002F",[34],"Redis Stream: надежность и масштабируемость систем сообщений | Хабр"," — русскоязычный разбор Streams, consumer groups и подтверждений.",[27,365,366,369],{},[30,367,104],{"href":102,"rel":368},[34]," — помогает не сводить Streams только к очередям.",[27,371,372,377],{},[30,373,376],{"href":374,"rel":375},"https:\u002F\u002Fredis.io\u002Fdocs\u002Flatest\u002Fdevelop\u002Fpubsub\u002F",[34],"Redis Pub\u002FSub"," — модель fire-and-forget сообщений и ограничения.",[27,379,380,255,385,122,388,391],{},[30,381,384],{"href":382,"rel":383},"https:\u002F\u002Fredis.io\u002Fdocs\u002Flatest\u002Fdevelop\u002Fdata-types\u002Fstreams\u002F",[34],"Redis Streams",[119,386,387],{},"XADD",[119,389,390],{},"XREAD",", consumer groups, trimming и pending entries.",[27,393,394,399,400,403],{},[30,395,398],{"href":396,"rel":397},"https:\u002F\u002Fredis.io\u002Fdocs\u002Flatest\u002Foperate\u002Foss_and_stack\u002Fmanagement\u002Foptimization\u002Flatency-monitor\u002F",[34],"Redis latency monitoring"," — latency monitor, ",[119,401,402],{},"LATENCY DOCTOR"," и поиск проблем.",[27,405,406,411],{},[30,407,410],{"href":408,"rel":409},"https:\u002F\u002Fredis.io\u002Fdocs\u002Flatest\u002Foperate\u002Foss_and_stack\u002Fmanagement\u002Fsecurity\u002Facl\u002F",[34],"Redis ACL"," — разделение пользователей и прав команд для runtime, worker и maintenance-доступа.",[27,413,414,419],{},[30,415,418],{"href":416,"rel":417},"https:\u002F\u002Fredis.io\u002Fdocs\u002Flatest\u002Foperate\u002Foss_and_stack\u002Fmanagement\u002Fsecurity\u002F",[34],"Redis security"," — bind, protected mode, TLS, firewall и общие production-настройки безопасности.",{"title":421,"searchDepth":422,"depth":422,"links":423},"",2,[424,425,426,427,428,429,430],{"id":21,"depth":422,"text":22},{"id":71,"depth":422,"text":72},{"id":108,"depth":422,"text":109},{"id":171,"depth":422,"text":172},{"id":244,"depth":422,"text":245},{"id":306,"depth":422,"text":307},{"id":352,"depth":422,"text":353},1781022064340]