zoukankan      html  css  js  c++  java
  • 初识Redis系列之三:Redis支持的数据类型及使用

    支持的数据类型有种:

    string(字符串)、hash(哈希)、list(列表)、set(集合)及zset(sorted set:有序集合);

    下面分别对这几种类型进行简单的Redis存取操作

    1:string(字符串)

    几种里面最常用,也是最简单的类型,使用方式如下:

    redis 127.0.0.1:6379> SET name "runoob"
    OK
    redis 127.0.0.1:6379> GET name
    "runoob"

    注意:一个键最大能存储512MB。这个容量已经是相当大了,基本不可能超过,纯字符串哪里会超过512M的,所以放心使用即可!

    2:hash(哈希)

    哈希是一个键名对类型的,键和值都是string类型的,适合存储一个对象,例如我要存储一个叫zhangsan的人,年龄 26岁,身高180:

    127.0.0.1:6379> HMSET zhangsan age 26 height 180
    OK
    127.0.0.1:6379> HGETALL zhangsan
    1) "age"
    2) "26"
    3) "height"
    4) "180"
    每个 hash 可以存储 232 -1 键值对(40多亿),也完全够用了

    3:list(列表)

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

    redis 127.0.0.1:6379> lpush runoob redis(从最左边插入)
    (integer) 1
    redis 127.0.0.1:6379> rpush runoob mongodb(从最右边插入)
    (integer) 2
    redis 127.0.0.1:6379> lpush runoob rabitmq(从最左边插入)
    (integer) 3
    redis 127.0.0.1:6379> lrange runoob 0 10(返回第1个到第10个值,lrange runoob 0 -2->表示从左边第一个到右边倒数第二个)
    1) "rabitmq"
    2) "redis"
    3) "mongodb"

    4:set(集合)

    Redis的Set是string类型的无序集合。无序但唯一,不重复

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

    添加一个string元素到,key对应的set集合中,成功返回1,如果元素已经在集合中返回0,key对应的set不存在返回错误。

    redis 127.0.0.1:6379> sadd runoob redis mongodb
    (integer) 1
    redis 127.0.0.1:6379> sadd runoob rabitmq
    (integer) 1
    redis 127.0.0.1:6379> sadd runoob rabitmq
    (integer) 0
    redis 127.0.0.1:6379> smembers runoob
    1) "rabitmq"
    2) "mongodb"
    3) "redis"

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

    5:zset(sorted set:有序集合)

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

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

    zset的成员是唯一的,但分数(score)却可以重复。

    zadd key score member (语法)
    redis 127.0.0.1:6379> zadd runoob 0 redis 1 mongodb
    (integer) 2
    redis 127.0.0.1:6379> zadd runoob 2 rabitmq
    (integer) 1
    redis 127.0.0.1:6379> zadd runoob 2 rabitmq
    (integer) 0
    redis 127.0.0.1:6379> ZRANGEBYSCORE runoob 0 1000 (从0到1000分按分数排序)
    
    1) "redis"
    2) "mongodb"
    3) "rabitmq"

  • 相关阅读:
    Elementary Methods in Number Theory Exercise 1.2.25
    Elementary Methods in Number Theory Exercise 1.2.14
    图解欧几里德算法
    图解欧几里德算法
    Elementary Methods in Number Theory Exercise 1.2.14
    Android中的长度单位详解(dp、sp、px、in、pt、mm)
    分享下多年积累的对JAVA程序员成长之路的总结
    android异常之都是deamon惹的祸The connection to adb is down, and a severe error has occured.
    TomatoCartv1.1.8.2部署时报错
    JavaScript浏览器对象之二Document对象
  • 原文地址:https://www.cnblogs.com/wolfworker/p/7296195.html
Copyright © 2011-2022 走看看