redis我记不住的那些命令(八)
创始人
2024-04-19 12:05:21
0

背景:我记不住那么多命令,又是Linux命令,又是Git命令,又是kubernetes的命令,又是maven命令,又是redis命令。所谓好记性不如烂笔头,记下来吧。

一、发布publish/订阅subscribe

发布/订阅的实现过于简单,因为它只是分发消息,无法记录历史消息,例如网络断开、Redis宕机等消息就会丢弃,而在Redis5.0 新增了一个Redis Stream的数据结构,主要用于消息队列(MQ,message queue),它提供了消息的持久化和主备复制功能。

1.  publish:向给定频道发送消息

2.  subscribe:订阅给定的一个或多个频道

3.  unsubscribe:退订给定的一个或多个频道,如果执行时没有给定任何频道,则退订所有频道

4.  psubscribe:订阅给定的与pattern相匹配的频道

5.  punsubscribe:退订给定的与pattern相匹配的频道,如果执行时没有给定任何频道,则退订所有频道

# 1.  subscribe:订阅给定的一个或多个频道
127.0.0.1:6379> subscribe mychannel
subscribe
mychannel
1# 2.  publish:向给定频道发送消息
# 再另外启动一个shell连接redis并执行下列命令
127.0.0.1:6379> publish mychannel "hello,world"
1# 返回前一个shell窗口,则显示
127.0.0.1:6379> subscribe mychannel
subscribe
mychannel
1
message
mychannel
hello,world# 3.  unsubscribe:退订给定的一个或多个频道,如果执行时没有给定任何频道,则退订所有频道
127.0.0.1:6379> unsubscribe mychannel# 4.  psubscribe:订阅给定的与pattern相匹配的频道
略# 5.  punsubscribe:退订给定的与pattern相匹配的频道,如果执行时没有给定任何频道,则退订所有频道
略

二、Hyperloglog

1. pfadd : 添加元素到hyperloglog中

2. pfcount:获取hyperloglog中的基数的估算值

3. pfmerge:将多个hyperloglog合并为一个hyperloglog

pf代表是这个数据结构的发明人Philippe Flajolet

hyperloglog可以用于统计一个网站的pv(unique view),也可以使用set来进行统计,这两个数据结构都有自动去重的功能。hyperloglog所占空间较小只需12KB内存即可,实现原理这里不详细展开。

如果使用set,当一个请求来了后sadd将用户id或ip地址放进去,并由scard统计数量即可,但是当一个页面有几千万的uv,这个很大的set集合就比较浪费空间。所以就引出了hyperloglog,它提供不精确的去重统计方案,标准误差在0.81%,可以满足上述UV统计。

用法与set相似,pfadd类似于sadd,pfcount类似于scard。

# 1. pfadd : 添加元素到hyperloglog中
127.0.0.1:6379> pfadd myUV xiaoming
1
127.0.0.1:6379> pfadd myUV lihua
1
127.0.0.1:6379> pfadd myUV zhanghong
1127.0.0.1:6379> pfadd youUV xiaoming
1
127.0.0.1:6379> pfadd youUV lihua
1
127.0.0.1:6379> pfadd youUV liuwei
1
# 2. pfcount:获取hyperloglog中的基数的估算值
127.0.0.1:6379> pfcount myUV
3
127.0.0.1:6379> pfcount youUV
3# 3. pfmerge:将多个hyperloglog合并为一个hyperloglog
127.0.0.1:6379> pfmerge threeUV myUV youUV
OK
127.0.0.1:6379> pfcount threeUV
4

相关内容

热门资讯

李光洁32天走7500公里吃8... 李光洁32天走7500公里吃8城,《拿一座城市下酒》这部纪录片怎么样?我觉得这部纪录片非常好,观看的...
每我世如你果只没界喜就欢的生一... 每我世如你果只没界喜就欢的生一爱有你过在想会。把这22个字组成一句话。我想过,如果在每一生只喜欢你,...
调查校园里的植物和动物说说有哪... 调查校园里的植物和动物说说有哪些动植物?可以分成几类?兰花,梅花可人丌··植物:乔木(杨树、柳树、银...
血脂高的原因? 血脂高的原因?血脂高的原因高血脂的诱因包括原发性和继发性两种:原发性高血脂症的病因:1、遗传因素。2...
为什么孩子总是重复看同一集动画... 为什么孩子总是重复看同一集动画片?是在传递这3个信号 小孩子爱看动画片是非常普遍的,动画片带给他们动...
终极三国里 49集刘备为什么这... 终极三国里 49集刘备为什么这么做?有没有官方回答?下集自己看吧 现在不会有官方回答的哟第一:可能真...
西式糕点制作大全的内容简介 西式糕点制作大全的内容简介《西式糕点制作大全》主要介绍了制作甜点的基本知识,例如各种制作工具,制作点...
逻辑思维又是什么?就是推理吗,... 逻辑思维又是什么?就是推理吗,怎么培养!?逻辑思维是一种严格分析思维。不一定是推理。推理是逻辑思维的...
囊萤夜读有一句俗语就是出自这个... 囊萤夜读有一句俗语就是出自这个故事你知道是什么吗?囊萤映雪 ( náng yíng yìng xuě...
什么是不伦恋情? 什么是不伦恋情?什么是不伦恋情.,?男跟女年龄相差很大?还是?男的比女的小?还是老夫少妻?是近亲谈恋...
有书名带晨星的嘛? 有书名带晨星的嘛?有书名带晨星的嘛?晨星传这本书。漫画书晨星物语
如果有些事情说不出口怎么办? 如果有些事情说不出口怎么办?烦恼皆是因为自己过分的执着 即使你在这样子下去 更不就不会有好的结果 为...
有哪些类似于《非自然死亡》题材... 有哪些类似于《非自然死亡》题材的日剧推荐?非自然死亡的题材电影确实不多,电视剧的话也不好找啊。不喜欢...
素书全集的内容简介 素书全集的内容简介 本书采用了《素书》的权威原著,参照《四库全书》并加上了宋代宰相张商英的注和清代王...
【世纪花园】小区对口的学校有重... 【世纪花园】小区对口的学校有重点小学和初中吗?世纪花园东区里有未来强者幼儿园,小区南边有个华兴小区,...
东南大学现有的专业中有哪些是属... 东南大学现有的专业中有哪些是属于老东南的1928年学校改名为国立中央大学,设理、工、医、农、文、法、...
一个男人一有钱就请朋友吃饭,没... 一个男人一有钱就请朋友吃饭,没钱就又说,买东西还赊账,商店里的老板都找上门来了?像陵念前这种男人的话...
坟上栽什么草好? 坟上栽什么草好?坟地种什么草好耐旱坟上栽野蕨草、扎根不深、浅根植物、可以固土、南方雨水多、不会造成坟...
关于国富潜力基金 关于国富潜力基金我9月24日上午买的国富基金,申购价格是9月24日开盘的价格吗?还是9月28日开盘的...
我是一个高中生。想学武术。在学... 我是一个高中生。想学武术。在学校没什么时间。是练散打还是跆拳道好。我是一个高中生。想学武术。在学校没...