键值型数据库(Redis)
Redis 是一种速度非常快的数据库。
它最常见的角色不是完全替代 MySQL,而是补充 MySQL。
Redis 最适合做什么
你可以先记住这几个关键词:
- 缓存
- 登录状态
- 计数
- 排行榜
- 高频读取
Redis 为什么快
最核心的原因之一是:它主要把数据放在内存里。
内存读写速度比硬盘快很多,所以 Redis 适合“快进快出”的数据场景。
Redis 的基本命令
设置一个键值:
bash
SET name python读取:
bash
GET name删除:
bash
DEL name如果执行:
bash
SET name python
GET name你会看到:
text
"python"常见数据类型
1. String
适合存一个简单值。
bash
SET site PythonSpace
GET site常用于:
- 用户名
- 验证码
- 缓存结果
2. List
适合存一组有顺序的数据。
bash
LPUSH tasks task1
LPUSH tasks task2
LRANGE tasks 0 -1输出可能是:
text
1) "task2"
2) "task1"3. Hash
适合存“对象风格”的数据。
bash
HSET user:1 name 小明 age 18 city 北京
HGETALL user:1这很像在保存一个用户对象。
4. Set
集合会自动去重。
bash
SADD tags python linux python
SMEMBERS tags输出时不会出现重复的 python。
5. Sorted Set
适合排行榜:
- 分数榜
- 热度榜
- 排名列表
Redis 和 MySQL 的区别
可以先用最朴素的方式理解:
- MySQL 更适合长期保存结构化数据
- Redis 更适合高频读写的热点数据
Redis 在项目里的典型场景
缓存
数据库查一次很慢,先把结果放到 Redis,下次直接取。
会话信息
登录后的一些状态可以保存到 Redis。
计数
文章阅读量、点赞数、访问次数都很适合。
排行榜
有序集合很适合这个场景。
零基础学习建议
学 Redis 时,不要只记命令。
一定要配合理解“为什么要用 Redis”,不然很容易变成只会背几个单词。