{"id":14957020,"url":"https://github.com/facebook/cachelib","last_synced_at":"2025-05-14T09:06:58.730Z","repository":{"id":37257982,"uuid":"223490876","full_name":"facebook/CacheLib","owner":"facebook","description":"Pluggable in-process caching engine to build and scale high performance services","archived":false,"fork":false,"pushed_at":"2025-05-12T16:40:35.000Z","size":30110,"stargazers_count":1327,"open_issues_count":34,"forks_count":278,"subscribers_count":52,"default_branch":"main","last_synced_at":"2025-05-12T17:55:10.326Z","etag":null,"topics":["cache","cache-engine","concurrency","cpp","performance","ssd"],"latest_commit_sha":null,"homepage":"https://www.cachelib.org","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/facebook.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2019-11-22T21:39:48.000Z","updated_at":"2025-05-12T16:40:39.000Z","dependencies_parsed_at":"2024-06-13T19:32:07.200Z","dependency_job_id":"dc108577-19fa-4daf-bc89-74e86feaa9ba","html_url":"https://github.com/facebook/CacheLib","commit_stats":{"total_commits":5894,"total_committers":130,"mean_commits":45.33846153846154,"dds":"0.44893111638954875","last_synced_commit":"0ca68346c7f224df2a7a885f75e85ea5fc7e4e1c"},"previous_names":[],"tags_count":170,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/facebook%2FCacheLib","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/facebook%2FCacheLib/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/facebook%2FCacheLib/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/facebook%2FCacheLib/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/facebook","download_url":"https://codeload.github.com/facebook/CacheLib/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254110374,"owners_count":22016391,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cache","cache-engine","concurrency","cpp","performance","ssd"],"created_at":"2024-09-24T13:13:54.725Z","updated_at":"2025-05-14T09:06:58.706Z","avatar_url":"https://github.com/facebook.png","language":"C++","readme":"\u003cp align=\"center\"\u003e\n  \u003cimg width=\"500\" height=\"140\" alt=\"CacheLib\" src=\"website/static/img/CacheLib-Logo-Large-transp.png\"\u003e\n\u003c/p\u003e\n\n# CacheLib\n\nPluggable caching engine to build and scale high performance cache services. See\n[www.cachelib.org](https://cachelib.org) for documentation and more information.\n\n\n## What is CacheLib ?\n\nCacheLib is a C++ library providing in-process high performance caching\nmechanism. CacheLib provides a thread safe API to build high throughput,\nlow overhead caching services, with built-in ability to leverage\nDRAM and SSD caching transparently.\n\n\n## Performance benchmarking\n\nCacheLib provides a standalone executable `CacheBench` that can be used to\nevaluate the performance of heuristics and caching hardware platforms against\nproduction workloads. Additionally `CacheBench` enables stress testing\nimplementation and design changes to CacheLib to catch correctness and\nperformance issues.\n\nSee [CacheBench](https://cachelib.org/docs/Cache_Library_User_Guides/Cachebench_Overview) for usage details\nand examples.\n\n## Versioning\nCacheLib 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 compatibility information when the version number increases can be found in the [changelog](https://github.com/facebook/CacheLib/blob/main/CHANGELOG.md).\n\n\n## Building and installation with `getdeps.py`\n\nThis script is used by many of Meta's OSS tools.  It will download and build all of the necessary dependencies first, and will then invoke cmake etc to build folly.  This will help ensure that you build with relevant versions of all of the dependent libraries, taking into account what versions are installed locally on your system.\n\n### Dependencies\n\nYou can install system dependencies to save building them:\n\n    # Clone the repo\n    git clone https://github.com/facebook/CacheLib\n    # Install dependencies\n    cd CacheLib\n    sudo ./build/fbcode_builder/getdeps.py install-system-deps --recursive cachelib\n\nIf you'd like to see the packages before installing them:\n\n    ./build/fbcode_builder/getdeps.py install-system-deps --dry-run --recursive\n\nOn other platforms or if on Linux and without system dependencies `getdeps.py` will mostly download and build them for you during the build step.\n\nSome of the dependencies `getdeps.py` uses and installs are:\n\n  * a version of boost compiled with C++14 support.\n  * googletest is required to build and run folly's tests.\n\n### Build\n\nThis script will download and build all of the necessary dependencies first,\nand will then invoke cmake etc to build CacheLib.  This will help ensure that you build with relevant versions of all of the dependent libraries, taking into account what versions are installed locally on your system.\n\n`getdeps.py` currently requires python 3.6+ to be on your path.\n\n`getdeps.py` will invoke cmake etc.\n\n    # Clone the repo\n    git clone https://github.com/facebook/CacheLib\n    cd CacheLib\n    # Build, using system dependencies if available\n    python3 ./build/fbcode_builder/getdeps.py --allow-system-packages build cachelib\n\n### Run tests\n\nBy default `getdeps.py` will build the tests for folly. To run them:\n\n    cd folly\n    python3 ./build/fbcode_builder/getdeps.py --allow-system-packages test cachelib\n\n\n\n## Contributing\n\nWe'd love to have your help in making CacheLib better. If you're interested,\nplease read our [guide to contributing](CONTRIBUTING.md)\n\n\n\n## License\n\nCacheLib is *apache* licensed, as found in the [LICENSE](LICENSE) file.\n\n\n\n## Reporting and Fixing Security Issues\n\nPlease do not open GitHub issues or pull requests - this makes the problem\nimmediately visible to everyone, including malicious actors. Security issues in\nCacheLib can be safely reported via Facebook's Whitehat Bug Bounty program:\n\nhttps://www.facebook.com/whitehat\n\nFacebook's security team will triage your report and determine whether or not is\nit eligible for a bounty under our program.\n\n\n## Build status\n\nClicking on a badge will show you the recent builds for that OS. If your target OS's build is failing, you may check out the latest [release](https://github.com/facebook/CacheLib/releases). If the release is too stale for you, you may wish to check recent issues and PRs for known workarounds.\n\n\n[![linux](https://github.com/facebook/CacheLib/actions/workflows/getdeps_linux.yml/badge.svg)](https://github.com/facebook/CacheLib/actions/workflows/getdeps_linux.yml)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffacebook%2Fcachelib","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffacebook%2Fcachelib","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffacebook%2Fcachelib/lists"}