彭燦華
摘 要: Redis是一個key?value存儲系統(tǒng),通過對Redis高速緩存系統(tǒng)的序列化算法優(yōu)化,可提高緩存讀取的效率和存儲容量。引入現(xiàn)代統(tǒng)計學中Bootstrap理論,提出基于隨機相位高斯偽隨機數重排的Redis高速緩存系統(tǒng)中的序列化算法。采用Hash堆棧技術將存儲數據寫入磁盤,通過霍夫曼編碼技術對信宿處緩存數據進行序列化編碼設計,利用隨機相位高斯偽隨機數重排方法重新排列緩存堆棧的編碼序列,改善Redis的結構分布形式,提高緩存系統(tǒng)的容量。測試結果表明,該方法存儲容量較高,緩存數據的讀取效率高于傳統(tǒng)方法。
關鍵詞: Redis; 高速緩存系統(tǒng); 序列化算法; 隨機相位; 高斯偽隨機數
中圖分類號: TN911?34; TP311 文獻標識碼: A 文章編號: 1004?373X(2017)22?0122?03
Abstract: Redis is a key?value storage system. The serialization algorithm of the Redis cache system is optimized to improve the read efficiency and storage capacity of the cache. Based on the Bootstrap theory in modern statistics, a new serialization algorithm for Redis cache system based on random phase Gaussian pseudorandom number rearrangement is proposed. The Hash stack technology is used to write the storage data into disk. The serialization encoding is designed for the cache data in the sink by means of Hoffman encoding technology. The random phase Gaussian pseudorandom number rearrangement method is used to rearrange the coding sequence of the cache stack to improve the structure distribution pattern of Redis, and increase the capacity of the cache system. The test results show that the method has high storage capacity, and its read efficiency is higher than that of the traditional methods.
Keywords: Redis; cache system; serialization algorithm; random phase; Gaussian pseudorandom number
研究Redis在高速緩存系統(tǒng)中的序列化分析方法,在實現(xiàn)master?slave主從同步,優(yōu)化緩存系統(tǒng)的鏈路列表等方面同樣具有重要的應用價值[1]。本文提出一種基于隨機相位高斯偽隨機數重排的Redis高速緩存系統(tǒng)中的序列化算法,首先進行存儲結構和數據結構分析,然后進行序列編碼設計,實現(xiàn)序列化算法優(yōu)化,最后進行仿真測試,得出有效性結論。
1 數據存儲結構分析
1.1 Redis高速緩存系統(tǒng)的存儲序列結構描述
分析Redis高速緩存系統(tǒng)的存儲序列結構模型。在Redis高速緩存中,采用結構字sdshdr和sds封裝字符串,根據QAM資源分配方法進行服務組結構體構建,對服務組、頻點、端口進行組合優(yōu)化,進行緩存節(jié)點優(yōu)化部署[2],得到Redis高速緩存系統(tǒng)的存儲結構模型,如圖1所示。
3 試驗分析
仿真試驗中,對Redis高速緩存系統(tǒng)的操作包括SET,RPUSH,SADD,ZADD,dict相關配置函數為void*(*valDup)。使用wget工具下載make命令進行編譯,每秒同步1次Redis命令行,模擬管理100個可用IPQAM資源。
緩存數據處理規(guī)模為1 160 Gb,采用不同算法進行對比分析,得到緩存系統(tǒng)的數據讀取速度對比如圖4所示。分析圖4結果得知,采用本文方法進行Redis的結構分布設計和序列化算法優(yōu)化,提高緩存系統(tǒng)的數據讀取速度。圖5給出了不同方法進行緩存序列化設計的容量對比,得知本文方法能提高緩存系統(tǒng)的存儲容量。
4 結 語
本文提出一種基于隨機相位高斯偽隨機數重排的Redis高速緩存系統(tǒng)中的序列化算法。對高速緩存系統(tǒng)進行數據存儲結構分析,在數據存儲鏈表中采用Hash堆棧技術將存儲數據寫入磁盤,采用霍夫曼編碼技術在信宿處進行緩存數據的序列化編碼設計,重新排列緩存堆棧的編碼序列,改善Redis的結構分布形式,提高緩存系統(tǒng)的容量。研究表明,采用本文方法進行緩存序列化算法設計,提高了緩存系統(tǒng)的讀取速度和存儲容量,具有優(yōu)越性。
參考文獻
[1] STOEAN C, PREUSS M, STOEAN R, et al. Multimodal optimization by means of a topological species conservation algorithm [J]. IEEE transactions on evolutionary computation, 2010, 14(6): 842?864.
[2] 陳小軍,方濱興,譚慶豐,等.基于概率攻擊圖的內部攻擊意圖推斷算法研究[J].計算機學報,2014,37(1):62?71.
[3] 黎相成,陳海強,梁奇,等.基于二元譯碼信息的迭代大數邏輯LDPC譯碼算法及其量化優(yōu)化[J].電子與信息學報,2017,39(4):873?880.
[4] 張鳳荔,王丹,趙永亮,等.基于改進的TCM?KNN DoS檢測算法[J].電子科技大學學報,2014,43(1):76?81.
[5] 陳海強,羅靈山,孫友明,等.基于大數邏輯可譯LDPC碼的譯碼算法研究[J].電子學報,2015,43(6):1169?1173.
[6] 于篤發(fā),邵建華,聶夢雅,等.基于動態(tài)閾值的可信度加權協(xié)作頻譜感知[J].計算機應用研究,2014,31(2):511?514.
[7] CHEN H, ZHANG K, MA X, et al. Comparisons between reliability?based iterative min?sum and majority?logic decoding algorithms for LDPC codes [J]. IEEE transactions on communications, 2011, 59(7): 1766?1771.
[8] 陳昊,楊俊安,莊鎮(zhèn)泉.變精度粗糙集的屬性核和最小屬性約簡算法[J]計算機學報,2012,35(5):1011?1017.endprint