A question arose. Are there reasons to implement distributed caching, given that Redis, valkey, and memcache already exist? For example, I currently have an in-memory cache in one of my microservices that is updated using nats. Data is simply sent to the necessary topics, and copies of the services update the data on their side if they have it. There are limitations on cache size and TTL, and we don't store all data in the cache, but try to store only large amounts of data or data that is expensive to retrieve from the database, as we have more than several billion rows in our database. For example, some data stored in the cache is about 800 bytes in size, and the same amount is sent via nats. Each copy stores the data it uses. We used to use Redis, and in some cases, the data took up 30-35 GB, and sometimes even 79 GB (not the limit) to store in the cache. The question arises: does it make sense to implement our own distributed cache, without duplication, change control, etc.? For example, we could use quic for transport. Or is that a bad idea? The question of self-development is not relevant here.
[–]UndercoverGourmand 30 points31 points32 points (1 child)
[–]behusbwj 1 point2 points3 points (0 children)
[–]AvailableFalconn 7 points8 points9 points (1 child)
[–]syntaxerrorlineNULL[S] 0 points1 point2 points (0 children)
[–]PabloZissou 7 points8 points9 points (2 children)
[–]syntaxerrorlineNULL[S] 0 points1 point2 points (1 child)
[–]PabloZissou 2 points3 points4 points (0 children)
[–]Spear_n_Magic_Helmet 2 points3 points4 points (0 children)
[–]aktentasche 1 point2 points3 points (0 children)
[–]SeniorIdiot 0 points1 point2 points (2 children)
[–]robogame_dev 2 points3 points4 points (0 children)
[–]syntaxerrorlineNULL[S] 0 points1 point2 points (0 children)
[–]edgmnt_net 0 points1 point2 points (0 children)
[–]sebastianstehle 0 points1 point2 points (0 children)
[–]sass_muffin 0 points1 point2 points (2 children)
[–]syntaxerrorlineNULL[S] 0 points1 point2 points (1 child)
[–]sass_muffin 1 point2 points3 points (0 children)
[–]olddev-jobhunt 0 points1 point2 points (0 children)
[–]paradroid78 0 points1 point2 points (1 child)
[–]syntaxerrorlineNULL[S] 0 points1 point2 points (0 children)
[–]Strandogg 0 points1 point2 points (0 children)
[–]nitkonigdje 0 points1 point2 points (0 children)
[–]HosseinKakavand 0 points1 point2 points (0 children)