v0.2.0
๐ cachegrand v0.2.0: Featuring RDB Load/Save, Eviction Policies, Performance Enhancements, and More!
We're excited to announce the release of cachegrand v0.2.0, packed with new features, optimizations, and improvements to elevate your data storage experience. Here's what's new in this release:
โจ New Features:
- RDB Load/Save support: Exchange data with Redis or other Redis-like platforms (currently supporting strings only)
- Keys Eviction: Configurable limits and policies with default hard limit at 75% usable memory and soft limit at 70%
- Auto-tuning keys eviction aggressiveness based on soft and hard limits
- Clock Performance Improvements: Switched to TSC for most time-related operations
- Optimized Hashtable: Efficiently identifies and skips empty sections to save cycles and avoid unnecessary data scanning
- io_uring Cooperative Taskrun and Single Issuer Support: Boosts performance (5.19 kernel required for Taskrun; 6.0 kernel required for Single Issuer)
- FFMA Support without Hugepages: Rewritten and optimized, outperforming other memory allocators in most cases under low and high concurrency
๐ Visit our website https://cachegrand.io/ and GitHub repository https://github.com/danielealbano/cachegrand for more information.
Also, don't miss out on the opportunity of joining the beta testing for a Cache-as-a-Service platform based on top of cachegrand, visit https://cachegrand.io/cache-as-a-service for more information.
๐ฏ To try it out
docker run \
-it \
--pull=always \
--ulimit memlock=-1:-1 \
--ulimit nofile=262144:262144 \
-p 6379:6379 \
-p 6380:6380 \
--rm \
cachegrand/cachegrand-server:latest
๐ Below the list of supported Redis commands
| Command | Notes | | ------------- |------------------------------------------------------| | โ APPEND | | | โ COPY | Missing DB parameter | | โ DBSIZE | | | โ DECR | | | โ DECRBY | | | โ DEL | | | โ EXISTS | | | โ EXPIRE | | | โ EXPIREAT | | | โ EXPIRETIME | | | โ FLUSHDB | Missing ASYNC parameter | | โ GET | | | โ GETDEL | | | โ GETEX | | | โ GETRANGE | | | โ GETSET | | | โ HELLO | Missing AUTH and SETNAME parameters | | โ INCR | | | โ INCRBY | | | โ INCRBYFLOAT | | | โ KEYS | | | โ LCS | Missing IDX, MINMATCHLEN and WITHMATCHLEN parameters | | โ MGET | | | โ MSET | | | โ MSETNX | | | โ PERSIST | | | โ PEXPIRE | | | โ PEXPIREAT | | | โ PEXPIRETIME | | | โ PING | | | โ PSETEX | | | โ PTTL | | | โ QUIT | | | โ RANDOMKEY | | | โ RENAME | | | โ RENAMENX | | | โ SCAN | Missing TYPE parameter | | โ SET | | | โ SETEX | | | โ SETNX | | | โ SETRANGE | | | โ SHUTDOWN | | | โ STRLEN | | | โ SUBSTR | | | โ TOUCH | | | โ TTL | | | โ UNLINK | |
We appreciate your feedback and questions in the comments below. Thank you for trying cachegrand v0.2.0, and happy coding! ๐