Name Date Size

..27-Apr.-20224 KiB

.clang-formatH A D15-Nov.-20211.3 KiB

.github/H01-Nov.-20214 KiB

.gitignoreH A D11-Oct.-2021437

.gitmodulesH A D11-Oct.-2021390

.packit.yamlH A D25-Mar.-2022982

BENCHMARKS.mdH A D11-Oct.-2021773

BUILD.mdH A D11-Oct.-20218.9 KiB

cachelib/H24-Mar.-20224 KiB

CacheLib-Logo.pngH A D11-Oct.-202124.1 KiB

CHANGELOG.mdH A D07-Dec.-2021631

CODE_OF_CONDUCT.mdH A D11-Oct.-20213.3 KiB

contrib/H23-May-20224 KiB

CONTRIBUTING.mdH A D11-Oct.-20212.3 KiB

examples/H11-Oct.-20214 KiB

LICENSEH A D11-Oct.-20219.9 KiB

README.mdH A D14-Oct.-20212.9 KiB

website/H14-May-20224 KiB

README.md

1<p align="center">
2  <img width="500" height="140" alt="CacheLib" src="website/static/img/CacheLib-Logo-Large-transp.png">
3</p>
4
5# CacheLib
6
7Pluggable caching engine to build and scale high performance cache services. See
8[www.cachelib.org](https://cachelib.org) for documentation and more information.
9
10
11## What is CacheLib ?
12
13CacheLib is a C++ library providing in-process high performance caching
14mechanism. CacheLib provides a thread safe API to build high throughput,
15low overhead caching services, with built-in ability to leverage
16DRAM and SSD caching transparently.
17
18
19## Performance benchmarking
20
21CacheLib provides a standalone executable `CacheBench` that can be used to
22evaluate the performance of heuristics and caching hardware platforms against
23production workloads. Additionally `CacheBench` enables stress testing
24implementation and design changes to CacheLib to catch correctness and
25performance issues.
26
27See [CacheBench](https://cachelib.org/docs/Cache_Library_User_Guides/Cachebench_Overview) for usage details
28and examples.
29
30## Versioning
31CacheLib has one single version number `facebook::cachelib::kCachelibVersion` that can be located at [CacheVersion.h](https://github.com/facebook/CacheLib/blob/main/cachelib/allocator/CacheVersion.h#L31). This version number must be incremented when incompatible changes are introduced. A change is incompatible if it could cause a complication failure due to removing public API or requires dropping the cache. Details about the compatility information when the version number increases can be found in the [changelog](https://github.com/facebook/CacheLib/blob/main/CHANGELOG.md).
32
33
34## Building and installation
35
36CacheLib provides a build script which prepares and installs all
37dependencies and prerequisites, then builds CacheLib.
38The build script has been tested to work on CentOS 8,
39Ubuntu 18.04, and Debian 10.
40
41```sh
42git clone https://github.com/facebook/CacheLib
43cd CacheLib
44./contrib/build.sh -d -j -v
45
46# The resulting library and executables:
47./opt/cachelib/bin/cachebench --help
48```
49
50Re-running `./contrib/build.sh` will update CacheLib and its dependencies
51to their latest versions and rebuild them.
52
53See [build](https://cachelib.org/docs/installation/installation) for more details about
54the building and installation process.
55
56
57## Contributing
58
59We'd love to have your help in making CacheLib better. If you're interested,
60please read our [guide to contributing](CONTRIBUTING.md)
61
62
63
64## License
65
66CacheLib is *apache* licensed, as found in the [LICENSE](LICENSE) file.
67
68
69
70## Reporting and Fixing Security Issues
71
72Please do not open GitHub issues or pull requests - this makes the problem
73immediately visible to everyone, including malicious actors. Security issues in
74CacheLib can be safely reported via Facebook's Whitehat Bug Bounty program:
75
76https://www.facebook.com/whitehat
77
78Facebook's security team will triage your report and determine whether or not is
79it eligible for a bounty under our program.
80