NewLife.Redis
is a Redis client component that targets real-time computing for high-performance processing of big data.
The Redis Protocol Foundation implementation Redis/redisclient is located in the X component, the excludes is the extension implementation, mainly adds the list structure, the hash structure, the queue and so on advanced function.
Source: Https://github.com/NewLifeX/NewLife.Redis
Nuget:NewLife.Redis
Characteristics
- In Zto Big Data real-time computing is widely used, more than 200 Redis instances have been working stably for more than a year, processing nearly 100 million parcel data daily, the daily average number of calls 8 billion times.
- Low latency, get/set operation averaging time 200~600us (including round-trip network communication)
- Large throughput, with connection pool, maximum support 1000 concurrent
- High performance, support for binary serialization
Redis Experience Sharing
- Multi-instance deployment on Linux, the number of instances equals the number of processors, the maximum memory of each instance is native physical memory, and the single instance memory is protected from explosion.
- Storing massive amounts of data (1 billion +) on multiple instances based on the key hash (CRC16/CRC32), multiplying read and write performance
- binary serialization, not common JSON serialization
- Reasonable design of the value of each key, including but not limited to the use of bulk acquisition, the principle is to let each network packet control around 1.4k bytes, reduce the number of communications
- The get/set operation of the Redis client takes an average of 200~600us (including round-trip network traffic) as a reference to evaluate the network environment and the Redis client component
- Merging a batch of commands using pipe pipeline
- The primary performance bottleneck for Redis is serialization, network bandwidth, and memory size, which can be a bottleneck when abused
- Other available optimization skills above experience, derived from more than 300 instances of more than 4T of space more than a year of stable work experience, and in accordance with the importance of the order, according to the scene needs to be used as appropriate!
"10 billion small data real-time computing platform" directory
Thinking of second-kill and current-limit with Redis
How Redis achieves 2.2 million ops in big data analytics
400 million rows per day SQLite order Big Data test (source code)
New Life Redis component (. Net Core Open Source)