Redis在高速缓存系统中的序列化算法研究

彭灿华
摘 要: Redis是一个key?value存储系统,通过对Redis高速缓存系统的序列化算法优化,可提高缓存读取的效率和存储容量。引入现代统计学中Bootstrap理论,提出基于随机相位高斯伪随机数重排的Redis高速缓存系统中的序列化算法。采用Hash堆栈技术将存储数据写入磁盘,通过霍夫曼编码技术对信宿处缓存数据进行序列化编码设计,利用随机相位高斯伪随机数重排方法重新排列缓存堆栈的编码序列,改善Redis的结构分布形式,提高缓存系统的容量。测试结果表明,该方法存储容量较高,缓存数据的读取效率高于传统方法。
关键词: Redis; 高速缓存系统; 序列化算法; 随机相位; 高斯伪随机数
中图分类号: 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在高速缓存系统中的序列化分析方法,在实现master?slave主从同步,优化缓存系统的链路列表等方面同样具有重要的应用价值[1]。本文提出一种基于随机相位高斯伪随机数重排的Redis高速缓存系统中的序列化算法,首先进行存储结构和数据结构分析,然后进行序列编码设计,实现序列化算法优化,最后进行仿真测试,得出有效性结论。
1 数据存储结构分析
1.1 Redis高速缓存系统的存储序列结构描述
分析Redis高速缓存系统的存储序列结构模型。在Redis高速缓存中,采用结构字sdshdr和sds封装字符串,根据QAM资源分配方法进行服务组结构体构建,对服务组、频点、端口进行组合优化,进行缓存节点优化部署[2],得到Redis高速缓存系统的存储结构模型,如图1所示。
3 试验分析
仿真试验中,对Redis高速缓存系统的操作包括SET,RPUSH,SADD,ZADD,dict相關配置函数为void*(*valDup)。使用wget工具下载make命令进行编译,每秒同步1次Redis命令行,模拟管理100个可用IPQAM资源。
缓存数据处理规模为1 160 Gb,采用不同算法进行对比分析,得到缓存系统的数据读取速度对比如图4所示。分析图4结果得知,采用本文方法进行Redis的结构分布设计和序列化算法优化,提高缓存系统的数据读取速度。图5给出了不同方法进行缓存序列化设计的容量对比,得知本文方法能提高缓存系统的存储容量。
4 结 语
本文提出一种基于随机相位高斯伪随机数重排的Redis高速缓存系统中的序列化算法。对高速缓存系统进行数据存储结构分析,在数据存储链表中采用Hash堆栈技术将存储数据写入磁盘,采用霍夫曼编码技术在信宿处进行缓存数据的序列化编码设计,重新排列缓存堆栈的编码序列,改善Redis的结构分布形式,提高缓存系统的容量。研究表明,采用本文方法进行缓存序列化算法设计,提高了缓存系统的读取速度和存储容量,具有优越性。
参考文献
[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译码算法及其量化优化[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] 于笃发,邵建华,聂梦雅,等.基于动态阈值的可信度加权协作频谱感知[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] 陈昊,杨俊安,庄镇泉.变精度粗糙集的属性核和最小属性约简算法[J]计算机学报,2012,35(5):1011?1017.