集群聊天服务器(13)redis环境安装和发布订阅命令

目录

环境安装

sudo apt-get install redis-server

先启动redis服务

bash 复制代码
/etc/init.d/redis-server start

默认在6379端口上

redis是存键值对的,还可以存链表、数组等等复杂数据结构

而且数据是在内存上存储的,效率非常高

订阅

订阅了一个13

订阅通道号以及发布消息

redis发布-订阅的客户端编程

环境配置

C++对应的则是hiredis

https://github.com/redis/hiredis

github上下载压缩包传到ubuntu中,然后make

sudo make install

然后把动态库拷贝到lib目录下

客户端编程

上报就是一个通道加上字符串(具体内容)

头文件那里一直找不到,反复搞json配置文件

后来发现是连接延迟

然后重启了一下vscode,就不报错了

登录成功就订阅id作为channel

注销就取消订阅

异常退出也取消订阅

如果用户不在本地服务器上在线,那就发布到redis上对应的用户idchannel上,由订阅的接收,群组聊天也是这个流程

功能测试

先启动redis

bash 复制代码
/etc/init.d/redis-server start

启动nginx

nginx启动需要root权限

然后用netstat -tanp查看一下端口,8000和6379全部打开了

然后打开两个客户端两个服务器

一登录就报段错误

修改了一下redis.cpp

而且都已经连上redis

咋没收到消息

感觉onechat出问题了

不需要这个标识在线了

只能在单台服务器通信,不能跨服务器通信

调试了一下我发现已经接收到了,但是没有打印出来

其实两边都收到消息了,但是没有在shell中打出来,没有接收到

相关推荐
其实防守也摸鱼2 小时前
推荐一个自动化教育SRC漏洞挖掘系统--AutoHunter
运维·开发语言·人工智能·学习·安全·web安全·自动化
九硕智慧建筑一体化厂家2 小时前
智慧建筑高效管控!楼宇自控系统赋能新能源园区智能运维
运维·人工智能·笔记·智慧城市
咯哦哦哦哦3 小时前
linux so库(arm)对比分析
linux·运维·arm开发
zfoo-framework8 小时前
redis基于指定6.0.9 tag新建学习分支
redis
星野川崎2069 小时前
电商多店运维:云机24小时挂机频繁掉线、账号无故风控深度原因分析及解决方案
大数据·运维·服务器·云计算·电商
RisunJan9 小时前
Linux命令-xauth(X11 认证授权管理)
linux·服务器·microsoft
熊IT11 小时前
什么是原生住宅 IP?如何判断一个 IP 是否真正“原生”?
服务器·网络·tcp/ip
不灭的程序员阿澄11 小时前
在飞牛 NAS 上用 Docker 运行 DeepSeek Harness
运维·docker·容器
Elastic 中国社区官方博客11 小时前
让大模型思考,让小模型执行:在 Elastic Workflows 中拆分 LLM 成本
大数据·运维·数据库·人工智能·elasticsearch·ai
艾伦_耶格宇12 小时前
【AI】-4 OpenCode Go 接入 Obsidian 完整指南
运维·开发语言·人工智能·agent·opencode