How I built a High Performance cache implementation

It's been a week since I open-sourced my 4th cpp-based project. My project is called velocache, inspired by the aim of making it a High Performance cache tool for terminal applications. This project uses a doubly linked-list as the main data structure for storing and retriving the cache data. The DLL is accompanied by unordered map for key-value storage to achieve O(1) lookup time.

This cache implementation uses LRU eviction policy for the cache behavior and functionality. In short, LRU eviction could be understood as evicting or deleting the least recently used/oldest data in the cache. In the context of this project, it could be the least recently accessed data in the file.

The things needed for consideration were as follows:


The solution: