「Redis 笔记」数据类型

Posted WANG!

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了「Redis 笔记」数据类型相关的知识,希望对你有一定的参考价值。

REmote DIctionary Server(Redis),一个 key-value 存储系统。

数据类型

Redis 支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合)。

  • string
    • string 类型是二进制安全的。意思是 redis 的 string 可以包含任何数据。比如 jpg 图片或者序列化的对象。
    • string 类型是 Redis 最基本的数据类型,一个键最大能存储 512MB。
    • 相关命令:set, get

      127.0.0.1:6379> set str1 hello
      OK
      127.0.0.1:6379> get str1
      "hello"
  • hash
    • hash 是键值对的集合。
    • 每个 hash 可以存储 2^32 - 1 个(超过 40 亿个)键值对。
    • 相关命令:hmset, hmget, hgetall

      127.0.0.1:6379> hmset hashmap1 name hiwangzi blog hiwangzi.com
      OK
      127.0.0.1:6379> hmget hashmap1 name
      1) "hiwangzi"
      127.0.0.1:6379> hgetall hashmap1
      1) "name"
      2) "hiwangzi"
      3) "blog"
      4) "hiwangzi.com"
  • list
    • list 是字符串列表,按插入顺序排序
    • 列表的最大长度为 2^32 - 1 个元素。
    • 相关命令:lpush, lrange

      127.0.0.1:6379> lpush list1 a b
      (integer) 2
      127.0.0.1:6379> lrange list1 0 100
      1) "b"
      2) "a"
      127.0.0.1:6379> lpush list1 c
      (integer) 3
      127.0.0.1:6379> lrange list1 0 2
      1) "c"
      2) "b"
      3) "a"
  • set
    • set 是字符串的无序集合。
    • 添加,删除和验证成员是否存在的时间O(1)复杂性。
    • set 的最大成员数量为 2^32 - 1 个元素。
    • 相关命令:sadd, smembers

      127.0.0.1:6379> sadd set1 a b
      (integer) 2
      127.0.0.1:6379> smembers set1
      1) "b"
      2) "a"
      127.0.0.1:6379> sadd set1 c
      (integer) 1
      127.0.0.1:6379> smembers set1
      1) "b"
      2) "c"
      3) "a"
      127.0.0.1:6379> sadd set1 a
      (integer) 0
      127.0.0.1:6379> smembers set1
      1) "b"
      2) "c"
      3) "a"
      
      # a 被添加了两次,但集合有唯一属性,所以只会存储一个。
  • zset
    • zset = sorted set
    • Redis可排序集合类似于Redis集合,是不重复的字符集合。 不同之处在于,排序集合的每个成员都与分数相关联,这个分数用于按最小分数到最大分数来排序的排序集合。虽然成员是唯一的,但分数值可以重复。
    • 相关命令:zadd, zrangebyscore

      redis 127.0.0.1:6379> zadd yiibaiset 0 redis
      (integer) 1 
      redis 127.0.0.1:6379> zadd yiibaiset 0 mongodb
      (integer) 1 
      redis 127.0.0.1:6379> zadd yiibaiset 1 sqlite
      (integer) 1 
      redis 127.0.0.1:6379> zadd yiibaiset 1 sqlite
      (integer) 0 
      redis 127.0.0.1:6379> ZRANGEBYSCORE yiibaiset 0 1000  
      1) "mongodb" 
      2) "redis" 
      3) "sqlite"

参考

以上是关于「Redis 笔记」数据类型的主要内容,如果未能解决你的问题,请参考以下文章

Redis-01-笔记

Redis-01-笔记

「Redis 笔记」数据类型

Redis笔记整理:Redis安装配置与数据类型操作

Redis学习笔记 ---- PHP操作Redis各数据类型

redis笔记-string数据类型