前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Redis的各种数据类型实践-ZSet

Redis的各种数据类型实践-ZSet

作者头像
用户4464623
发布2020-09-24 10:34:05
4520
发布2020-09-24 10:34:05
举报
文章被收录于专栏:晨曦破晓の家晨曦破晓の家

zset是有序的set集合,通过传入的分值进行排序

image

ZSet常用操作

代码语言:javascript
复制
ZADD key score member [[score member]…]//往有序集合key中加入带分值元素
ZREM key member [member …]  //从有序集合key中删除元素
ZSCORE key member //返回有序集合key中元素member的分值
ZINCRBY key increment member//为有序集合key中元素member的分值加上increment 
ZCARD key//返回有序集合key中元素个数
ZRANGE key start stop [WITHSCORES]//正序获取有序集合key从start下标到stop下标的元素
ZREVRANGE key start stop [WITHSCORES]//倒序获取有序集合key从start下标到stop下标的元素

Zset集合操作

代码语言:javascript
复制
ZUNIONSTORE destkey numkeys key [key ...] //并集计算 
ZINTERSTORE destkey numkeys key [key …]//交集计算

应用场景

我们都知道微博热点,新闻热榜,投票排行榜等都有一个排名的概念,如下图百度热榜,展示的是实时的点击量比较高的新闻(假设这些新闻的ID为1001-1010),每个新闻都有一个热点值,一般按点击量,1001这个新闻热点是484W,1002这个是467W,实时的,可能等会再看就不一样了,那么我们看下用Redis咋实现。

image

1)点击新闻

每次有人点击这个新闻,那么久ius给他的分值加1

ZINCRBY hotNews:20200722 1 1001 //新闻ID为1001的新闻分值加一 2)展示当日排行前十

取集合中的前10个元素

ZREVRANGE hotNews:20200722 0 10 WITHSCORES 3)七日热点榜单计算

ZUNIONSTORE hotNews:20200715-20200721 7 hotNews:20200715 hotNews:20200716... hotNews:20200721 4)展示七日排行前十

ZREVRANGE hotNews:20190813-20190819 0 10 WITHSCORES

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • ZSet常用操作
  • Zset集合操作
  • 应用场景
相关产品与服务
云数据库 Redis
腾讯云数据库 Redis(TencentDB for Redis)是腾讯云打造的兼容 Redis 协议的缓存和存储服务。丰富的数据结构能帮助您完成不同类型的业务场景开发。支持主从热备,提供自动容灾切换、数据备份、故障迁移、实例监控、在线扩容、数据回档等全套的数据库服务。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档