java重写redis服务端
发表于:2025-11-07 作者:千家信息网编辑
千家信息网最后更新 2025年11月07日,背景最近研究了下redis的协议、持久化策略以及单线程模型,突然觉得和java很搭配。源码请用力戳这里目的鉴于redis是c编写,java的同学读起来比较费力,所以写java版。让更多的开发者理解高性
千家信息网最后更新 2025年11月07日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安全错误
数据库的锁怎样保障安全
班务计划软件开发
管理服务器端口的软件
警务技术类之网络安全管理
2014年绿色发展数据库
连续的xy保存在数据库
廊坊市峰杰网络技术有限公司
国网网络安全竞赛
软件开发模型简单介绍
北京耐特康赛网络技术
我的世界服务器一直卡在定位服务
云南专业模具软件开发费用
网络安全威胁的被动攻击
sql数据库连接界面
数据库保养计划
网络技术合作协议书
软件开发BSP方向
网络安全教程百度网盘
dellemc服务器维修调试
ea数据库生成实例
手机软件开发需要多少
美国服务器购买后会给账号密码吗
杨浦区节能软件开发零售价格
计算机网络技术从事的工作
数据库表的列级约束有哪六种
网络安全文艺汇演
中医药数据库检索系统
长沙嵌入式软件开发代码
mdf数据库管理系统
数据库软件执行的完整性服务
临沂拓普网络 软件开发