There are plenty of other caches and KV stores out there, but this one aims to minimise the surface a bit more:
- There's less error handling required due to some code simplifications made
- It stores only strings so no type-casting is required
- There are no mutexes involved so we're not locking writes at any point
This is one of my first OSS contributions so I'd love some feedback :)
Have you benchmarked this against using a sync.Map based version by any chance? It would be really interesting to see what’s the performance difference.
That's a great idea, I'll try and do that! Also, thanks for dawning on me the existence of `sync.Map`, I tried looking for something native but somehow I missed this. I guess tbkv won't match the native code performance, but it's a great exercise nonetheless! :)