TAG
Redis
32 notes
- 1.1 Redishistorical
What Redis is, installation, features, commands, server topics, distributed Redis, use cases, key design, benchmarking, and cloud Redis.
- 1.2 Redis Installationhistorical
Install Redis from source, configure the core settings, and start a local instance.
- 1.3 Redis Persistencehistorical
Why Redis persistence is needed, RDB and AOF mechanisms, triggers, workflows, rewrite, blocking, and recovery choice.
- 1.4 Redis Transactionshistorical
What Redis transactions are, MULTI/EXEC/DISCARD, no rollback, optimistic locking with WATCH, and comparison with MySQL transactions.
- 1.5 Redis Pipelinehistorical
What Redis pipeline is, why it reduces network I/O, usage examples, implementation notes, and comparison with M commands, Lua, and transactions.
- 1.6 Redis Pub/Subhistorical
What Redis Pub/Sub is, basic publish/subscribe usage, unsubscribe behavior, and pattern matching.
- 1.7 Redis Luahistorical
Redis Lua usage, debugging, data-type conversion, supported libraries, logging, execution time, EVAL/EVALSHA, IDEs, and example scripts.
- 1.8 Analyzing Redis with Wiresharkhistorical
Capture a local Redis command with Wireshark and inspect its RESP request and response.
- 1.9 Redis Client Connection Handlinghistorical
Redis client connection handling, maximum clients, client list, timeouts, and TCP keepalive.
- 1.10 Redis Signal Handlinghistorical
How Redis handles SIGTERM/SIGINT, crash signals, and killed background child processes.
- 1.11 Redis Benchmarkinghistorical
Benchmark Lua scripts and pipelines with redis-benchmark, plus practical benchmarking notes.
- 1.12 Cloud Redishistorical
Historical Tencent Cloud Redis notes covering topology, availability-zone deployment, consistency, availability, scalability, cost, parameters, and monitoring.
- 2.1 Redis BloomFilterhistorical
A Redis-based BloomFilter implementation idea using BitMaps and automatic expansion.
- 2.2 Redis RateLimiterhistorical
A Redis-based rate limiter using a counter algorithm and Lua scripts.
- 2.3 Redis Data Structureshistorical
1. Redis DB - redisDb is the data structure used by Redis to represent a DB and contains a dict; dict is the K-V data structure in Redis and contains dictht; dictht is an array whose elements are dictEntry nodes; dictEntry.next uses chaining to resolve hash collisions
- 2.4 Redis Asynchronous Queuehistorical
Simple Redis asynchronous-queue patterns with lists, blocking pop, Pub/Sub, and sorted sets.
- 2.5 Redis Distributed Lockshistorical
1. What is a Redis distributed lock - A distributed lock implemented based on Redis 2. Redis distributed lock implementation 2.1. Single instance 2.1.1. Locking - Set a key when it does not exist - SET NX guarantees atomicity - The key guarantees mutual exclusion - The value guarantees that locking and unlocking are performed by the same client
- 2.6 Redis Key Design Tipshistorical
1. MySQL -> Redis 1.1. Single table - Primary key column: set table-name:primary-key-name primary-key-value - Other columns: set table-name:primary-key-name:primary-key-value:column-name column-value 1.1.1. User table: query a record by primary key
- 2.7 Redis Commandshistorical
1. Redis general commands - keys pattern queries matching keys - Redis supports fuzzy key matching with three wildcards: *, ?, [] - * matches any number of characters - ? matches one character - [] matches one character inside the brackets - redis-cli can only query data on the current node - SCAN cursor
- 3.1 Redis Thread Modelhistorical
Redis's Reactor model, its single-threaded command execution, why it is fast, and Redis 6.x multi-threaded I/O.
- 3.2 Redis Concurrency Competitionhistorical
The Redis concurrency-competition problem and solutions using atomic commands, mutexes, optimistic locking, and Lua scripts.
- 3.3 Redis Slow Querieshistorical
Redis command execution flow, slow-query configuration and commands, and the in-memory FIFO implementation.
- 3.4 Redis Blockinghistorical
What Redis blocking is, how to discover it, and internal and external causes including complex commands, CPU saturation, persistence, swap, and network problems.
- 3.5 Redis bigkeyhistorical
What a Redis big key is, its risks, how to find and delete it, and the basic mitigation of splitting it into smaller keys.
- 3.6 Redis hotkeyhistorical
What a Redis hot key is, how to discover it, and how to mitigate it through key replication or local caching.
- 4.1 Redis Clusterhistorical
1. Why Redis Cluster is needed - Distributed system partitioning 2. What Redis Cluster is - Redis's distributed solution, solving the single-machine write-capacity limit of primary-replica replication and the lack of automatic failover 3. How to build a Redis Cluster
- 4.2 Redis Sentinelhistorical
1. Why Redis Sentinel is needed - Primary-replica replication cannot perform automatic failover 2. What Redis Sentinel is - Redis's high-availability mechanism, solving the lack of automatic failover in primary-replica replication 2.1. Redis Sentinel functions - Monitoring, Notification, Automatic failover, Configuration provider
- 4.3 Redis Replicationhistorical
1. Why Redis Replication is needed - Distributed system replication 2. What Redis Replication is - Copy data into multiple replicas and deploy them on other machines - Replication is the foundation of Redis high availability (Redis Cluster/Redis Sentinel) 2.1. Replication topology
- 5.1 Redis Key Expiration Strategyhistorical
Redis key expiration commands and passive and active expiration mechanisms.
- 5.2 Redis Memory Managementhistorical
Redis memory consumption, fragmentation, memory inspection, eviction, key expiration, and optimization.
- 5.3 Redis Memory Eviction Strategyhistorical
Redis memory eviction strategies, configuration, eviction process, approximate LRU, and LFU.
- 5.4 Redis Memory Optimizationhistorical
Redis memory-optimization notes on compact encodings, 32-bit instances, and maxmemory configuration.