redis初识

redis是什么

      redis是一个高性能的分布式nosql存储框架,可以作为系统缓存方案,此外也可以作为简单的消息框架来使用。

      作为一个数据存储方案。一般从以下几点来评价好坏(对于任何一个组件框架,都可以从这几点来思考:是否好用,是否可靠,性价比如何,扩展性怎么样):

  • 支持的数据类型(能存什么)
  • 占用空间
  • 操作的完备性、性能
  • 扩展性
  • 事务性
  • 容错性,崩溃恢复、备份机制

实现原理

  1. redis支持键值对方式的数据结构,支持string、list、set、map等类型的值,优化了各类数据类型的存储方案,达到了更优的内存性能;
  2. 数据直接在内存中进行存储及操作,实现了高效的数据存储服务;
  3. 通过集群化使系统的水平扩展简单可靠
  4. 通过持久化(RDB、AOF),实现了数据备份及数据恢复。
  5. 通过主备部署、哨兵,实现了自动崩溃恢复。
  6. 通过脚本、事务原语,实现了事务。

特征要素

数据类型

      value支持string、set、list、map、bitarray、stream类型。

      string,二进制安全string(不会对string做特殊编码处理)

      stream,支持追加的map数据类型,可用于日志数据结构建模。支持多种操作。

集群(扩展)

redis通过将数据映射到不同的hash slots,然后将slots存储在不同的redis节点中来构建集群。当增加节点时,通过将已有的slots划分到新节点来实现扩展;当删除节点时,通过将该节点slots拷贝到其他节点,从而实现透明删除。

备份(主备、持久化)

备份可以从两个方面来讲:主备机制、持久化机制

主备是为了运行时崩溃恢复,即master挂了,切换到slave上。可以手动切换,也可以通过启用redis-sentinel来实现自动恢复。

持久化是为了数据备份、停机恢复,即历史数据的转储、停机重启数据重载。持久化有两种方案:RDB、AOF,RDB是周期性的全量数据备份(数据快照),AOF是些操作日志。RDB特点:快,便于转储、容灾恢复;AOF特点:力度相对更细,可以应付停机问题,容易理解,方便查错。一般会结合两者一起使用。

使用方式

有两种用户:使用者、管理者

使用者:就是通过redis客户端使用redis来进行存储、查询。只需要了解redis的数据类型及数据相关操作,了解script,了解事务。

管理者:管理redis,配置redis集群、主备,崩溃恢复、优化、问题排查。这需要了解redis的架构,了解它的实现机制。

使用场景

1、对数据的可靠性、一致性要求部高的高效的分布式缓存方案。(如果不做特殊配置的话,redis在特定情况下会丢失数据,做了特殊配置则性能就没那么高)。

2、简单的消息订阅中间件。(功能简单,对吞吐量、实时性、稳定性没有特殊要求,就是说消息机制在系统中的地位不是很重要,消息不需要追溯,可以丢失,吞吐量也不大,只要能发主题消息,能订阅主题消息就行)。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值