Redis as atomic distributed cache system
In a high available high throughput distributed system, atomicity of any of the CRUD operation is extremely critical. Any inconsistency could easily propagate and extremely difficult to trace when we are talking about 1m transactions per second. While it is hard to imagine a single server can handle 1m transactions per second, it is not so hard when it comes to highly clustered microservices. Then the question arise how do we maintain awareness between each microservices. Ideally a microservice should be independent to another instance of itself, but there are edge cases whereby there is a need for all instances to be aware or share information to one another. This sharing can be achieved using database, or MQ, or Redis. In this post I will be talking about Redis and how the Transaction in Redis works, and provide example of high throughput concurrent test that Redis manage to handle easily Redis Transction Transaction is rather unique in Redis and takes time to understand, R