Redis是高效的内存数据库或者说缓存。对多种数据结构都支持,每种数据结构都有相应的应用场景。
特性
Redis支持非常多的特性,从用途、性能、高可用、数据安全方面都提供了相应的支持和保障。
-
Redis中具有多种类型的数据结构,String可以作为key/value缓存,List可以作为全局队列、可以作为最新文章存储,Hash可以作为二维关系缓存,Set可以作为文章的tag标签、可以用作交集分析,SortedSet可以用作排行榜、用作数据检索,Bitmap可以统计事物状态等等;
-
List和Pub/Sub可以用作消费者生产者模式,可以用作订阅者发布者模式;
-
Redis也通过了多种方式保证的高可用:主从、集群分片;
-
Redis支持数容灾备份恢复、数据存储的可靠性:主从复制、持久化;
-
Redis保证了高性能:单线程、异步I/O、主从、集群;
-
Redis保证了安全性:支持SSL会话、支持密码认证;
-
Redis保证了可伸缩、动态扩缩容:cluster的重新分片;
Redis还有一个非常重要的特性:支持多语言。Redis的client非常丰富,官网上有其各个client的罗列:java/go/php/javascript/c++等等
学习路线:
- 理解Redis的常见应用场景;
- 思维脑图方式总结Redis的特性;
- Redis支持的数据类型;
- Redis的Pub/Sub;
- Redis的事务;
- Redis的管道;
- Redis的持久化;
- Redis的主从复制;
- LRU淘汰策略
- Redis的高可用专题
- Redis的高性能专题
在学习相应模块同时,也学习其java client的api。同时尽量阅读client的源码精华。