- joinc.co.kr/REDIS
- practice - architecture, usage tip
- practice - logging
- practice - coupang 오류 관련 내용
- Redis 자료구조
- advanced-redis
- How to take advantage of Redis just adding it to your stack
- Recovering Redis Data with GDB
- Redis Hot Patch
- How Twitter Uses Redis To Scale - 105TB RAM, 39MM QPS, 10,000+ Instances
- Keeping up with the cool databases we present: Redis
- Redis on AWS
- FAILOVER WITH REDIS SENTINEL
- Clarifications about Redis and Memcached
- Spring은 왜 memcached 대신 Redis를 선택했을까?
- redis 1 - YouTube Redis 와 Memcahed 차이 1부
- redis 2 - YouTube
- redis 3 - YouTube
- Scaling Secure Applications with Spring Session and Redis - YouTube
- Lazy Redis is better Redis
- A few things about Redis security
- Recent improvements to Redis Lua scripting
- Atomic 처리와 cache stampede 대책을 위해 Redis Lua script를 활용한 이야기
- Redis Lua Script를 이용해서 API Rate Limiter개발
- Redis의 SCAN은 어떻게 동작하는가?
- DNS 기반의 Redis HA 구현
- Redis Labs
- Redis in a Multi Tenant Environment–High Availability, Monitoring & Much More!
- High Availability with Redis Sentinel and Spring Lettuce Client | by Naciye Karademir | Trendyol Tech | Medium
- Redis 의 Sentinel
- Redis Conf 2016: Redis in a Multi-Tenant Environmnet
- RedisConf18: Building Light weight Microservices Using Redis - Redis Labs
- Microservice Communication: A Spring Integration Tutorial with Redis
- RedisConf18: Implementing a New Data Structure for Redis - Redis Labs
- RedisConf18 발표 후기
- Redis Networking Nerd Down: For Lovers of Packets and Jumbo Frames- John Bullard, Distil Networks
- Developing a Redis Module
- REDIS 데이터 모델들
- Intro To Redis Cluster Sharding – Advantages, Limitations, Deploying & Client Connections
- Docker기반 Redis 구축하기 - (10) Redis Cluster Mode 설정하기 | Carreys 기술블로그
- 입 개발 Redis 에서 Redis Cluster 로 갈 때 주의해야할 부분들 | Charsyam's Blog
- 초보 개발자를 위한 Redis Cluster Migration 가이드라인
- Radix? Redis!
- 10. 데이터 폭풍이닷: 스크래핑으로 가져온 데이터 처리
- 3개의 key column이 있으며, 하나의 key로 찾는 경우
- scan or hash
- C_B_A와 같이 key column을 조합해 문서 key로 쓰거나, C로 hash를 각각 만들어 사용
- 혀로그래머 charsyam은 구라쟁이
- 입 개발 Redis 접속이 안되요!!! – Protected Mode
- 샤딩은 쉬워요 샤딩하세요
- 캐시 멤캐시나 레디스 쓰세요. 쉬워요
- 레디스 관련 Q&A
- Redis에 심플한 key-value 로 수 억개의 데이터 저장하기
- spring-security-oauth의 RedisTokenStore의 사용은 서비스에 적합하지 않습니다
- 입 개발 Spring 의 CacheEvict 에서 allEntries=true 는 Redis에서 어떻게 동작하게 될까? | Charsyam's Blog
- Redis 버그 – Dataset 사이즈가 200GB가 넘어가면 죽는다구요?
- 왜 Redis 응답이 느린데, slowlog에는 안찍히나요?
- 입 개발 Redis 6.0 – ThreadedIO를 알아보자
- 입 개발 Redis 장애 종류 정리 | Charsyam's Blog
- 입 컨설팅 Self Managed Redis 가 좋을까? Managed Redis 가 좋을까? | Charsyam's Blog
- 입 개발 Redis LRU(Least Recently Used Algorithm)에 대해서 | Charsyam's Blog
- 입 개발 Redis 지표 중에 instantaneous 정보들은 어떤걸까? | Charsyam's Blog
- Redis-Finda-Public - Google Slides
- 입 개발 분산 락에 대해서… | Charsyam's Blog
- 입 개발 Redis가 maxmemory 보다 더 썼다가 OOM 에러를 던져요!!! | Charsyam's Blog
- 입 개발 Redis 메모리 해제에 관해서… 주로 Expire… | Charsyam's Blog
- Atomic 한 Tool 만 쓰면 RaceCondition은 없어질까? - Google Slides hash set skiplist 모두 atomic
- Redis와 전자정부프레임워크 연동
- lua 사용 사례
- lock
- 분산 웹 캐시 (Wcache)의 개선과정 - Part 1
- 분산 웹 캐시 (Wcache)의 개선과정 - Part 2
- Replication
- Redis Node와 연동하기
- 운영에 필요한 최소한의 지식 List, Hash
- Why Redis?
- Dave Nielsen: Top 5 uses of Redis as a Database 내부 구조 기초
- Redis as a Database. I’ve been using Redis a lot in the past… | by Tzafrir Ben Ami | Wix Engineering | Medium
- Redis Labs and SQL Server
- Build A Node.js & Redis App From Scratch
- 05 01 Implementing a Redis Cache
- Why Your MySQL Needs Redis | Redis Labs
- Why and When You Should Use Redis
- Scaling Redis at Twitter
- Redis Use Patterns: An Introduction to the SQL Practitioner
- 배민쇼핑라이브를 만드는 기술: 채팅 편 | 우아한형제들 기술블로그
- 배달의민족 쇼핑라이브에서 많을 때는 분당 2만 건이 넘는 메시지를 처리하기 위한 채팅을 직접 구현하기로 하면서 Redis의 Pub/Sub과 Webflux를 이용해서 채팅을 구현한 과정을 설명
- 이전에 구현했던 경험을 통해 WebSocket의 사용 최소화, REST API를 사용할 수 있는 부분은 WebSocket의 커맨드를 이용하지 않도록 하여 WebSocket 처리에는 메시지를 보내고 받는 부분에 집중
- WebFlux로 non-blocking의 이점을 얻기 위해 대부분의 데이터는 Redis를 이용하고 RDB에 보관해야 하는 API는 별도로 분리
- WebSession을 사용했는데 어느 날 10,000개의 최대 세션 개수를 넘어서면서 오류가 발생하여 WebSession을 사용하지 않도록 개선
- 관리자 사이트에서 너무 많은 메시지를 브라우저에서 렌더링하다가 멈추는 문제가 발생하여 리스트를 가상화하고 렌더링 횟수를 줄여서 성능 문제 해결
- 배민쇼핑라이브를 만드는 기술: 채팅 편 | GeekNews
- EC2에 Redis CLI 설치하기
- You should revise your Redis max connections setting
- heroku에서 사용할 때 이야기라 server에 설치해서 쓸 때와는 조금 거리가 있지만 참고
- redis 만료키 삭제
- 우아한 Redis
- DevOps 엔지니어의 Redis Test 분투기 - Part 1
- What I didn’t know I didn’t know about Redis
- 레디스 버전6 뉴피처와 주요 기능 테스트
- 레디스 ACL
- add a subtitle Redis Strings Explained
- 클라이언트 사이드 캐싱
- AOF and RDB size comparison test
- Redis Documentation #3 데이터타입과 추상화
- The Redis Series
- Install Redis inside Ubuntu VM. I will start a series about Redis, I am… | by Mohammed Hewedy | The Startup | Medium
- Redis Persistence by Example. This is the Second Post in Redis… | by Mohammed Hewedy | Medium
- Implement game leaderboard using Redis | by Mohammed Hewedy | Medium
- Implement Job Queue using Redis. This is the Forth Post in The Redis… | by Mohammed Hewedy | Medium
- Building REST API backed by Redis | by Mohammed Hewedy | The Startup | Medium
- Building Chat Service in Golang and Websockets Backed by Redis | by Mohammed Hewedy | Level Up Coding
- Redis cluster configuration by example | Medium
- Redis Geospatial by example. This is the eighth post of The Redis… | by Mohammed Hewedy | Medium
- 캐시 성능 향상기 (Improving Cache Speed at Scale) : TOAST Meetup
- if(kakao)2020 코멘터리 01 : 카카오톡 캐싱 시스템의 진화 — Kubernetes와 Redis를 이용한 캐시 팜 구성 – tech.kakao.com
- Redis on Kubernetes 플랫폼을 구성해 나가기 | 카카오페이 기술 블로그
- 쿠버네티스 레디스 클러스터 구축기 - kakaoTV
- 쿠버네티스에 레디스 캐시 클러스터 구축기 – tech.kakao.com
- Redis Eviction 정책을 적용하여 효율적인 캐시 띄우기
- 서버가 여러대면 로그인 정보는 어디에 저장할까? - Sticky Session, Session Clustering, Redis Session Storage
- Redis 성능 향상을 위한 Redis 세션 저장소와 캐시 저장소의 분리
- 선물하기 시스템의 상품 재고는 어떻게 관리되어질까? - 우아한형제들 기술 블로그 redis + RDB 배민 재고 관리
- 레디스(Redis)는 언제 어떻게 사용하는 게 좋을까
- Improve Cache Speed at Scale - RedisConf 2020 - YouTube Cache Stampede, TTL, PER, 디바운싱, Hot Keys, 읽기분산, 레플리카, 압축
- How to Set up a Firewall for Redis using ufw | thisDaveJ
- Fun with Redis: Creating a Reactive Architecture Using Redis and Microservices - YouTube
- (웹툰) Redis 캐시
- Redis Anti-Patterns Every Developer Should Avoid | Redis Developer Hub
- 우아한테크세미나 191121 우아한레디스 by 강대명님 - YouTube
- Redis 야무지게 사용하기 | NHN FORWARD
- Render Redis | Render · Cloud Hosting for Developers
- Alex Xu on Twitter: "1. How do we build a simple 𝐜𝐡𝐚𝐭 𝐚𝐩𝐩𝐥𝐢𝐜𝐚𝐭𝐢𝐨𝐧 using 𝐑𝐞𝐝𝐢𝐬? The diagram below shows how we can leverage the pub-sub functionality of Redis to develop a chat application. https://t.co/4w7aFPrNvg" / Twitter
- Redis Explained
- 레디스를 이용한 기프티콘 선착순 이벤트 구현
- Redis를 활용한 다양한 시스템 설계 Redis로 구현 가능한 예제 간결하게 설명한 글, 토이 프로젝트에 참고하기 좋음
- Redis를 활용한 선착순 쿠폰 발급 서버 설계
- IMDEV 2023 Redis를 활용한 Mobile APM 백엔드 성능 향상시키기 - YouTube
- Database - Redis를 이용해서 웹 로딩 반타작내기
- G마켓 쿠폰적용가 도입기 - 캐시를 중심으로
- I've been using Redis wrong this whole time... - YouTube
- AWS announces vector search for Amazon MemoryDB for Redis (Preview)
- How does Redis persist data?
- I've been using Redis wrong this whole time... - YouTube
- 대규모 Redis를 운영하며 살아남기
- Redis: EP9 - Redis HyperLogLog(HLL)에 대해서 알아보자 - YouTube
- Redis 에서 zadd 와 zincrby 의 차이
- Transactions in Redis
- 같은 주문에 2명의 라이더가 동시에 배달하는 문제 해결 - Redis Transaction을 이용하여 데이터 atomic 보장
- 대규모 처리 시 Redis 연산의 Atomic을 보장하기
- 유저 목록을 Redis Bitmap 구조로 저장하여 메모리 절약하기 - DRAMA&COMPANY
- BGSAVE
- CONFIG
config get maxclients
orecho "config get maxclients" | nc -v <redis server> <redis port>
현재 설정된 최대 접속 허용 client 개수- Redis RENAME-COMMAND Parameter
- 성능저하 혹은 운영상 위험이 발생할 수 있는 명령의 이름을 바꾸는 방법
- redis.conf에서 해당 명령을 변경 e.g. flushall -> xflushall, flushdb -> xflushdb
- GEO
- INFO disk usage 등 여러가지 정보
info, info('cpu'), info('memory'), ...
in pythoninfo clients
orecho "info clients" | nc -v <redis server> <redis port>
connected clients 개수
- HSCAN
hash name 0 \[match pattern>\]
patern = *pattern or pattern* or *pattern*hscan_iter
in python- How to search a key pattern in redis hash?
- Redis scan 이용하기 Spring에서 (hscan)
- redis-cli
- Writing a Redis client in pure Bash
nc -v redis.mydomain.com 6379
Linux - Install redis-cli only- redis-cli 에서 –rdb는 주의해서 사용하셔야 합니다
- RENAME
- practice 앞의 hash를 뒤의 hash로 덮어씀. 앞의 hash는 삭제
- SCAN
scan 0 \[match pattern\]
patern = *pattern or pattern* or *pattern* e.g.scan 0 match *test*
scan_iter
in python- Get all keys in Redis database with python
- 패턴으로 TTL 적용하기 scan으로 pattern match되는 key를 찾아 expire 적용하는 script
- Redis keys 대신 scan 이용하기
ZSET
- 팔로우 기능 개발 노트 - Feed | Disquiet* Redis Cluster를 운영하면서 나올 수 있는 split-brain problem 문제를 AWS ElastiCache를 사용하여 해소한 사례
- 아마존 엘라스틱캐시의 멤캐시디 클러스터 스케일 아웃
- ElastiCache Redis - Parameter Group 설정 변경
- 환상(장)의 (ElastiCache + Spring Session + Spring Security) Memory Leak
- Spring Session, Spring Security, ElastiCache를 쓰면서 Redis의 메모리 릭을 경험하고 이를 해결하는 과정
- 메모리 릭을 경험하고 Redis의 SET이나 Pub/Sub을 의심했지만, 이 문제는 아니었고 사용자가 많은 시간대에 패턴이 달라지는 것을 보고 세션 클러스터링을 의심하기 시작
- REDIS의 키를 추적해서 문제가 있는 키를 찾아내고 이 키의 용도와 언제 생성되고 삭제되는지 코드까지 확인했는데 코드에는 이상이 없는 걸 확인
- ElastiCache에서 이벤트에 대한 설정이 되어 있지 않아서 삭제 처리가 안 되었음을 발견
- 팔로우 기능 개발 노트 - Feed | Disquiet*
- ElastiCache 운영을 위한 우아한 가이드: 초고속 메모리 분석 툴 개발기와 레디스 운영 노하우 소개 #우아콘2023 #우아한형제들 - YouTube
- New for Amazon ElastiCache for Redis 7: Get up to 72% better throughput with enhanced I/O multiplexing | AWS Database Blog
- 실제 바닐라 Redis에는 없는 피처로 보임
- ElastiCache 에서는 Enhanced IO Multiplexing 이라고 해서, 각각의 스레드가 클라이언트들을 묶어서 컨트롤 하는 방식 사용(Netty 에서의 IOGroup 같은
- Redis 가 싱글스레드라, 클라이언트가 많을수록 IO담당 스레드에서 시간이 길어질 수 밖에 없는데, 이 부분이 개선
- 특히 클라이언트 수에 따라서 성능 변화가 생길수가 있는데, 그런 부분에서 7.0에서는 개선
- 실제 바닐라 Redis에는 없는 피처로 보임
- Redis Cache 기능을 활용한 성능 개선 이야기 part 1 | Recoding Life
- Redis Cache 기능을 활용한 성능 개선 이야기 Part 2 | Recoding Life
- Redisson - Redis Java client with features of In-Memory Data Grid. Over 50 Redis based Java objects and services: Set, Multimap, SortedSet, Map, List, Queue, Deque, Semaphore, Lock, AtomicLong, Map Reduce, Publish / Subscribe, Bloom filter, Spring Cache, Tomcat, Scheduler, JCache API, Hibernate, MyBatis, RPC, local cache ...
- dragonflydb
- findstival: Redis Hackathon on DEV Project
- Garnet is a remote cache-store from Microsoft Research that offers strong performance (throughput and latency), scalability, storage, recovery, cluster sharding, key migration, and replication features. Garnet can work with existing Redis clients
- Introducing Garnet – an open-source, next-generation, faster cache-store for accelerating applications and services - Microsoft Research
- 레디스 호환 프로토콜 사용, 레디스보다 더 높은 처리량 제공
- Introducing Garnet – an open-source, next-generation, faster cache-store for accelerating applications and services - Microsoft Research
- Gredis - Redis server built over grpc
- hiredis - Minimalistic C client for Redis >= 1.2
- ioredis: 🚀 A robust, performance-focused and full-featured Redis client for Node.js
- KeyDB - A Multithreaded Fork of Redis https://keydb.dev
- Lambda Store: Serverless Database for Redis®
- Medis - a beautiful, easy-to-use Mac database management application for Redis. http://getmedis.com
- RedisAI | Real-Time ML Model Serving
- Redis Geo
- redisgrip: Redis GUI Client
- Redis Labs Community Projects | Redis Labs
- Redis In memory data processing
- gesher: K8s Admission control proxy
- memtier_benchmark: NoSQL Redis and Memcache traffic generation and benchmarking tool
- RedisBloom - Probabilistic Datatypes Module for Redis
- RedisGears - Programmable engine for data processing in Redis
- RedisGraph - a graph database module for Redis
- RedisJSON - a JSON data type for Redis
- 새로운 도큐먼트 스토어. RediSearch 기반이며 실시간 도큐먼트 스토어로 JSON 타입을 사용해서 쿼리와 풀텍스트 서치 지원
- Reids에서는 MongoDB와 ElasticSearch보다 더 빠르고 실시간 업데이트가 검색과 읽기에 영향을 주지 않는다고 주장
- RedisJSON: Public Preview & Performance Benchmarking | Redis
- How to develop a RealTime Chat App using RedisJSON and Next JS from scratch. | LinkedIn
- RediSearch - Redis Secondary Index & Query Engine
- RedisTimeSeries - Time-Series data structure for Redis
- RedisRaft Jepsen report on RedisRaft – The Last Mind
- redis-rdb-tools Parse Redis dump.rdb files, Analyze Memory, and Export Data to JSON https://rdbtools.com
- redis-traffic-stats - a query analyzer for Redis
SerenityDB - disk storage and real transactions under Redis compatible protocol- Spark-Redis - A library for reading and writing data from and to Redis with Apache Spark
- Treat Redis Lists like Unix Pipes
- twemproxy - A fast, light-weight proxy for memcached and redis
- How to Use Redis with Python 3 and redis-py on Ubuntu 16.04
- Write Fast Apps Using Async Python 3.6 and Redis
- Dave Nielsen: Top 5 uses of Redis as a Database | PyData Seattle 2015
- redis-python-simple-tutorial
- aioredis - asyncio (PEP 3156) Redis client library
- aioredlock - The asyncio implemetation of Redis distributed locks
- asyncio-redis - Redis client for Python asyncio
- pydis: A redis clone in Python 3 to disprove some falsehoods about performance
- rb: A Redis parallelization toolkit for Python
- redis - Python client for Redis key-value store
- redis-hashring - A Python library that implements a consistent hash ring for building distributed apps
- Tornado-Redis - Asynchronous Redis client that works within Tornado IO loop
- Redis Tutorial for Beginners 11 - Redis Publish Subscribe
- RedisConf17 - How Roblox Keeps Millions of Users up to Date with Redis Pub/Sub - Peter Philips
- 입 개발 Redis 7.x 에서의 ShardedPubSub | Charsyam's Blog
- 토스ㅣSLASH 23 - 실시간 시세 데이터 안전하고 빠르게 처리하기 - YouTube
- Advanced Redis: Subscribe Script to Pub/Sub Channel
- Redis Pubsub and Message Queueing
- Is non-blocking Redis pubsub possible?
- Non-Blocking PubSub in Python using Redis
- CREATE A SIMPLE CHAT ROOM WITH REDIS PUBSUB
- github.com/r4vi/redis-pubsub
- basic redis python pubsub
- Python & Redis PUB/SUB
- A short script exploring Redis pubsub functions in Python
- LINE LIVE 채팅 기능의 기반이 되는 아키텍처
- Benchmarking Message Queue Latency
- Building a Message Queue Using Redis in Go
- Asynchronous Queueing in Redis with Akka | by Orji samuel | The Startup | Medium
- jedis
- Lettuce
- EasyRedisMQ - A Simple .Net Message Queue that Uses Redis for the back end
- Resque (pronounced like "rescue") - a Redis-backed library for creating background jobs, placing those jobs on multiple queues, and processing them later
- RSMQ - REDIS SIMPLE MESSAGE QUEUE
- Flask asynchronous background tasks with Celery and Redis
- Simple Python Queue with Redis
- Basic Message Queue with Redis
- Asynchronous Tasks in Python with Redis Queue - Twilio
- Background Tasks in Python using Redis Queues
- kubernetes.io/docs/tasks/job/fine-parallel-processing-work-queue/rediswq.py
- Task queues
- HotQueue - a Python library that allows you to use Redis as a message queue within your Python programs
- Pyres - a Resque clone
- RESTMQ - Redis based message queue
- RQ (Redis Queue) - a simple Python library for queueing jobs and processing them in the background with workers
- Introduction to Redis Streams
- Kafka & Redis Streams
- Streams: a new general purpose data structure in Redis
- Redis Streams and the Unified Log
- Milano Scala Group - Redis Streams with ZIO - YouTube
- The Design of Redis StreamsSalvatore Sanfilippo, Creator of Redis
- Stream 사용 방법
- Redis cluster tutorial
- 개발자를 위한 레디스 튜토리얼 01
- 개발자를 위한 레디스 튜토리얼 02
- 개발자를 위한 레디스 튜토리얼 03
- 개발자를 위한 레디스 튜토리얼 04
- Redis tutorial for beginners
- Redis Tutorial - A Brief Introduction to Redis
- Redis Tutorial - Intro to Redis w/ Node.js Demo
- Redis Crash Course Tutorial
- 개발자를 위한 레디스 튜토리얼 01
- 개발자를 위한 레디스 튜토리얼 02
- 개발자를 위한 레디스 튜토리얼 03
- 개발자를 위한 레디스 튜토리얼 04
- Redis Crash Course - the What, Why and How to use Redis as your primary database - YouTube
- Is Redis the ONLY database you need? // Fullstack app from scratch with Next.js & Redis - YouTube
- How to develop a Todo App in Next JS and Redis database from scratch