Redis入门(三)——Redis基本数据类型

Redis 不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。

  1. string数据类型
    string是redis中最简单的一种数据结构,是一种key-value类型的数据。string 类型是二进制安全的,意思是 Redis 的 string 可以包含任何数据,比如图片或者序列化的对象,根据redis官方文档根据Redis官方文档,Value最大值为512M。

string 数据类型在 Redis 中的相关命令:

Redis string 转对象 redis中string_redis


实例:

Redis string 转对象 redis中string_Redis string 转对象_02


其中,setex命令用于清除不在需要缓存的数据,setnx命令用于分布式锁的场景中。ttl为查看key剩余有效时间的命令。

下面介绍几个自增自减操作,这在实际工作中还是特别有用的(分布式环境中统计系统的在线人数,利用Redis的高性能读写,在Redis中完成秒杀,而不是直接操作数据库。)

Redis string 转对象 redis中string_redis_03


实例:

Redis string 转对象 redis中string_redis_04


注意:若value的值不为表示数字的字符,则不能使用自增自减命令。

更多命令参考:https://www.w3cschool.cn/redis/redis-strings.html,https://redis.readthedocs.io/en/latest/index.html。

  1. list数据类型
    Redis列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素导列表的头部(左边)或者尾部(右边),,它的底层实际上是个链表。一个列表最多可以包含 232 - 1 个元素 (4294967295, 每个列表超过40亿个元素)。
  2. Redis string 转对象 redis中string_数据类型_05


  3. Redis string 转对象 redis中string_Redis_06

  4. 实例:
  5. Redis string 转对象 redis中string_数据类型_07

  6. 其他命令不在一一列举。
  7. set数据类型
    Redis的Set是string类型的无序集合。集合成员是唯一的,这就意味着集合中不能出现重复的数据。Redis 中 集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是O(1)。集合中最大的成员数为 232 - 1 (4294967295, 每个集合可存储40多亿个成员)。

Redis string 转对象 redis中string_数据类型_08


实例:

Redis string 转对象 redis中string_redis_09

  1. hash数据类型
    Redis hash 是一个string类型的field和value的映射表,key 还是key,但是value是一个键值对(key-value)。类比于 Java里面的 Map<String,Map<String,Object>> 集合。hash特别适合用于存储对象。
    Redis 中每个 hash 可以存储 232 - 1 键值对(40多亿)。
  2. Redis string 转对象 redis中string_Redis string 转对象_10


  3. Redis string 转对象 redis中string_redis_11

  4. 5 zset数据类型
    Redis 有序集合和集合一样也是string类型元素的集合,且不允许重复的成员。
    不同的是每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。
    有序集合的成员是唯一的,但分数(score)却可以重复。
    集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是O(1)。 集合中最大的成员数为 232 - 1 (4294967295, 每个集合可存储40多亿个成员)。
  5. Redis string 转对象 redis中string_数据类型_12

  6. 更多命令参考:https://www.w3cschool.cn/redis/redis-sorted-sets.html
    实例:
    可用于游戏中分数对应不同等级的场景
  7. Redis string 转对象 redis中string_Redis string 转对象_13


  8. Redis string 转对象 redis中string_redis_14

  9. 系统相关命令
  10. Redis string 转对象 redis中string_Redis string 转对象_15

  11. key相关命令:
  12. Redis string 转对象 redis中string_Redis string 转对象_16