{"repo":"viccon/sturdyc","free":true,"listed":false,"github":"https://github.com/viccon/sturdyc","clone":"git clone https://github.com/viccon/sturdyc.git","description":"A caching library with advanced concurrency features designed to make I/O heavy applications robust and highly performant","language":"Go","stars":1280,"topics":["cache","go","golang","performance","concurrency"],"license":"MIT","category":"dev-tools","readme_excerpt":"A sturdy gopher shielding data sources from rapidly incoming requests. sturdyc : a caching library for building sturdy systems sturdyc eliminates cache stampedes and can minimize data source load in high-throughput systems through features such as request coalescing and asynchronous refreshes. It combines the speed of in-memory caching with granular control over data freshness. At its core, sturdyc provides non-blocking reads and sharded writes for minimal lock contention. The xxhash algorithm is used for efficient key distribution. It has all the functionality you would expect from a caching library, but what sets it apart are the flexible configurations that have been designed to make I/O heavy applications both robust and highly performant . We have been using this package in production to enhance both the performance and reliability of our services that retrieve data from distributed caches, databases, and external APIs. While the API surface of sturdyc is tiny, it offers extensive configuration options. I encourage you to read through this README and experiment with the examples in order to understand its full capabilities. This screenshot shows the P95 latency improvements we observed after adding this package in front of a distributed key-value store: &nbsp; &nbsp; And through a combination of inflight-tracking, asynchronous refreshes, and refresh coalescing, we reduced load on underlying data sources by more than 90%. This reduction in outgoing requests has enabled us","default_branch":null,"files":null,"tree":[],"storefront":"/r/viccon","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/viccon/sturdyc/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}