Redis支持哪些数据类型?
Redis 数据类型
Redis支持的数据类型主要有五种:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合)。
1、String(字符串)
string是redis最基本的类型,一个key对应一个value。
-
string类型是二进制安全的。意思是redis的string可以包含任何数据。比如jpg图片或者序列化的对象 。 string类型是Redis最基本的数据类型,一个键最大能存储512MB。
2、Hash(哈希)
hash 是一个键值对集合。
Redis hash 是一个 string 类型的 field 和 value 的映射表,hash 特别适合用于存储对象。 如下示例:user:1 为键值。(注:每个 hash 可以存储 232 - 1键值对)
3、List(列表)
列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素到列表的左边或者右边。 列表可以从两端压入或者弹出元素
特点:
-
有序 可以重复 可以在左右两边插入弹出
4、Set(集合)
Redis 的 Set是 string 类型的无序集合。 集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是 O(1)。
特点;
-
无序 无重复 可以集合间操作
单个集合:
对单个集合的操作:
-
sadd key member 添加集合成员 srem key member 删除集合成员 scard key 计算集合大小 sismember key member 是否为集合成员 smembers key 获取集合所有成员 集合间的操作: sinter key1 key2 交集 sunion key1 key2 并集 sdiff key1 key2 差集
5、zset(有序集合)
Redis zset 和 set 一样也是 string 类型元素的集合,且不允许重复的成员。
-
不同的是每个元素都会关联一个 double 类型的分数。redis 正是通过分数来为集合中的成员进行从小到大的排序。 zset 的成员是唯一的,但分数(score)却可以重复
特点:
-
无重复元素 有序