All Projects → facebook → CacheLib

facebook / CacheLib

Licence: Apache-2.0 License
Pluggable in-process caching engine to build and scale high performance services

Programming Languages

C++
36643 projects - #6 most used programming language
CMake
9771 projects
rust
11053 projects
shell
77523 projects
javascript
184084 projects - #8 most used programming language
Thrift
134 projects

Projects that are alternatives of or similar to CacheLib

Shift
Light-weight EventKit wrapper.
Stars: ✭ 31 (-95.13%)
Mutual labels:  concurrency
aiorwlock
Read/Write Lock - synchronization primitive for asyncio
Stars: ✭ 90 (-85.87%)
Mutual labels:  concurrency
cache-command
Manages object and transient caches.
Stars: ✭ 12 (-98.12%)
Mutual labels:  cache
tiny-cache
Cache WordPress post content, template part, translations and nav menu output in persistent object cache
Stars: ✭ 26 (-95.92%)
Mutual labels:  cache
varnish-cache-reaper
Simple python/twisted HTTP daemon forwarding PURGE and BAN requests to multiple varnish (or other proxy) instances
Stars: ✭ 12 (-98.12%)
Mutual labels:  cache
SSD-Pruning-and-quantization
Pruning and quantization for SSD. Model compression.
Stars: ✭ 19 (-97.02%)
Mutual labels:  ssd
sto
Software Transactional Objects
Stars: ✭ 40 (-93.72%)
Mutual labels:  concurrency
async-enumerable-dotnet
Experimental operators for C# 8 IAsyncEnumerables
Stars: ✭ 32 (-94.98%)
Mutual labels:  concurrency
moment-cache
⏱ Simple utility to cache moment.js results and speed up moment calls.
Stars: ✭ 29 (-95.45%)
Mutual labels:  cache
ultrafetch
Node-based fetch backed with an RFC-7234 compliant filesystem cache.
Stars: ✭ 30 (-95.29%)
Mutual labels:  cache
bazel-cache
Minimal cloud oriented Bazel gRPC cache
Stars: ✭ 33 (-94.82%)
Mutual labels:  cache
KJNetworkPlugin
🎡A lightweight but powerful Network library. Network Plugin, Support batch and chain operation. 插件版网络架构
Stars: ✭ 43 (-93.25%)
Mutual labels:  cache
fastapi-cache
fastapi-cache is a tool to cache fastapi response and function result, with backends support redis and memcached.
Stars: ✭ 375 (-41.13%)
Mutual labels:  cache
futex
File-based Ruby Mutex
Stars: ✭ 14 (-97.8%)
Mutual labels:  concurrency
infinitree
Scalable and encrypted embedded database with 3-tier caching
Stars: ✭ 80 (-87.44%)
Mutual labels:  cache
memoize
Caching library for asynchronous Python applications.
Stars: ✭ 53 (-91.68%)
Mutual labels:  cache
transit
Massively real-time city transit streaming application
Stars: ✭ 20 (-96.86%)
Mutual labels:  concurrency
soabase-stages
A tiny library that makes staged/pipelined CompletableFutures much easier to create and manage
Stars: ✭ 23 (-96.39%)
Mutual labels:  concurrency
Async-Channel
Python async multi-task communication library. Used by OctoBot project.
Stars: ✭ 13 (-97.96%)
Mutual labels:  concurrency
CNN-Series-Getting-Started-and-PyTorch-Implementation
我的笔记和Demo,包含分类,检测、分割、知识蒸馏。
Stars: ✭ 49 (-92.31%)
Mutual labels:  ssd

CacheLib

CacheLib

Pluggable caching engine to build and scale high performance cache services. See www.cachelib.org for documentation and more information.

What is CacheLib ?

CacheLib is a C++ library providing in-process high performance caching mechanism. CacheLib provides a thread safe API to build high throughput, low overhead caching services, with built-in ability to leverage DRAM and SSD caching transparently.

Performance benchmarking

CacheLib provides a standalone executable CacheBench that can be used to evaluate the performance of heuristics and caching hardware platforms against production workloads. Additionally CacheBench enables stress testing implementation and design changes to CacheLib to catch correctness and performance issues.

See CacheBench for usage details and examples.

Versioning

CacheLib has one single version number facebook::cachelib::kCachelibVersion that can be located at CacheVersion.h. 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.

Building and installation

CacheLib provides a build script which prepares and installs all dependencies and prerequisites, then builds CacheLib. The build script has been tested to work on CentOS 8, Ubuntu 18.04, and Debian 10.

git clone https://github.com/facebook/CacheLib
cd CacheLib
./contrib/build.sh -d -j -v

# The resulting library and executables:
./opt/cachelib/bin/cachebench --help

Re-running ./contrib/build.sh will update CacheLib and its dependencies to their latest versions and rebuild them.

See build for more details about the building and installation process.

Contributing

We'd love to have your help in making CacheLib better. If you're interested, please read our guide to contributing

License

CacheLib is apache licensed, as found in the LICENSE file.

Reporting and Fixing Security Issues

Please do not open GitHub issues or pull requests - this makes the problem immediately visible to everyone, including malicious actors. Security issues in CacheLib can be safely reported via Facebook's Whitehat Bug Bounty program:

https://www.facebook.com/whitehat

Facebook's security team will triage your report and determine whether or not is it eligible for a bounty under our program.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].