Redis数据结构
Redis是一个存储键值的内存数据库。它的键都是字符串类型。Values支持存储5种类型的数据:String(字符串类型)、List(列表)。type)、Hash(哈希表类型,即键值类型)、Set(无序集合类型,元素不可重复)、Zset(有序集合类型,元素不可重复)。
对于这五种数据类型,Redis通过底层的redisObject对象来表示。redisObject有3个重要的属性:type、encoding、ptr。
其中,type代表有价值的数据类型,也就是我们上面提到的五种数据类型(REDIS_STRING、REDIS_LIST、REDIS_HASH、REDIS_SET、REDIS_ZSETencoding代表编码);value,表示底层使用什么数据结构;ptr是指向存储值的底层数据结构的指针。
type和ptr属性不需要太多解释,你马上就知道它们的含义。本文主要分析如何对value进行编码,也就是对应的底层。不同数据类型的取值是什么,分析数据结构原理。
Redis(RemoteDictionaryServer),远程字典服务,是一个采用ANSIC编写的开源日志、Key-Value数据库,支持网络,可以基于内存、持久化,并提供多种API语言。
Redis是一个键值存储系统。与Memcached类似,它支持的存储值类型相对较多,包括string(字符串)、list(链表)、set(集合)、zset(setedset——有序集合)、hash(哈希类型)。所有这些数据类型都支持推送/弹出、添加/删除、相交、合并、差异和更丰富的操作,并且这些操作都是原子的。
在此基础上,redis支持多种不同的排序方式。和memcached一样,对数据进行缓存以保证效率。不同的是,redis会定期将更新的数据写入磁盘或者将修改操作写入额外的日志文件,并在此基础上实现主从同步。
上一篇:劲芯科技内存条
下一篇:redis内存数据库