Redis中的List、Set、Hash实际使用场景

2021-06-18  本文已影响0人  Java壹码平川

Redis中的List、Set、Hash实际使用场景,用Redis搞个抽奖活动?

List 结构

常见的操作:

# 从头到尾取出key为:testlist 的元素
LRANGE testlist 0 -1
LPUSH testlist 1 2 3 4
# 这里容易理解成摆放顺序为 1 2 3 4,实则不然。
LRANGE testlist 0 -1
1) "4"
2) "3"
3) "2"
4) "1"

LTRIM:LTRIM key start stop,截取元素,类似 java List 的 subList(),截取的下标包前不包后。

Redis value存放List类型使用场景:

  1. 基于 redis 反向命令实现先进后出的队列结构:like:lpush,lpop,基于Redis的消息队列其实就是这个原理。
  2. 基于 redis 同向命令实现后进先出的栈结构:like:lpush,lpop
  3. 基于下标操作的数组结构
  4. 阻塞队列
  5. 推荐文章列表的分页查询。

Set 结构

常用命令操作:

Set结构的使用场景:

Hash 结构

常用命令操作:

Hash结构的使用场景:

userId1:{
  “productId1”:2
  “productId2”:3
}

但是购物车商品明细数据并没有得到加速,商品信息还要二次查询数据库,面向对象再优化一把。把商品信息和购买数量再包装一层呗。

userId1:
{
  {
  “count_productId1”:2,
  “info_productId1”:"{}"
},
  {
  “count_productId2”:3,
  “info_productId2”:"{}"
},
}

好了今日 Redis的List、Set、Hash到此结束。

下期规划:

Redis中的消息订阅以及pipeline,敬请期待。

上一篇下一篇

猜你喜欢

热点阅读