Redis 传送门
Redis 是目前业界使用最广泛的内存数据存储系统。相比 memcached,Redis 中的值可以是 string(字符串)、hash(哈希)、list(列表)、set(集合)、zset(有序集合)、Bitmaps(位图)、HyperLogLog、GEO(地理信息定位)等多种数据结构,因此Redis可以满足很多的应用场景,而且因为Redis会将所有数据都存放在内存中,所以它的读写性能非常惊人。
不仅如此,Redis 还可以将内存的数据利用快照和日志的形式保存到硬盘上,这样在发生类似断电或者机器故障的时候,内存中的数据不会“丢失”。
除此之外,Redis 还提供键过期、发布订阅、事务(通过MULTI
和EXEC
指令)、HA、主从库、流水线、Lua脚本、集群等附加功能。总之,如果在合适的场景使用好 Redis,它就会像一把瑞士军刀一样所向披靡。
本目录贴是自己在学习 Redis 过程中的总结记录,整理成专题,方便总结回顾。
Redis 的知识图谱
“两大维度”就是指系统维度和应用维度,“三大主线”也就是指高性能、高可靠和高可扩展(可以简称为“三高”)。(这个三高特性是很多中间件追求的特性,我们研究其他中间件时都可以从这三个方面去研究)
- 高性能主线,包括线程模型、数据结构、持久化、网络框架;
- 高可靠主线,包括主从复制、哨兵机制;
- 高可扩展主线,包括数据分片、负载均衡。
问题画像
基础介绍
Redis 高可用
Redis 高性能
Redis 高可扩展
- 数据分片
- 负载均衡
Redis 应用场景
- Redis 中的事务
- Redis 中 BitMap 的使用场景
- Redis 中 HyperLogLog 的使用场景
- Redis GEO 功能使用场景
- Redis 实现分布式锁
- Redis 做缓存
- Redis缓存淘汰机制
- Redis 做缓冲
- Redis做高速数据库
- Redis 实现消息队列/发布订阅模式
- Redis 客户端 Jedis、luttce、Jedssion对此
- 一文彻底理解Redis序列化协议,你也可以编写Redis客户端
- Redis 是单线程模型,但是为什么还能执行阻塞命令BLPOP
2. 集群相关
Redis 6 新特性
一些相关资源
- Redis 官网
- Redis 在线运行网站
- Redis 命令官方参考文档
- 推荐书籍:《Redis开发与运维》 -- 付磊
人生的主旋律其实是苦难,快乐才是稀缺资源。在困难中寻找快乐,才显得珍贵~