【Redis基础】03 数据类型

目录


1. 概述

参考:

  1. <redis入门指南 第2版>
  2. Redis Doc

1.1. 数据类型概述

  1. 数据类型及应用场景
    数据类型

1.2. 结构 原理

  • Redis结构:
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2t1Y4axx-1627979088350)(https://i.loli.net/2021/07/29/ABlobEkq7ieMD8V.png)]

2. 字符串类型 string


3. 散列类型 hash


3.1. 概述

  1. 字段值仅支持 字符串;
  2. 散列类型不能嵌套其他的数据类型。一个散列类型键可以包含至多232−1个字段。

3.2. 基本命令

  • 命令:
    == 设置值 ==
        set key value
    
    == 取值 ==
        get key
    
    hset
        1. 不区分插入与更新操作. 当插入数据时,返回1; 更新字段时,返回0;
    
    == 多个字段时:
    -- 获取键中所有字段和字段值: --多个字段组成时
        getall
    -- 判断字段是否存在:
        hexists key field
    -- 当字段不存在时赋值:
        hsetnx key field value
        //与hset命令近似, 区别: 如果字段已经存在,hsetnx不执行任何操作;
    
    == 数字
    --1. 增加数字
        hincrby key field increment
        --备注:
            1. 散列类型没有 HINCR 命令,但是可以通过 HINCRBY key field 1来实现。
    
    == 删除字段
        hdel key field...     //h --hash
    
    

4. 列表 list


5. 集合类型 set


5.1. 概述


5.2. 基本命令

  • 命令
    --1. 增加删除元素
        sadd key member...
        srem key member...    --remove  移除
    
    --2. 获得集合的所有元素
        smembers letters
    
    --3. 判断元素是否在集合中
        sismember key member
    
    --4. 集合间运算
        sdiff  key [key, ...]    --差集运算; 支持同时传入多个键;
        sinter key [key, ...]    --多个集合的交集运算;
        sunion key [key, ...]    --多个集合的并集运算;
    --5. 获取集合中的元素个数
        scard key
    
    --6. 进行集合运算并将结果存储
        sdiffstore  destination key [key ...]
        sinterstore destination key [key ...]
        sunionstore destination key [key ...]
        -- 不返回运算结果,将结果直接存储在destination中;
    
    --7. 随机获取集合中的元素
        srandmember key [count]
        --正数: 随机获取count个不重复的元素;
        --负数: 获取的元素有可能相同;
    
    --8. 从集合中弹出一个元素
        spop key
        --随机选择一个元素弹出;
    
    

6. 有序集合类型 sorted set


6.1. 概述

  1. 有序集合与列表类型 比较
    1.

6.2. 基本命令

  • 基本命令
    --1. 增加元素
        zadd key score member [score member ...]
        -- 添加一个元素及该元素的分数; 若存在则会用新的分数来替换原有的分数;
        -- 返回新添加到集合中的元素个数;
        -- 分数可以使整数, 也可以是双精度浮点数;
        -- 其中+inf和-inf分别表示正无穷和负无穷。
    --2. 获得元素的分数
        zscore key member
    
    --3. 获得排名在某个范围的元素列表
        zrange key start stop [withscores]
        zrevrange key start stop [withscores]     --reverse
        --zrange命令 所有从0开始,负数代表从后向前查找;
        --ZRANGE命令的时间复杂度为O(log n+m)
            -- (其中n为有序集合的基数,m为返回的元素个数)。
        --zrevrange 按照元素从大到小进行排列; zrange按照元素从小到大排列;
    
    --4. 获取指定分数范围内的元素
        zrangebyscore key min max [withscores] [limit off count]
        --按照元素从小到大的顺序返回分数在min和max(包含min和max)的元素;
        --示例:
            ZRANGEBYSCORE scoreboard (80 +inf  --(80,无穷大)
    
    --5. 增加某个元素的分数
        zincrby key increment member
        --可以增加一个元素的分数; 返回值是更改后的分数;
        --如果指定的元素不存在,Redis 在执行命令前会先建立它并将它的分数赋为 0 再执行操作。
    
    --6. 获得集合中元素的数量
        zcard key
    
    --7. 获得指定范围内的元素个数
        zcount key min max
        zcount scoreboard 90 100
    
    --8. 删除一个或多个元素
        zrem key member [member]
        --返回值是删除的元素数量;
    
    

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值