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核心技术与实战》