001-Redis核心数据结构分析

数据结构

5大核心数据结构

在这里插入图片描述
其他比如RedisGeo就是对基本数据类型zset的包装扩展
所以我们先了解5中基本类型才能对Redis有较深入的分析

常见应用场景

string

  1. 单值缓存
    SET key value
    GET key
  2. 对象缓存
    MSET key1 value1 key2 value2
    MGET key1 key2
  3. 不存在则设置
    SETNX key value //成功返回1,失败返回0
  4. 删除
    DEL key
  5. 设置超时时间
  6. 原子计数器
    INCR key [count] //value 内容+1或者+count

Hash

可以理解为一个嵌套的map结构
Map<Map<String, String>>
下边是Hash结构的示意图:
在这里插入图片描述

  1. 存储
    HSET key field value
  2. 只有不存在才存储
    HSETNX key field value
  3. 获取 RedisKey中对应fieldKey的值
    HGET key field
  4. 批量存储多个field key关系
    HMSET key field value [field value … ]
  5. 批量获取RedisKey中对应fieldKey的值
    HMGET key field [field … ]
  6. 删除RedisKey中fieldKey对应的键值
    HDEL key field [field … ]
  7. 返回RedisKey中field的数量
    HLEN key
  8. 返回RedisKey中所有的键值
    HGETALL key
  9. 对RedisKey中对应的fieldKey做增量increment
    HINCRBY key field increment

List

在这里插入图片描述

  1. 从左边插入作为head
    LPUSH key value [value … ]
  2. 从右边插入作为tail
    RPUSH key value [value … ]
  3. 查询并移除head元素
    LPOP key
  4. 查询并移除tail元素
    RPOP key
  5. 查询索引区间内所有元素
    LRANGE key start stop
  6. 查询并移除head元素,如果没有则阻塞等待timeout秒
    BLPOP key timeout
  7. 查询并移除tail元素,如果没有则阻塞等待timeout秒
    BRPOP key timeout

Set

主要是对集合进行操作

基本操作
  1. 不存在则新增
    SADD key value [value … ]
  2. 删除
    SREM key value [value …]
  3. 获取所有
    SMEMBERS key
  4. 获取元素个数
    SCARD key
  5. 判断是否存在
    SISMEMBER key value
  6. 读取集合中count个元素
    SRANDMEMBER key [count]
  7. 出队集合中count个元素
    SPOP key [count]
运算操作
  1. 集合取交集
    SINTER key [key …]
  2. 集合取并集
    SUNION key [key …]
  3. 集合取差集,假设有集合A,B,C:差集=A-(B和C的并集)
    SDIFF key [key …]
  4. 计算后并存入新集destination中
    *STORE destination key [key …]

ZSET (sorted-Set)

按分数排序的有序集合
在这里插入图片描述

基本操作
  1. 插入
    ZADD key score member [[score member]…]
  2. 删除
    ZREM key member [member …]
  3. 返回元素的分值
    ZSCORE key member
  4. 给value分值+increment
    ZINCRBY key increment member
  5. 返回元素的个数
    ZCARD key
  6. 正序获取范围元素
    ZRANGE key start stop [WITHSCORES]
  7. 倒叙获取范围元素
    ZREVRANGE key start stop [WITHSCORES]
计算操作
  1. 并集并存储
    ZUNIONSTORE destkey numkevs key [key …]
  2. 交集并存储
    ZINTERSTORE destkey numkevs key [key …]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值