1.string 字符串
二进制安全的,可以包涵任何数据,jpg图片or序列化对象;
string是redis最基本的类型,一个键最大存储512M
2.set
set是string类型的一个无序集合,集合内数据不重复,set元素最大可以包含(2的32次方-1)个元素;set的是通过hash table实现的,所以添加,删除,查找的复杂度都是O(1)
3.hash
hash是key-value映射的结构,它的添加,删除操作平均复杂度是O(1);hash节省内存的原因,是开辟hash一开始是是使用zipmap来存储的,这个zipmap其实并不是hash table,可以节省不少hash本身需要的一些元数据存储开销;一个hash类型键最多可以包含2的32次方-1个字段。
hash-max-zipmap-entries 64 #配置字段最多64个
hash-max-zipmap-value 512 #配置value最大为512字节
4.list
list就是一个存储string类型的双向链表;push和pop的复杂度都是O(1),list会记录链表长度,链表的最大长度是(2的32次方-1);list的特性导致它可以做栈,也可以做队列;list有阻塞版本,可以避免轮训查询list队列;
5.zset
zset就是set的有序集合,添加,删除操作开销都是O(log(N));比list更消耗内存;