集群聊天服务器(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中打出来,没有接收到

相关推荐
Flynt1 小时前
我把微信运动的排行榜和定点推送复刻了一遍:100万次步数更新只要4秒,坑在别处
redis·后端·性能优化
程序员清风1 小时前
数据处理脚本工程化:日志、配置、命令行与测试
服务器·开发语言·数据库
打工仔折腾 AI3 小时前
在 Ubuntu ARM64 部署 Q1 V3.0 MuJoCo 模型:加载、单步推理与执行器响应解析
linux·运维·人工智能·python·深度学习·ubuntu·性能优化
yyuuuzz3 小时前
跨境站点日志时区混乱的排查记录
运维·服务器·网络·云计算·aws·1024程序员节
‎ദ്ദിᵔ.˛.ᵔ₎3 小时前
关于Linux 线程局部存储的认识
linux·运维
GlobalInfo3 小时前
全球及中国风电叶片检测机器人行业研究报告(2026版):市场现状、行业前景与占有率分析
运维·网络·人工智能·机器人
数字新视界5 小时前
一体化机柜在数据中心运维中的创新应用与优势分析
大数据·服务器·数据库·动环监控系统·动力与环境监控系统
隔窗听雨眠5 小时前
KingbaseES平替全链路实践:从迁移评估到可持续运维
运维
skywalk81635 小时前
登到192.168.1.5那台机器,看看今天白天,大约从早晨到晚上,都卡住了。看看因为什么卡住,为什么卡住而没有杀死那个导致卡死的进程,为什么
运维·系统·freebsd
运维行者_5 小时前
网络监控工具怎么选?从设备监控到智能运维的能力清单
运维·服务器·开发语言·网络·人工智能·支持向量机·php