学习一项新技术和一个新的框架之前,大部分的套路都是先对这项技术和框架做一个简单的介绍。这次,我也随波逐流一次吧,对Redis做一个整体的介绍。
基于键值对的存储系统:字典形式。
五种数据结构:字符串(String),Hash(字典),列表(List),集合(Set),有序集合(Sorted Set)。
Redis大部分时间用来做缓存,因为速度快(内存数据库,单线程,单进程,Redis 6.0支持多线程,后面我们会详细讲Redis 6.0的新特性 )。
Redis的使用场景
-
做缓存:String类型最多,其次是hash(字典),value值使用的最多的是json格式。
-
计数(自增):点赞数,点踩数,访问数,全局计数等。
-
消息队列:列表类型,先进先出或者先进后出,bloop。这个可以参考我写的一个开源框架,地址为:https://github.com/sunshinelyz/mykit-delay。
-
发布订阅(观察者模式)
-
排行榜:有序集合
-
分布式锁:可以关注【冰河技术】微信公众号,参考我写的《【高并发】高并发分布式锁架构解密,不是所有的锁都是分布式锁!!》,也可以参考我写的一个分布式锁插件,链接地址为:https://github.com/sunshinelyz/mykit-lock。
-
做附近的人
-
布隆过滤器
-
统计在线人数(Bitmap)等等
以下使用场景也是5大数据类型中的一种:
-
BitMaps位图:布隆过滤器 本质是字符串
-
HyperLogLog:超小内存唯一值计数,12kb HyperLogLog 本质是 字