Redis数据类型
Redis支持五种数据类型
string(字符)、hash(哈希)、list(列表)、set(集合)、zset(有序集合)。
1.String 字符串
1.1 基础
- String是Redis最基本的数据类型,可以理解成与Memcached一模一样的类型,一个key对应一个value。
- String类型是二进制安全的,意思是Redis的String可以包含任何数据,比如jpg图片或者序列化对象
- String类型是Redis最基本的数据类型,String类型的值最大能存储512MB。
1.2 实例
127.0.0.1:6379> set ohyes abc
OK
127.0.0.1:6379> get ohyes
“abc”
127.0.0.1:6379>
在上面的例子中,使用了set、get命令,键为ohyes,值为abc。
注意:一个键最大能存储512MB。
2. hash哈希
2.1 基础
Redis hash是一个键值对集合。
Redis hash 是一个string类型的field和value的映射表,hash特别适合用于存储对象。
2.2 实例
首先使用DEL命令删除之前set进去的key,不然会报错:(error) WRONGTYPE Operation against a key holding the wrong kind of value
实例中,使用Redis的HMSET、HGET命令来进行hash的操作:
使用HMSET、HGET命令来创建了三个field=>value对HGET获取field对应的value。
每个hash可以存储2^32 -1 个键值对(40多亿)
3. LIST列表
3.1 基础
Redis的列表是简单的字符串列表按照插入顺序排序,你可以添加一个元素到列表的头部或者尾部。
3.2 实例
列表可以通过LPUSH、LRANGE命令来进行操作。
lpush命令可以一次添加一条记录,也可以一次添加多条记录。
列表最多可存储2^32 - 1 元素(大概40多亿,4294967295)
4. set集合
4.1 基础
Redis的Set是String类型的无序集合。
集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是O(1)。
4.2 实例
集合可以通过sadd、smembers来进行操作。
sadd是添加一个string元素到key对应的set集合中,成功返回1,如果元素以及存在于集合当中返回0.
sadd可以一次添加多条数据,integer后面的数据代表成功添加的条数,如果为零则是添加失败,因为集合内元素具有
唯一性
集合中最大的成员数量为2^32 - 1个
5. zset有序集合
5.1 基础
- Redis中的zset和set一样也是string类型元素的集合,且不允许有重复的成员。
- 不同的是每个元素都会关联一个double类型的分数,Redis正是通过分数来为集合中的成员进行从小到大的排序。
- zset的成员是唯一的,但是分数却可以重复。
5.2 实例
zset类型使用zadd和zrangebyscore命令来进行操作。