记不清什么时候开始接触到redis了,这些年也或多或少的在使用redis, redis可以用做数据库、缓存以及消息代理。下面将介绍一下redis的基础特性和应用场景。
丰富的数据结构
字符串,散列,列表,集合,有序集合 。这几个是常用的数据结构,redis5升级之后还加入了HyperLog、位图、地理坐标、流这几个数据结构。
分布式全局token过期控制这个应用场景应该是比较常见的了,系统做微服务拆分之后,系统就会涉及分布式鉴权需求了,这时我们将token存入redis中,使用redis的过期策略来进行全局token过期控制
数据库功能
由于我们有很多物联网相关的业务需求,其中采集场景中,我们会将原始采集到的数据会暂存一份到redsi中来支持需要用原始数据做运算的业务,redis数据储存在内存中可以支持高效运算,而且支持自动过期。在这里还需要讲到redis的持久化支持,redis提供了RDB和AOF两种持久化方式,业界一般会结合使用这两种方案,以为两种方案各有优缺点。
多机功能
redis提供了三种高可用方案:主从复制架构、sentinel哨兵模式、集群。三种方式各有优缺点,哨兵模式和集群都是在主从复制的基础上演化出来的,线上业务适合使用集群的方式来实现高可用。
主从复制
哨兵模式
集群模式
总结
以上简单概述了redis的特性,redis有着丰富的数据结构支持,结合持久化功能还可以作为数据库使用,其次redis还提供了多种高可用方案,在真实的业务场景中可以根据需要进行选用。