3、Redis的管道 与 发布订阅

文章介绍了在处理大量Redis操作时如何利用管道技术提高效率,通过示例展示了在Linux环境下使用nc命令和文件读写进行批量操作。同时,讨论了Redis的发布订阅功能在聊天室场景中的应用,以及数据流经redis、redis2、service、kafka到db的处理过程。
摘要由CSDN通过智能技术生成

当我们对需要对redis操作时,会建立一个连接,一条指令一个。如果要进行海量操作的话,这样就会对网络效能大打折扣,所以有了一个管道的概念:

管道就是将多条redis指令打包发送,用一次网络通讯,进行批量操作。

linux实操:

1、使用字符串方式读写

首先下载nc #yum install nc

发送多条指令#echo -e "set name laohei\nget name" | nc localhost 6379

*nc就是建立冷连接,在没有cli的情况下也能操作redis

*echo -e支持使用\n换行

2、使用文件读写

首先需要下载unix2dos #yum install unix2dos

下载这个的原因就是linux和windows读换行的格式不一样,在windows中使用\n在linux中使用\r\n两个本质的区别造成了文本之间不能正确读写,unix2dos能有效解决此问题。

发送文本指令:#cat d1.txt | redis-cli --pipe

发布订阅:

使用publish 订阅一个 消息

使用subscribe 发送一个消息

使用场景,聊天室,当用户发布消息之后,其他订阅消息的人都会收到通知。

如果想要查看历史聊天记录,则需要再定义一个redis

正在使用聊天室的人能看到当前订阅消息,用redis直接完成

然后redis发送一个消息到redis2,redis2使用sortedset给消息设置时间

redis再发送一个消息到service

service发送到kafka

kafka发送到db处理

处理后发送到数据库

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值