{'fraction_non_alphanumeric': 0.0319634703196347, 'fraction_numerical': 0.0, 'mean_word_length': 5.2272727272727275, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Redis++: A High Performance In-Memory Database Based on Segmented Memory Management and Two-Level Hash Index

Redis is an open source in-memory data structure store, used as a database, cache and message broker. However, there are two problems that will degrade its performance. One is the memory fragmentation problem, another is cache miss problem. For the purpose, this paper presents a highperformance in-memory database Redis++. In the memory management mechanism, Redis++ will allocate and deallocate a fixedsize memory segment from the system. The data in each memory segment are stored continuously, and the memory segment is reclaimed based on the profit evaluation model. Secondly, a twolevel hash index structure is designed, the structure uses twolevel index to complete only one cache mapping per query. In addition, instruction-level parallelism is implemented using the single instruction multiple data instruction set, which speeds up the query efficiency of the secondary index. The experiments prove the effect of Redis++ on memory utilization, response latency and throughput.