引言

之前研究了下redis的协议、持久化策略以及单线程模型,突然觉得和java很搭配。

 

目的

纯个人爱好,练手。

 

特征

  • 目前已兼容大多数redis原生协议
  1. set get.
  2. lpush rpush lrange  
  3. hset hget hgetall    
  4. pub sub    
  5. keys expire del
  • 支持jedis,spring-data-redis,spring-boot
  • 兼容redis桌面客户端0.8,并实现了db分区隔离和简单事物机制
  • 数据持久采用jdk mappedbytebuffer同步刷盘(虚拟内存技术),缓存容量理论上可以无限

 

性能

基于redis原生beachmark测试下来,单机(2核2g)每秒tps能达到3W+。参考下图,16379为jredis,7003为redis

 

 

 

java构建高性能缓存服务

java构建高性能缓存服务

 

架构设计

整体分层

java构建高性能缓存服务

数据流程

java构建高性能缓存服务

存储结构

内存数据库结构

java构建高性能缓存服务

磁盘二进制数据结构

java构建高性能缓存服务


源码库

https://github.com/lmx1989219/jredis/tree/database1.0

 

相关文章: