首页
学习
活动
专区
工具
TVP
发布

微信终端开发团队的专栏

专栏作者
111
文章
434862
阅读量
510
订阅数
五年沉淀,微信全平台终端数据库WCDB迎来重大升级!
WCDB 是微信团队开源的一款基于 SQLite 的终端数据库。自 2017 年 6 月开源以来,它在业界得到了广泛认可并被大量应用,迄今已经推出了十多个版本。在这个过程中,WCDB 一直保持良好的向后兼容性,不断完善原有接口的细节并添加新功能。
微信终端开发团队
2024-04-09
4270
Windows微信:消息数据库架构演进
作者:Jon,来自微信客户端团队 前言 本文基于微信用户日常使用场景 & 数据分析,「通过分离重要 / 非重要数据、采用可靠的分库策略等」,对微信数据库架构进行优化 & 改造,并最终得到一个具备实践良好效果的改造方案。 背景说明 微信 for Windows自2014年上线以来,用户数稳步增长。随着时间的不断推移,用户积攒的消息量越来越大。最初的数据库设计秉着「遵循简单易用,方便管理」的原则,把用户收到的所有消息都统一存放在用户当前客户端本地的「同一个数据文件中。」 (注:微信不会保存聊天记录,聊天内容只
微信终端开发团队
2022-08-31
1.5K0
iOS微信全文搜索技术优化
一、iOS微信全文搜索技术的现状 全文搜索是使用倒排索引进行搜索的一种搜索方式。倒排索引也称为反向索引,是指对输入的内容中的每个Token建立一个索引,索引中保存了这个Token在内容中的具体位置。全文搜索技术主要应用在对大量文本内容进行搜索的场景。 微信终端涉及到大量文本搜索的业务场景主要包括联系人、聊天记录、收藏的搜索。这些搜索功能从2014年上线至今,已经多年没有更新底层搜索技术,聊天记录使用的全文搜索引擎还是SQLite FTS3,而现在已经有SQLite FTS5,收藏首页的搜索还是使用简单的Li
微信终端开发团队
2022-02-23
2.2K0
MMKV 组件现在开源了
MMKV 是基于 mmap 内存映射的移动端通用 key-value 组件,底层序列化/反序列化使用 protobuf 实现,性能高,稳定性强。从 2015 年中至今,在 iOS 微信上使用已有近 3 年,其性能和稳定性经过了时间的验证。近期已移植到 Android 平台。在腾讯内部开源半年之后,得到公司内部团队的广泛应用和一致好评。现在一并对外开源:  https://github.com/tencent/mmkv 欢迎 Star、提 Issue 和 PR。 MMKV 源起 在微信客户端的日常运营中,时
微信终端开发团队
2018-10-12
3.6K1
WCDB 的 WAL 模式和异步 Checkpoint
通过 A/B Test,最终相比传统 Rollback 模式写耗时减少 70% 以上,还稍稍降低了 DB 损坏率。
微信终端开发团队
2018-01-29
4.2K0
微信自研生产级paxos类库PhxPaxos实现原理介绍
微信重磅开源生产级paxos类库PhxPaxos,本文用科普的口吻向大家介绍PhxPaxos背后的实现原理以及一些有意思的细节。 开源地址:https://github.com/tencent-wechat/phxpaxos 前言 本文是一篇无需任何分布式以及paxos算法基础的人可以看懂的。 标题主要有三个关键字,生产级,paxos,实现,涵盖了本文的重点。什么叫生产级,直译就是能用于生产线的,而非实验产品。生产级别拥有超高的稳定性,不错的性能,能真正服务于用户的。paxos就不用说了,而实现,是本
微信终端开发团队
2018-01-29
1.4K0
SQLite虚拟机
1 前言 本文主要介绍SQLite虚拟机VDBE,为了更好地了解SQLite虚拟机,文中也加入了一些Lua虚拟机内容来对比学习,更好地了解不同虚拟机之间的异同。 1.1 预备知识 虚拟机设计需要编译原理相关理论基础,这里先简单温习下编译原理中的一些知识。 1.1.1 文法 (1) LR文法 1965年,D.knuth 首先提出了LR(K)文法及LR(K)分析技术。括号中的K 表示向右查看输入串符号的个数。对于大多数用无二义性上下文无关文法描述的语言都可以用相应的LR 分析器进行识别,而且这种方法还具
微信终端开发团队
2018-01-29
1.4K0
JSPatch 实现原理详解
JSPatch 是一个 iOS 动态更新框架,只需在项目中引入极小的引擎,就可以使用就可以使用 JavaScript 调用任何 Objective-C 原生接口,获得脚本语言的优势:为项目动态添加模块,或替换项目原生代码动态修复 bug,目前在 github 上开源。 微信 iOS 客户端使用了 JSPatch,本篇文章详细阐述 JSPatch 的实现原理和一些细节,以帮助使用者更好地了解和使用 JSPatch。文章较长,建议在 PC / Mac 观看。 大纲 基础原理 方法调用 1.require
微信终端开发团队
2018-01-29
3.3K0
微信ANDROID客户端-会话速度提升70%的背后
image.png 背景 打开会话速度慢 在同一个会话有较多的历史消息下,各种查询,更新,删除等操作,速度明显下降。 在会话内有较大量历史消息情况下,进入速度/刷新速度明显降低。 分析阶段 整个优化我们分2个阶段进行: 第一阶段,针对历史记录较小的会话 通过Android自带的trace工具分析,我们发现较大的耗时分布在进入会话的几个关键点: 在打开会话过程中涉及的磁盘读写操作 加载会话UI所执行的inflate操作(inflate指的是创建View对象) 退出会话后,列表控件的数据适配器被重置,触发
微信终端开发团队
2018-01-29
3.6K0
新年新语言,WCDB Swift
serena
2018-01-04
2.2K0
微信全文搜索优化之路
微信终端开发团队
2017-10-19
8.8K0
为什么要从 FMDB 迁移到 WCDB?
微信终端开发团队
2017-08-17
2.7K0
揭秘:微信如何用 libco 支撑8亿用户?
微信终端开发团队
2017-08-08
2.1K0
微信 SQLite 数据库修复实践
微信终端开发团队
2017-08-04
8.6K5
微信终端跨平台组件 mars 系列(二):信令传输超时设计
微信终端开发团队
2017-08-01
2.7K0
微信终端跨平台组件 mars 系列(一):高性能日志模块xlog
本文介绍了如何通过修改 Android 系统的 Trace 工具实现自定义跟踪,包括普通跟踪、性能跟踪和稳定性跟踪。作者还介绍了如何利用 Xposed 实现自定义跟踪,以及使用该方法实现普通跟踪、性能跟踪和稳定性跟踪的具体步骤。此外,作者还探讨了在实现自定义跟踪时可能遇到的问题和解决方法,以及使用 Xposed 工具进行开发时需要注意的一些问题。
微信终端开发团队
2017-07-28
3.8K0
微信 iOS SQLite 源码优化实践
微信终端开发团队
2017-07-27
3.6K0
微信移动端数据库组件 WCDB 系列:Android 特性篇(四)
本文介绍了WCDB在Android端数据库的一些特性,包括分表、事务支持、加密、数据迁移、全文搜索、分词和动态ICU加载,以及日志重定向和性能监控。WCDB还提供了SQLite和WCDB的集成方案,以及优化Cursor实现的方案。
微信终端开发团队
2017-07-25
4.2K0
微信移动端数据库组件 WCDB 系列:WINQ原理篇(三)
WCDB作为WCDB库的基石,通过WINQ抽象SQLite语法规则,使得开发者可以告别字符串拼接的胶水代码。通过和接口层的ORM结合,使得即便是很复杂的查询,也可以通过一行代码完成。并借助IDE的代码提示和编译检查的特性,大大提升了开发效率。同时还内建了反注入的保护。
微信终端开发团队
2017-07-24
3.6K0
没有更多了
社区活动
腾讯技术创作狂欢月
“码”上创作 21 天,分 10000 元奖品池!
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档