@@ -4,16 +4,29 @@ libvmemcache: buffer based LRU cache
44[ ![ Build Status] ( https://travis-ci.org/pmem/vmemcache.svg?branch=master )] ( https://travis-ci.org/pmem/vmemcache )
55[ ![ Coverage Status] ( https://codecov.io/github/pmem/vmemcache/coverage.svg?branch=master )] ( https://codecov.io/gh/pmem/vmemcache/branch/master )
66
7- ### WARNING ###
8-
9- This library is in a '** Work-In-Progress** ' state,
10- ** API is not stable** and it ** may change at any time** .
7+ ** libvmemcache** is an embeddable and lightweight in-memory caching solution.
8+ It's designed to fully take advantage of large capacity memory, such as
9+ Persistent Memory with DAX, through memory mapping in an efficient
10+ and scalable way.
11+
12+ The things that make it unique are:
13+ - Extent-based memory allocator which sidesteps the fragmentation
14+ problem that affects most in-memory databases and allows the cache
15+ to achieve very high space utilization for most workloads.
16+ - Buffered LRU, which combines a traditional LRU doubly-linked
17+ list with a non-blocking ring buffer to deliver high degree
18+ of scalability on modern multi-core CPUs.
19+ - Unique indexing structure, critnib, which delivers
20+ high-performance while being very space efficient.
21+
22+ The cache is tuned to work optimally with relatively large value sizes. The
23+ smallest possible size is 256 bytes, but libvmemcache works best if the expected
24+ value sizes are above 1 kilobyte.
1125
1226# Building The Source #
1327
1428Requirements:
1529- cmake >= 3.3
16- - git
1730
1831Optional:
1932- valgrind (for tests)
0 commit comments