首页 > 技术文章 > redis数据类型

daiju123 2020-11-04 07:52 原文

redis数据类型

  • string(字符串)

    • string 是 redis 最基本的类型

    • string 是二进制安全的

    • string 类型的值最大能存储 512MB

  • hash(哈希)

    • Redis hash 是一个键值(key=>value)对集合

    • Redis hash 是一个 string 类型的 field 和 value 的映射表,hash 特别适合用于存储对象

    • 每个 hash 可以存储 232 -1 键值对(40多亿)

  • list(列表)

    • Redis 列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素到列表的头部(左边)或者尾部(右边)

  • set(集合)

    • Redis 的 Set 是 string 类型的无序集合。

    • 集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是 O(1)。

    • 集合中最大的成员数为 232 - 1 (4294967295, 每个集合可存储40多亿个成员)

  • zset(sorted set:有序集合)

    • Redis zset 和 set 一样也是string类型元素的集合,且不允许重复的成员

    • 不同的是每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序

  • 常用指令

    • 字符串

      • 添加数据

        > set key value
      • 获取数据

        > get key
      • 删除数据

        > del key
      • 添加过期时间(秒)

        > setex key 过期时间 value
    • hash

      • 添加数据

        > hmset key  field1 value1  field2 value2 field3 value3 [f v]
      • 获取数据

        > hget key field
      • 删除数据

        > del key
    • list

      • 添加数据

        # 左添加
        > lpush key value
        # 右添加
        > rpush key value
      • 查询数据,并且在list中将数据删除

        • 返回列表中指定区间内的元素,其中 0 表示列表的第一个元素, 1 表示列表的第二个元素,以此类推。 你也可以使用负数下标,以 -1 表示列表的最后一个元素, -2 表示列表的倒数第二个元素,以此类推。

          > lrange key start end
        • 返回列表的长度

          > llen key
        • 用于移除并返回列表的第一个元素

          > lpop key
        • 用于移除并返回列表的最后一个元素

          > rpop key
      • 删除数据

        > del key
    • set

      • 添加数据

        > sadd key value1 value2 [...]
      • 计算长度

        > scard key
      • 删除数据

        del key
      • 命令返回给定集合之间的差集

        sdiff  key1 key2
      • 移除并返回集合中的一个随机元素

        > spop key
    • zset

      • 添加数据

        > zadd key score value
      • 获取数据个数

        > zcard key
      • 删除数据

         

推荐阅读