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"

  • 相关阅读:
    正则表达式
    centos搭建好了lamp,能访问.html文件,无法访问.php文件
    错误:rpmdb: BDB0113 Thread/process 15381/140029102753600 failed: BDB1507 Thread died in Berkeley DB library 错误:db5 错误(-30973) 来自 dbenv->failchk:BDB0087 DB_RUNRECOVERY: Fatal error, run dat
    wget和yum下载慢,更换阿里镜像源
    TypeError: Cannot read property 'getUserMedia' of undefined
    vscode使用SFTP同步代码到Windows上vmvare搭建的centos服务器上
    react-native-vector-icons的使用说明
    react-native安装和使用tabbar
    Super expression must either be null or a function, not undefined _inherits
    用链表排序,并删除指定数字
  • 原文地址:https://www.cnblogs.com/wolfworker/p/7296195.html
Copyright © 2011-2022 走看看