全国食用油加工厂主要集中在哪里?
2026/6/10 6:52:17
Redis是一个开源、高性能的内存键值数据库,Redis = REmote DIctionary Server(远程字典服务器)。它不是简单的键值存储,而是支持字符串、列表、哈希、集合等多种复杂数据结构,使其成为构建现代实时应用的“瑞士军刀”。
简单来说,你可以把它理解为一个超快、多才多艺的“内存临时工”,专门处理需要极速读写和复杂操作的临时数据。
key-value,还有List、Set、Hash、Sorted Set、Stream等。| 数据结构 | 特点 | 典型应用场景 |
|---|---|---|
| String | 最基本类型,可存文本、数字、二进制 | 缓存HTML片段、计数器、用户令牌 |
| List | 有序、可重复的字符串列表 | 消息队列、最新N条记录 |
| Set | 无序、唯一的字符串集合 | 标签、共同好友、去重 |
| Sorted Set | 带分数排序的Set | 排行榜、延迟队列 |
| Hash | 键值对集合 | 存储用户对象、商品属性 |
| Stream | 支持多消费者的持久化消息流 | 事件溯源、日志收集 |
importredis# 1. 连接 Redisr=redis.Redis(host='localhost',port=6379,password='密码')# 2. 存储数据(SET)r.set('user_name','John')r.set('cache_key',json.dumps(data),ex=3600)# ex=3600 表示 1 小时后过期# 3. 读取数据(GET)value=r.get('user_name')# 返回 b'John'(字节类型)decoded_value=value.decode('utf-8')# 'John'# 4. 删除数据(DEL)r.delete('user_name')# 5. 检查是否存在(EXISTS)ifr.exists('cache_key'):print("缓存存在")| 场景 | 选择 | 理由 |
|---|---|---|
| 需要极速读写(<1ms) | ✅ Redis | 内存存储,速度快10-100倍 |
| 需要复杂数据结构 | ✅ Redis | 原生支持集合运算、排序等 |
| 数据持久化是首要需求 | ❌ 考虑 PostgreSQL/MySQL | Redis 持久化是辅助功能 |
| 数据量远超内存大小 | ❌ 考虑 Cassandra/磁盘DB | Redis 主要数据在内存 |
| 需要完整SQL查询 | ❌ 考虑关系型数据库 | Redis 无SQL功能 |