中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

java重寫redis服務端

發布時間:2020-06-16 14:49:07 來源:網絡 閱讀:345 作者:wx5c39a5f83f706 欄目:關系型數據庫

背景

最近研究了下redis的協議、持久化策略以及單線程模型,突然覺得和java很搭配。源碼請用力戳這里

目的

鑒于redis是c編寫,java的同學讀起來比較費力,所以寫java版。讓更多的開發者理解高性能設計的精髓,同時加深底層傳輸,存儲,索引的認知。

特征

1. 兼容大多數redis原生協議
2. 兼容redis桌面客戶端0.9+
3. db分區隔離和事務機制
4. 高級特性:如阻塞隊列,發布訂閱
5. 數據持久采用jdk原生MappedByteBuffer同步刷盤(虛擬內存技術)
6. key,value存儲隔離,僅key空間占虛擬機內存,而value只在使用時才加載,所以優于redis
7. 兼容jedis,spring-data-redis,spring-boot-data等常用redis java客戶端工具

基準測試

單機(4核8g),1000連接,隨機value set,tps大致在3W+
參考下圖,16379為jredis,7003為redis
java重寫redis服務端
java重寫redis服務端

存儲設計

jredis文件結構

默認8個分區,相當于8個db,數據在程序運行時同步寫入,重啟會自動讀取恢復數據到內存。
java重寫redis服務端

db文件內容

分為一個key區+三個value類型區,對應磁盤文件結構為:
java重寫redis服務端

文件詳細介紹

key區加載所有值類型的key
value區僅加載同類型的值
java重寫redis服務端

緩沖區設計

線性存儲,自定義消息格式,消息定長,一個單元最大存儲1024字節,文件寫滿暫不支持動態擴容。
java重寫redis服務端

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

淮阳县| 德令哈市| 文登市| 绥芬河市| 温州市| 博兴县| 永安市| 金溪县| 广平县| 东光县| 偃师市| 井陉县| 从化市| 农安县| 蓝山县| 通州区| 诸城市| 靖远县| 肥西县| 蒙山县| 崇礼县| 潢川县| 城口县| 拜城县| 昌都县| 皮山县| 兴海县| 舟曲县| 和政县| 上蔡县| 祁门县| 安吉县| 乾安县| 措美县| 来宾市| 黄浦区| 吉木乃县| 普安县| 沛县| 澜沧| 鹤岗市|