码迷,mamicode.com
首页 > 其他好文 > 详细

「Redis 笔记」数据类型

时间:2017-11-21 14:59:34      阅读:117      评论:0      收藏:0      [点我收藏+]

标签:add   序列   系统   字符串   二进制安全   mem   sqli   rem   zadd   

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 笔记」数据类型

标签:add   序列   系统   字符串   二进制安全   mem   sqli   rem   zadd   

原文地址:http://www.cnblogs.com/hiwangzi/p/7872019.html

(0)
(1)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!