中引入PB
yarn add protobufjs -D
mkdir proto
cd proto
vi message.proto
.......,取消心跳发送,断开socket链接
?...肯定不会这么简单
redis的set、get的非常高频的操作,即便是缓存,不是存入数据库,但还是有失败风险,因为我们是通过socket通讯,如果网络抖动或者其他原因导致通讯失败,这个数据没有进入cache...但是这个操作,是有BUG的
因为socket写入都是异步,等返回的时候,那么就有可能乱序,这里需要加入ACK回复机制
在客户端set的时候,生成一个UUID,将这个UUID带着给服务端,服务端的Map数据存储完成后...在redis出错的时候,将数据刷入磁盘中以及定期持久化数据,如果要实现,也可以类似的思路,当然这并不是redis的真正实现,只是一个模拟.