{"repo":"modfin/cove","free":true,"listed":false,"github":"https://github.com/modfin/cove","clone":"git clone https://github.com/modfin/cove.git","description":"Embedded cache lib using sqlite for storage","language":"Go","stars":21,"topics":["cache","go","golang","sqlite","sqlite3","library","generics"],"license":"MIT","category":"databases-storage","readme_excerpt":"Cove cove is a caching library for Go that utilizes SQLite as the storage backend. It provides a TTL cache for key-value pairs with support for namespaces, batch operations, range scans and eviction callbacks. TL;DR A TTL caching for Go backed by SQLite. (See examples for usage) Use case cove is meant to be embedded into your application, and not as a standalone service. It is a simple key-value store that is meant to be used for caching data that is expensive to compute or retrieve. cove can also be used as a key-value store So why SQLite? There are plenty of in memory and other caches build in go, \\ eg https://github.com/avelino/awesome-go#cache, performance, concurrency, fast, LFU, LRU, ARC and so on. \\ There are also a few key-value stores build in go that can be embedded (just like cove), \\ eg https://github.com/dgraph-io/badger or https://github.com/boltdb/bolt and probably quite a few more, \\ https://github.com/avelino/awesome-go#databases-implemented-in-go. Well if these alternatives suits your use case, use them. The main benefit of using a cache/kv, from my perspective and the reason for building cove, is that a cache backed by sqlite should be decent and fast enough in most case. Its generically just a good solution while probably being outperformed by others in niche cases. - you can have very large K/V pairs - you can tune it for your use case - it should perform decently - you can cache hundreds of GB. SSD are fast these days. - page caching and tuning will help","default_branch":null,"files":null,"tree":[],"storefront":"/r/modfin","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/modfin/cove/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."}