redis基础知识

Source

        记不清什么时候开始接触到redis了,这些年也或多或少的在使用redis, redis可以用做数据库、缓存以及消息代理。下面将介绍一下redis的基础特性和应用场景。

    

丰富的数据结构

字符串,散列,列表,集合,有序集合 。这几个是常用的数据结构,redis5升级之后还加入了HyperLog、位图、地理坐标、流这几个数据结构。

分布式全局token过期控制这个应用场景应该是比较常见的了,系统做微服务拆分之后,系统就会涉及分布式鉴权需求了,这时我们将token存入redis中,使用redis的过期策略来进行全局token过期控制

数据库功能

由于我们有很多物联网相关的业务需求,其中采集场景中,我们会将原始采集到的数据会暂存一份到redsi中来支持需要用原始数据做运算的业务,redis数据储存在内存中可以支持高效运算,而且支持自动过期。在这里还需要讲到redis的持久化支持,redis提供了RDB和AOF两种持久化方式,业界一般会结合使用这两种方案,以为两种方案各有优缺点。

多机功能

redis提供了三种高可用方案:主从复制架构、sentinel哨兵模式、集群。三种方式各有优缺点,哨兵模式和集群都是在主从复制的基础上演化出来的,线上业务适合使用集群的方式来实现高可用。

主从复制

哨兵模式

集群模式 

总结

以上简单概述了redis的特性,redis有着丰富的数据结构支持,结合持久化功能还可以作为数据库使用,其次redis还提供了多种高可用方案,在真实的业务场景中可以根据需要进行选用。