OpenIM重大优化-消息按需加载 一致性缓存 uniapp发布

简介: OpenIM重大优化-消息按需加载 一致性缓存 uniapp发布

新功能介绍
(1)服务端加入一致性缓存(dtm:https://www.dtm.pub/),优化db读写性能;

(2)对于群读扩散群,登录时先同步最新的100条消息,历史消息按需加载;

(3)申请进群时,群主或者管理员能看到进群方式以及由谁邀请进群;

(4)解散群,不能再发送消息;

(5)好友备注可删除,删除后恢复原来名称 ;

(6)群主和管理员能看到群成员的进群方式:扫码进群,谁邀请进群,搜索进群;

(7)群主和管理员设置群成员权限:是否允许查看其他群成员资料;是否允许添加群成员好友;

做技术的朋友对于读扩散写扩散应该不陌生,无论是信息流、论坛、信箱,还是私聊、群聊、通知,都能用到读写扩散。本文不讲解技术细节,OpenIM基于推拉结合的读扩散主要解决群聊模式下消息冗余存储,消息实时性,新用户入群无法查看新消息,超级大群等。

安卓端体验:https://www.pgyer.com/OpenIM

群聊读扩散-按需加载
(1)创建时指定工作群,这种群采用读扩散模型,每个群有独立seq,群成员共享此seq,能大幅减少群消息冗余,且提升消息实时性。

(2)消息按需加载机制做好铺垫,对于长时间不登录或者卸载后重装场景,默认加载最新的100条消息,对于历史消息,如果本地db不存在,则从服务端拉取。

(3)新用户入群可以查看历史消息,后续增加选择项,给开发者更多选择。

微信图片_20220723141157.jpg

uniapp版demo发布
uniapp,期待已久,demo已发布,可能还有一些瑕疵,请多多包涵。

请前往github下载使用:https://github.com/OpenIMSDK/Open-IM-Uniapp-Demo

项目成果
从服务端到客户端SDK开源即时通讯(IM)整体解决方案,可以轻松替代第三方IM云服务,并能根据业务需求高度自定义和二次开发,打造具备聊天、社交、办公功能的app。OpenIM继续领跑开源IM领域,在广大开发者的大力支持下,目前github star持续突破。越来越多的开发者把OpenIM应用在社交,协同办公领域。在运营过程中也暴露并修复了代码的一些bug,由于使用场景广泛,OpenIM越来越健壮,开源价值也凸显出来了。尤其对于政务系统来说,开源产品更有准入条件的优势。“开源”的价值在于能够打破资源垄断,让开发者 可以自我掌控。“开源”的价值在于能够提升软件质量,优化系统架构。“开源”的价值在于能够丰富文化内涵,共建工程师文化。

微信图片_202207231342435.jpg

开源不仅仅是开放源代码。作为开源IM领跑者,OpenIM开源有几个目的:(1)IM核心数据应该掌控在运营者手中(2)IM需求广泛,有很多人免费使用,并能发现问题(3)让更多开发者参与项目项目,特别是IM需求繁多。在开源社区里面,每个项目都可以开启pr,pr功能将允许每一位开发者对代码进行修改,但是需要项目拥有者的合并代码。集体的力量是最大的,充分体现开源的价值。OpenIM社区运营有所欠缺,未来计划直播讲解技术架构,让社区开发者能深度参与开发。

github地址:https://github.com/OpenIMSDK/Open-IM-Server

开发者中心:https://doc.rentsoft.cn/#/

我们的团队
OpenIM是由IM技术专家打造开源即时通讯组件,目前github社区活跃,star近万,排名遥遥领先,开发者7000人,OpenM力争开源IM项目No1,打造开源IM第一社区。支持Android、iOS原生开发,支持Flutter、uni-app跨端开发,支持小程序、React等所有主流web前端技术框架, PC支持Electron。重点应用在政务办公,社交,web3场景,一切皆可控,让OpenIM深入到各行业。从开源的内在含义来看,需要这五个维度:透明度;协作;持续发布;精英制度;社区运营,OpenIM在这五方面还需要持续努力,稳固生态建设,巩固OpenIM影响力。开源的价值是开放使用,不限制想象及开发的空间,高效利用。每个开发者对于产品及技术的想象及出发不同,这就造就一个最基本的形态变成百花盛放,争奇斗艳的效果。

目录
相关文章
|
2月前
|
存储 机器学习/深度学习 缓存
性能最高提升7倍?探究大语言模型推理之缓存优化
本文探讨了大语言模型(LLM)推理缓存优化技术,重点分析了KV Cache、PagedAttention、Prefix Caching及LMCache等关键技术的演进与优化方向。文章介绍了主流推理框架如vLLM和SGLang在提升首Token延迟(TTFT)、平均Token生成时间(TPOT)和吞吐量方面的实现机制,并展望了未来缓存技术的发展趋势。
性能最高提升7倍?探究大语言模型推理之缓存优化
|
5月前
|
缓存 并行计算 PyTorch
PyTorch CUDA内存管理优化:深度理解GPU资源分配与缓存机制
本文深入探讨了PyTorch中GPU内存管理的核心机制,特别是CUDA缓存分配器的作用与优化策略。文章分析了常见的“CUDA out of memory”问题及其成因,并通过实际案例(如Llama 1B模型训练)展示了内存分配模式。PyTorch的缓存分配器通过内存池化、延迟释放和碎片化优化等技术,显著提升了内存使用效率,减少了系统调用开销。此外,文章还介绍了高级优化方法,包括混合精度训练、梯度检查点技术及自定义内存分配器配置。这些策略有助于开发者在有限硬件资源下实现更高性能的深度学习模型训练与推理。
960 0
|
6月前
|
消息中间件 缓存 NoSQL
缓存与数据库的一致性方案,Redis与Mysql一致性方案,大厂P8的终极方案(图解+秒懂+史上最全)
缓存与数据库的一致性方案,Redis与Mysql一致性方案,大厂P8的终极方案(图解+秒懂+史上最全)
|
9月前
|
存储 缓存 自然语言处理
SCOPE:面向大语言模型长序列生成的双阶段KV缓存优化框架
KV缓存是大语言模型(LLM)处理长文本的关键性能瓶颈,现有研究多聚焦于预填充阶段优化,忽视了解码阶段的重要性。本文提出SCOPE框架,通过分离预填充与解码阶段的KV缓存策略,实现高效管理。SCOPE保留预填充阶段的关键信息,并在解码阶段引入滑动窗口等策略,确保重要特征的有效选取。实验表明,SCOPE仅用35%原始内存即可达到接近完整缓存的性能水平,显著提升了长文本生成任务的效率和准确性。
474 3
SCOPE:面向大语言模型长序列生成的双阶段KV缓存优化框架
|
10月前
|
缓存 监控 前端开发
在资源加载优化中,如何利用浏览器缓存提升性能?
通过以上这些方法,可以有效地利用浏览器缓存来提升资源加载的性能,减少网络请求次数,提高用户体验和应用的响应速度。同时,需要根据具体的应用场景和资源特点进行灵活调整和优化,以达到最佳的效果。此外,随着技术的不断发展和变化,还需要持续关注和学习新的缓存优化方法和策略。
300 53
|
10月前
|
缓存 监控 测试技术
如何利用浏览器的缓存来优化网站性能?
【10月更文挑战第23天】通过以上多种方法合理利用浏览器缓存,可以显著提高网站的性能,减少网络请求,加快资源加载速度,提升用户的访问体验。同时,要根据网站的具体情况和资源的特点,不断优化和调整缓存策略,以适应不断变化的业务需求和用户访问模式。
558 63
|
7月前
|
存储 缓存 小程序
微信小程序数据缓存与本地存储:优化用户体验
本文深入探讨微信小程序的数据缓存与本地存储,介绍其意义、机制及应用场景。通过合理使用内存和本地缓存,可减少网络请求、提升加载速度和用户体验。文中详细讲解了常用缓存API的使用方法,并通过一个新闻列表案例展示了缓存的实际应用。最后提醒开发者注意缓存大小限制、时效性和清理,以确保最佳性能。
|
10月前
|
缓存 NoSQL 关系型数据库
mysql和缓存一致性问题
本文介绍了五种常见的MySQL与Redis数据同步方法:1. 双写一致性,2. 延迟双删策略,3. 订阅发布模式(使用消息队列),4. 基于事件的缓存更新,5. 缓存预热。每种方法的实现步骤、优缺点均有详细说明。
396 3
|
11月前
|
缓存 监控 算法
小米面试题:多级缓存一致性问题怎么解决
【10月更文挑战第23天】在现代分布式系统中,多级缓存架构因其能够显著提高系统性能和响应速度而被广泛应用。
702 3
|
11月前
|
消息中间件 缓存 中间件
缓存一致性问题,这么回答肯定没毛病!
缓存一致性问题,这么回答肯定没毛病!
186 3

热门文章

最新文章