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

cpp

专栏作者
10
文章
11894
阅读量
14
订阅数
leveldb uint32压缩方法
leveldb 采用 protocalbuffer 里使用的变长整形编码方案,以节省空间;
awk
2019-03-27
5450
Redis数据结构拾遗
1. Hash Dict的实现,冲突链表,当链表load高时,rehash 2. ziplist 在一块连续内存存放data, data前后各一个字段记录前后data的长度(相当于双向链表),这个长度是可变长编码的; 优点:没有内存碎片;省去前后指针; 缺点:在ziplist中间插入数据时,需要把插入位置后面的所有data以此往后挪(深拷贝); 使用场景:链表数据比较短;节点比较少; 所以,Redis里,hset和hmset在节点个数超过512或任意value长度超过5
awk
2019-03-18
3540
解决单点问题的几种思路
最近在项目中遇到一个需求,要解决一个中心节点(下称DC节点)的单点问题,我思考了下,解决方式有三种:
awk
2019-02-20
1.1K0
缓存更新策略
问题:项目中,Redis用了缓存热点数据,持久化数据在MySQL DB中;那么Redis缓存数据什么时候更新呢?
awk
2018-09-25
1.5K0
TARS TC_EpollServer数据结构分析
1.NetThread负责底层数据包的收发,连接线程池管理,使用epoll ET模式;
awk
2018-09-09
1.2K0
从TRAS Connection::send分析EPOLLOUT触发时机
1.NetThread::send强制触发EPOLLOUT, epoll_wait执行NetThread::processPipe,第一次发包
awk
2018-09-08
7420
AP流程总结
2. 多进程之间使用消息队列通信,把进程ID设置成消息类型可以保证进程只拿到属于本进程的回包;
awk
2018-09-03
1.4K0
使用双buffer无锁化
所谓双buffer技术,其实就是准备两个Obj,一个用来读,一个用来写。写完成之后,原子交换两个Obj;之后的读操作,都放在交换后的读对象上,而原来的读对象,在原有的“读操作”完成之后,又可以进行写操作了。
awk
2018-08-27
4K0
C++11 std::async
//g++ -std=c++11 -pthread -g std_future.cpp -o main // async example #include <iostream> // std::cout #include <future> // std::async, std::future // a non-optimized way of checking for prime numbers: bool is_prime (long int x) { std::co
awk
2018-08-23
4410
Tars服务端主流程梳理
==================================================
awk
2018-09-10
6160
没有更多了
社区活动
腾讯技术创作狂欢月
“码”上创作 21 天,分 10000 元奖品池!
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档