一、引言

趁着国庆节把redis高级应用都写完吧,其实都很简单。

redis高级应用:安全性、事务处理、持久化操作,订阅/发布、虚拟内存

安全性其实就是在连接redis时,需要一个密码认证,可以使用config set requirepass来设置临时密码,也可以更改redis.conf配置文件永久生效。

事务处理、持久化操作之前也介绍过了,剩下订阅/发布、虚拟内存今天咱们就来学习一把。

二、redis订阅/发布消息(pub/sub)

subscribe:订阅消息 、 publish:发布消息

很简单,比如说有一个qq群号是:10010 ,一个用户加入了10010的qq群,就相当于执行了 subscribe订阅了这个qq群。当使用publish发布消息指定到10010这个群时,之前订阅了这个群的用户,便能接收到发布的消息。

java基于redis订阅/发布消息实现聊天室功能-LMLPHP

java基于redis订阅/发布消息实现聊天室功能-LMLPHP

java基于redis订阅/发布消息实现聊天室功能-LMLPHP

 

三、实战实现聊天案例

这个订阅/发布一共就两个命令,当时小编就在想,这个订阅/发布适用在哪些场景呢? 这个订阅肯定能实现群聊,然后小编在国庆假前,抽空实现了一下。 

实现思路:在项目启动后,初始化redis订阅固定的房间号,前端采用轮询的方式去请求接收到的消息。发送也是固定发送到固定的房间号,这样就能实现群聊啦。 这是简单实现群聊的功能,没做复杂,仅供参考。 

以下图片是演示截图,多个客户端进入网页就能群聊了,想要源码的童鞋评论邮箱吧,私发你们。

java基于redis订阅/发布消息实现聊天室功能-LMLPHP

10-07 14:52