iv016-Redis传统五大数据类型落地应用

1.string

1.1最常用

  • set key value
  • get key
  • mset k1 v1 k2 v2
  • mget k1 k2

1.2数值增减

  • 递增数字:INCR key
  • 增加指定的整数:INCRBY key increment
  • 递减数值:DECR key
  • 减少指定的整数:DECR key decrement

1.3获取字符串的长度

  • STRLEN key

1.4分布式锁

  • setnx key value
  • set key value [EX seconds] [PX milliseconds] [NX|XX]
  • EX:key在多少秒之后过期
  • PX:key在多少毫秒之后过期
  • NX:当key不存在的时候,才创建key,效果等同于setnx
  • XX:当key存在的时候,覆盖key

1.5应用场景

  • 商品编号,订单号,客户编号采用INCR命令生成
  • 是否喜欢的文章

2.hash

  • Map<String,Map<Object,Object>>
  • 一次设置一个字段值:HSET key field value
  • 一次获取一个字段值:HGET key field
  • 一次设置多个字段值:HMSET key field value [field value...]
  • 一次获取多个字段值:HMGET key field [field...]
  • 获取所有字段值:hgetall key
  • 获取某个key内的全部数量:hlen
  • 删除一个key:hdel
  • 应用场景:购物车早期,当前中小厂可用:

3.list

  • 向列表左边添加元素:LPUSH key value [value...]
  • 向列表右边添加元素:RPUSH key value [value...]
  • 查看列表:LRANGE key start stop
  • 获取列表中元素的个数:LLEN key
  • 应用场景:微信文章订阅公众号:

4.set

  • 添加元素:SADD key member [member...]
  • 删除元素:SREM key member [member...]
  • 获取集合中的所有元素:SMEMBERS key
  • 判断元素是否在集合中:SISMEMBER key member
  • 获取集合中的元素个数:SCARD key
  • 从集合中随机弹出一个元素,元素不删除:SRANDMEMBER key [数字]
  • 从集合中随机弹出一个元素,出一个删一个:SPOP key [数字]
  • 集合运算:
    • 集合的差集运算A-B:属于A但不属于B的元素构成的集合(SDIFF key [key...])
    • 集合的交集运算:属于A同时也属于B的共同拥有的元素构成的集合(SINTER key [key...])
    • 集合的并集运算:属于A或者属于B的元素合并后的集合(SUNION key [key...])
  • 应用场景:
    • 微信抽奖小程序:
    • 微信朋友圈点赞:
    • 微博好友关注社交关系:
      共同关注的人:

      QQ内推可能认识的人:

5.zset

  • 向有序集合中加入一个元素和该元素的分数
  • 添加元素:ZADD key score member [score member...]
  • 按照元素分数从小到大的顺序,返回索引从start到stop之间的所有元素:ZRANGE key start stop [WITHSCORES]
  • 获取元素的分数:ZSCORE key member
  • 删除元素:ZREM key member [member...]
  • 获取指定分数范围的元素:ZRANGEBYSCORE key min max [WITHSCORES] [LIMIT offset count]
  • 增加某个元素的分数:ZINCRBY key increment member
  • 获取集合中元素的数量:ZCARD key
  • 获得指定分数范围内的元素个数:ZCOUNT key min max
  • 按照排名范围删除元素:ZREMRANGEBYRANK key start stop
  • 获取元素的排名:从小到大:ZRANK key member,从大到小:ZREVRANK key member
  • 应用场景:
    • 根据商品销售对商品进行排序显示:
    • 抖音热搜:
原文地址:https://www.cnblogs.com/everyingo/p/14565071.html