基本架构:一个键值数据库包含什么

91 阅读1分钟

Memcached 支持的 value 类型仅为 String 类型,而 Redis 支持的 value 类型包括了 String、哈希表、列表、集合等。Redis 能够在实际业务场景中得到广泛的应用,就是得益于支持多样化类型的 value。

PUT/GET/DELETE/SCAN 是一个键值数据库的基本操作集合:

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

访问模式通常有两种:一种是通过函数库调用的方式供外部应用使用,另一种是通过网络框架以 Socket 通信的形式对外提供键值对操作。

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

Redis 采用一些常见的高效索引结构作为某些 value 类型的底层数据结构,这一技术路线为 Redis 实现高性能访问提供了良好的支撑。


此文章为7月Day26学习笔记,内容来源于极客时间《redis核心技术与实战》