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++等等

学习路线:

  1. 理解Redis的常见应用场景;
  2. 思维脑图方式总结Redis的特性;
  3. Redis支持的数据类型;
  4. Redis的Pub/Sub;
  5. Redis的事务;
  6. Redis的管道;
  7. Redis的持久化;
  8. Redis的主从复制;
  9. LRU淘汰策略
  10. Redis的高可用专题
  11. Redis的高性能专题

在学习相应模块同时,也学习其java client的api。同时尽量阅读client的源码精华。

05-23 17:22