Redis中五大数据类型及相关命令
1、Redis五大数据类型
Redis支持的五大数据类型分别为:
- String(字符类型)
- Hash(散列类型)
- List(列表类型)
- Set(集合类型)
- SortedSet(有序集合类型,简称zset)
注意:Redis的命令不区分大小写,但是key 区分大小写!!!
下面就介绍这些数据类型的详细使用。也可以通过这个网站进行学习:http://redisdoc.com/
2、keys键操作(非五大类型)
这些命令是对key的一些基本操作:
3、String类型(字符串)
String是Redis最基本的类型,你可以理解成与Memcached一模一样的类型,一个key对应一个value,一个Redis中字符串value最多可以是512M。String类型是二进制安全的。意思是Redis的String可以包含任何数据。比如jpg图片或者序列化的对象 。
4、List类型(列表)
Redis 列表是简单的字符串列表,可以存储一个有序的字符串列表,按照插入顺序排序,你可以添加一个元素到列表的头部(左边)或者尾部(右边)。列表类型内部是使用双向链表(double linked list)实现的,所以向列表两端添加元素的时间复杂度为0/1,获取越接近两端的元素速度就越快。意味着即使是一个有几千万个元素的列表,获取头部或尾部的10条记录也是极快的。
5、Hash类型(哈希非常重要,类似Java里的Map)
Redis Hash是一个键值对集合。K-V模式不变,但V是一个键值对。Redis的Hash是一个String类型的field和value的映射表,Hash特别适合用于存储对象。类似Java里面的Map<String,Object>。
6、Set类型(集合,无序,唯一)
Redis的Set是String类型的无序集合,不允许出现重复的值。它是通过HashTable实现实现的。
7、Zset类型(Sorted Set:可排序的集合)
Redis Zset 和 Set 一样也是String类型元素的集合,且不允许重复的成员。不同的是每个元素都会关联一个double类型的分数。Redis正是通过分数来为集合中的成员进行从小到大的排序。Zset的成员是唯一的,但分数(score)却可以重复。
注: 在Set基础上,加一个score值,之前set是k1 v1 v2 v3,现在Zset是k1 score1 v1 score2 v2
有时候还可以这样用,在Zset里设置所有元素的score为0,就按元素首字母排序(自动补全)