Redis入门(三)——Redis基本数据类型
Redis 不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。
目录
- string数据类型
- list数据类型
- set数据类型
- hash数据类型
- zset数据类型
1.string数据类型
string是redis中最简单的一种数据结构,是一种key-value类型的数据。string 类型是二进制安全的,意思是 Redis 的 string 可以包含任何数据,比如图片或者序列化的对象,根据redis官方文档根据Redis官方文档,Value最大值为512M。
string 数据类型在 Redis 中的相关命令:
表格图片引用:http://www.cnblogs.com/xrq730/p/8944539.html(下同)
实例:
其中,setex命令用于清除不在需要缓存的数据,setnx命令用于分布式锁的场景中。ttl为查看key剩余有效时间的命令。
下面介绍几个自增自减操作,这在实际工作中还是特别有用的(分布式环境中统计系统的在线人数,利用Redis的高性能读写,在Redis中完成秒杀,而不是直接操作数据库。)。
实例:
注意:若value的值不为表示数字的字符,则不能使用自增自减命令。
更多命令参考:https://www.w3cschool.cn/redis/redis-strings.html,https://redis.readthedocs.io/en/latest/index.html。
2.list数据类型
Redis列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素导列表的头部(左边)或者尾部(右边),,它的底层实际上是个链表。一个列表最多可以包含 232 - 1 个元素 (4294967295, 每个列表超过40亿个元素)。
实例:
其他命令不在一一列举。
3.set数据类型
Redis的Set是string类型的无序集合。集合成员是唯一的,这就意味着集合中不能出现重复的数据。Redis 中 集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是O(1)。集合中最大的成员数为 232 - 1 (4294967295, 每个集合可存储40多亿个成员)。
实例:
4.hash数据类型
Redis hash 是一个string类型的field和value的映射表,key 还是key,但是value是一个键值对(key-value)。类比于 Java里面的 Map<String,Map<String,Object>> 集合。hash特别适合用于存储对象。
Redis 中每个 hash 可以存储 232 - 1 键值对(40多亿)。
实例:
5.zset数据类型
Redis 有序集合和集合一样也是string类型元素的集合,且不允许重复的成员。
不同的是每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。
有序集合的成员是唯一的,但分数(score)却可以重复。
集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是O(1)。 集合中最大的成员数为 232 - 1 (4294967295, 每个集合可存储40多亿个成员)。
更多命令参考:https://www.w3cschool.cn/redis/redis-sorted-sets.html
实例:
可用于游戏中分数对应不同等级的场景
6.系统相关命令
7.key相关命令: