新生命Redis組件(.Net Core 開源)


NewLife.Redis 是一個Redis客戶端組件,以高性能處理大數據實時計算為目標。
Redis協議基礎實現Redis/RedisClient位於X組件,本庫為擴展實現,主要增加列表結構、哈希結構、隊列等高級功能。

源碼: https://github.com/NewLifeX/NewLife.Redis
Nuget:NewLife.Redis


特性

  • 在ZTO大數據實時計算廣泛應用,200多個Redis實例穩定工作一年多,每天處理近1億包裹數據,日均調用量80億次
  • 低延遲,Get/Set操作平均耗時200~600us(含往返網絡通信)
  • 大吞吐,自帶連接池,最大支持1000並發
  • 高性能,支持二進制序列化

Redis經驗分享

    • 在Linux上多實例部署,實例個數等於處理器個數,各實例最大內存直接為本機物理內存,避免單個實例內存撐爆
    • 把海量數據(10億+)根據key哈希(Crc16/Crc32)存放在多個實例上,讀寫性能成倍增長
    • 采用二進制序列化,而非常見Json序列化
    • 合理設計每一對Key的Value大小,包括但不限於使用批量獲取,原則是讓每次網絡包控制在1.4k字節附近,減少通信次數
    • Redis客戶端的Get/Set操作平均耗時200~600us(含往返網絡通信),以此為參考評估網絡環境和Redis客戶端組件
    • 使用管道Pipeline合並一批命令
    • Redis的主要性能瓶頸是序列化、網絡帶寬和內存大小,濫用時處理器也會達到瓶頸
    • 其它可查優化技巧 以上經驗,源自於300多個實例4T以上空間一年多穩定工作的經驗,並按照重要程度排了先后順序,可根據場景需要酌情采用!

 

《100億小數據實時計算平台》目錄

借助Redis做秒殺和限流的思考

大數據分析中Redis怎么做到220萬ops

每天4億行SQLite訂單大數據測試(源碼)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM