• Redis之基本数据类型


    Redis 基本数据类型

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

    redis类型含义
    String 字符串
    Hash 哈希
    List 列表
    Set 集合
    Sorted set 有序集合

    String 字符串

    string是redis最基本的类型,一个key对应一个value。

    string类型是二进制安全的。意思是redis的string可以包含任何数据。比如jpg图片或者序列化的对象

    string类型是Redis最基本的数据类型,一个键最大能存储512MB。

    redis 127.0.0.1:6379> SET name "itcast"
    OK
    redis 127.0.0.1:6379> GET name
    "itcast"
    127.0.0.1:6379> type name
    string
    

    删除键值

    redis 127.0.0.1:6379> del name
    

    删除这个 key 及对应的 value

    验证键是否存在

    redis 127.0.0.1:6379> exists name
    (integer) 0
    

    在上面的例子中,SET 和 GET 是 Redis STRING命令,name 和 itcast 是存储在 Redis 的键和字符串值。

    Hash 哈希

    Redis hash 是一个键值对集合。

    Redis hash是一个string类型的fieldvalue的映射表,hash特别适合用于存储对象。

    127.0.0.1:6379> HMSET my_hash_table username itcast age 18 sex male
    OK
    127.0.0.1:6379> HGETALL my_hash_table
    1) "username"
    2) "itcast"
    3) "age"
    4) "18"
    5) "sex"
    6) "male"
    

    在上面的例子中,哈希数据类型用于存储包含用户基本信息的用户对象。

    这里 HSET,HGETALL 是 Redis HASHES命令, 同时 my_hash_table 也是一个键。

    List 列表

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

    redis 127.0.0.1:6379> lpush tutorial_list redis
    (integer) 1
    redis 127.0.0.1:6379> lpush tutorial_list mongodb
    (integer) 2
    redis 127.0.0.1:6379> lpush tutorial_list rabbitmq
    (integer) 3
    redis 127.0.0.1:6379> lrange tutorial_list 0 10
    
    1) "rabitmq"
    2) "mongodb"
    3) "redis"
    

    列表最多可存储 232 - 1 元素 (4294967295, 每个列表可存储40多亿)。

    Set 集合

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

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

    在 Redis 可以添加,删除和测试成员存在的时间复杂度为 O(1)。

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

    注:在上面的例子中 rabitmq 被添加两次,但由于它是只集合具有唯一特性。

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

    zset(sorted set:有序集合)

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

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

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

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

    全部数据类型相关操作指令在 http://redis.cn/commands.html 有详细介绍

  • 相关阅读:
    mysql关联查询
    文本框,下拉框,单选框只读状态属性
    sql索引实例
    sql视图实例
    SQL触发器实例
    存储过程实例
    sql 、linq、lambda 查询语句的区别
    LINQ中的一些查询语句格式
    面试宝典
    SQL常用语句
  • 原文地址:https://www.cnblogs.com/wzjbg/p/6596749.html
Copyright © 2020-2023  润新知