redis数据类型很重要
面试常考的有string,list,hash
redis常用的五大数据类型
string(字符串)
1.1 string是redis最基本的类型,你可以理解成与Memcached一模一样的类型,一个key对应一个value。
1.2 string类型是二进制安全的。意思是redis的string可以包含任何数据。比如JPG图片或者序列化的对象(python中序列化,json,pickle,cPickle)。
1.3 string类型是redis最基本的数据类型,一个redis中字符串value最多可以是512M。- hash(哈希,类似java里的map)
2.1 redis hash是一个键值对集合。
2.2 redis hash是一个string类型的field和value的映射表,hash特别适用于存储对象。
2.3 类似java里的map<string,object>
- list(列表)
redis列表是简单的字符串列表,按照插入顺序排序。可以添加一个元素到列表的头部(左边)或者尾部(右边)。
它的底层实际是个链表
- set(集合)
redis的set是string类型的无序无重复集合。它是通过hashtable实现的。
- zset(sorted set:有序集合)
redis zset和set一样也是string类型元素的集合,且不允许重复的成员。
不同的是每个元素都会关联一个double类型的分数。
redis正是通过分数来为集合中的成员进行从小到大的排序。zset的成员是唯一的,但是分数(score)却可以重复。
比如打纸牌,会显示达到10万分的多少人,100玩分的多少人...一般会用到这种类型