【Redis】基本架构

邓敏 2021年12月04日 92次浏览

Redis基础架构.png

操作模块

可支持的 3 种基本操作,即 PUT、GET 和 DELETE

  • PUT:新写入或更新一个 key-value 对;
  • GET:根据一个 key 读取相应的 value 值;
  • DELETE:根据一个 key 删除整个 key-value 对。

存储模块

Redis是一个非关系型数据库,基本的数据模型为Key-Vlaue的模式,目前支持的为五种常用的数据接口,他们分别为string(字符串)、list(列表)、hash(字典)、set(集合) zset(有序集合)

Redis的数据是存储在内存当中,相比于存储在磁盘中,数据的内存的优势在于数据读写速度快,毕竟内存的读写速度都在百ns级别,但是有一个致命的缺点,他无法像外存一样,可以将数据持久化的保存在磁盘中,也是一种典型的空间换时间的做法。对于这种情况Redis也给出了解决方案,那就RDB和AOF的持久存储方案,这个以后再写。

访问框架

Redis目前采用动态链接库的形式来访问程序来获取提供的键值存储功能,还用到了另外一种通过网络框架以Socket通信的形式来对外提供键值操作服务,这种形式可以提供广泛的键值存储服务。

索引模块

Redis采用全局哈希表的形式来存储数据
很大一部分原因在于,其键值数据基本都是保存在内存中的,而内存的高性能随机访问特性可以很好地与哈希表 O(1) 的操作复杂度相匹配。