redis中一个db就是一个大dict,也就是实现的可伸缩hash表。其操作支持遍历scan类操作,按stl容器中场景的逻辑,如果一个迭代器
了解负载均衡
种类 硬件负载均衡 F5 TP-Link 硬件一般都是定制化,价格比较贵,不太符合互联网公司的价值观,要使用普通pc来完成专业硬件的工作。 Nginx Plus和F5 BIG-IP 110
黑群晖Synology DS918+打造个人网络媒体中心
还记得几年前,一个机缘巧合,碰到有同学利用台式机安装了一个黑群晖,当时自己也将废弃在角落08年的联想笔记本成功跑了黑群晖,然后继续被仍在房间
Redis冷热数据分离混合存储实现 - IO任务异步处理
在demo实现中,第一版的异步化处理中,采用的是类似redis中对list的BLOCK类型操作,但是与list BLOCK操作不同的是,lis
Redis冷热数据分离混合存储实现 - 读写任务异步化
redis的单线程处理模型,对于客户端请求都会变成串行处理,所以也不存在数据竞争的问题。对于冷数据需要的经过磁盘IO,这对于redis的高并
Redis冷热数据分离混合存储实现 - index存储
为了实现冷热数据分离,热数据在内存,冷数据会置换到持久化存储,但是为了保证内存检索高效,会将所有key和频率统计信息保存在内存。冷数据的选择
冷热数据分离调研和概要方案
一. 背景 随着硬件的发展,持久化存储的速度得以提升,但是硬件成本相比内存单位的成本会有大幅度下降,并且全内存缓存存储理想应用场景是随机高速访问
Anna伯克利高性能可扩展的kv存储系统论文
昨天被朋友圈的一片软文刷屏了,秒杀Redis的KVS上云了!伯克利重磅开源Anna 1.0 什么秒杀,吊打。。。这种小编是标题骗点击,着实无语。 做技
对数据冷热分离存储的思考
对于冷热数据分层存储的最直接的目的就是节省成本,计算机结构里,内存->nvme ssd->ssd->机械盘,访问速度依次降低
使用docker-compose一键运行tidis
Tidis是基于tikv的兼容redis协议持久化存储,得益于分布式kv存储tikv,tidis能够实现水平扩展,数据安全存储和分布式事务支
通读PolarFS分布式文件系统论文
今天在hn上看到阿里的PolarFS论文,简单读了一下,感觉分布式系统整体架构就是江湖,分久必合,合久必分。 分布式系统的架构不外乎两种,一种
计算二进制中比特位1的个数
比如一个32位的无符号整型,如果要统计其中二进制中1的个数,直接从最低位遍历,不管二进制中1的个数有多少,时间复杂度是一样的。 还有比较快速的
函数隐式声明 implicit declaration of function
默认函数声明Implicit declaration function引发的血案 文件1中定义了函数,并malloc了一段内存,返回指针 char *func1(char *arg){ char *c = (char*)malloc(size); return c; } 在文件2中
HyperLogLog - 基数统计算法
如果有一个需求,就是要统计一个全球性活跃网站的访问UV,根据用户ip识别。 当然可以是要set数据结构,把所有的ip都塞到set数据结构中,最
正向代理和反向代理
虽然经常使用nginx或者科学上网搭建代理,对于代理分类具体含义还是需要解析下。 正向代理 正向代理就是一个位于客户端和目标服务器的代理服务器,
LevelDB中snapshot和compaction
本文简单记录了leveldb中有关key的种类、memtable的操作、snapshot的原理和Compaction。 Key LookupKey: klength|UserKey|tag InternalKey: UserKey
LevelDB版本管理和读写操作
LevelDB是一个轻量级的key value存储系统,存储结构采用LSM-Tree,对写操作优化,特别是普通的机械盘。 LevelDB是Big
Leto - 基于raft快速实现一个key-value存储系统
Leto基于raft和redis协议的key value存储系统 raft是一种类似于paxos的一致性算法,但是相对paxos,raft更易于
Mac osx让工作更有效率的桌面控制管理工具
1. Hammerspoon-高效操作窗口和鼠标 自己在工作中一直在使用mac,并且外接显示器多屏幕,一直在找可以快速将鼠标焦点移动到另外屏幕的工
Tidis - 基于tikv实现兼容redis协议分布式事务存储
1. 背景 redis本身的定位是高速缓存,有多种数据结构支持,全量内存,使用成本高,当数据量达到一定规模后,用户不得不考虑将部分冷数据从redi