Redis 缓存实战:高并发系统架构设计与最佳实践

Redis 是高性能的内存数据库,广泛用于缓存、会话存储、消息队列等场景。本文将介绍 Redis 的核心概念和实战应用。

1. Redis 基础

安装与启动

# Ubuntu 安装
sudo apt install redis-server

# 启动服务
sudo systemctl start redis
sudo systemctl enable redis

# 连接客户端
redis-cli

# 测试
127.0.0.1:6379> ping
PONG

基本命令

# 字符串操作
SET key value
GET key
DEL key
EXISTS key
EXPIRE key 3600
TTL key

2. 数据处理

数据结构

# String
SET user:1:name "Alice"
GET user:1:name

# Hash
HSET user:1 name "Alice" age 30
HGET user:1 name

常用操作

# 批量操作
MSET key1 val1 key2 val2
MGET key1 key2

# 计数操作
INCR counter
INCRBY counter 5
DECR counter

3. 持久化

RDB 与 AOF

# RDB 配置
save 900 1
save 300 10
save 60 10000

# AOF 配置
appendonly yes
appendfilename "appendonly.aof"

4. 高级特性

主从复制

# 从库配置
replicaof 127.0.0.1 6379

# Redis Sentinel
sentinel monitor mymaster 127.0.0.1 6379 2

5. 缓存策略

常见问题

  • 缓存穿透:查询不存在的数据
  • 缓存击穿:热点 key 过期
  • 缓存雪崩:大量 key 同时过期

6. 实战示例

分布式锁

import redis
import time

r = redis.Redis()

def acquire_lock(lock_name, timeout=10):
    end = time.time() + timeout
    while time.time() < end:
        if r.setnx(f"lock:{lock_name}", 1):
            r.expire(f"lock:{lock_name}", 10)
            return True
        time.sleep(0.001)
    return False

7. 小结

Redis 是高性能的内存数据库,构建高并发系统必备。重点是:选择合适的数据结构、合理使用持久化、注意缓存策略、监控性能。

发表评论