java重写redis服务端
发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,背景最近研究了下redis的协议、持久化策略以及单线程模型,突然觉得和java很搭配。源码请用力戳这里目的鉴于redis是c编写,java的同学读起来比较费力,所以写java版。让更多的开发者理解高性
千家信息网最后更新 2026年10月31日java重写redis服务端
背景
最近研究了下redis的协议、持久化策略以及单线程模型,突然觉得和java很搭配。源码请用力戳这里
目的
鉴于redis是c编写,java的同学读起来比较费力,所以写java版。让更多的开发者理解高性能设计的精髓,同时加深底层传输,存储,索引的认知。
特征
1. 兼容大多数redis原生协议2. 兼容redis桌面客户端0.9+3. db分区隔离和事务机制4. 高级特性:如阻塞队列,发布订阅5. 数据持久采用jdk原生MappedByteBuffer同步刷盘(虚拟内存技术)6. key,value存储隔离,仅key空间占虚拟机内存,而value只在使用时才加载,所以优于redis7. 兼容jedis,spring-data-redis,spring-boot-data等常用redis java客户端工具基准测试
单机(4核8g),1000连接,随机value set,tps大致在3W+
参考下图,16379为jredis,7003为redis
存储设计
jredis文件结构
默认8个分区,相当于8个db,数据在程序运行时同步写入,重启会自动读取恢复数据到内存。
db文件内容
分为一个key区+三个value类型区,对应磁盘文件结构为:
文件详细介绍
key区加载所有值类型的key
value区仅加载同类型的值
缓冲区设计
线性存储,自定义消息格式,消息定长,一个单元最大存储1024字节,文件写满暂不支持动态扩容。
文件
存储
内存
数据
类型
设计
客户
客户端
消息
结构
同步
隔离
三个
下图
事务
单元
单机
同学
同时
基准
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
互联网科技网
互联网科技社
没上市的科技互联网公司
科技与互联网发展
平安科技 互联网
善班互联网科技
礼当家互联网科技
长亮科技 互联网金融
甘肃拓世互联网科技有限公司
佩信高科技互联网
恒生科技互联网指数分析
老年人脱离互联网科技的作文
南山科技园互联网公司有哪些
互联网科技项目计划书材料类
互联网科技革命什么开始
互联网行业科技股
杭州披云加互联网科技有限公司
西安左小互联网科技有限公司
北京品多多互联网科技有限公司
黑龙江互联网科技公司
互联网未来科技
亿策互联网科技
沃里互联网科技
云创客互联网科技公司
互联网科技产品
新兴科技互联网创新大赛颁奖典礼
云鲸互联网络科技有限公司
吉林省码上互联网科技电话
互联网大会出现的黑科技
六子台科技互联网展会