v0.1.5
It has been a while from the last release, this new version includes quite a number of minor bugfixes, general improvements and, most importantly, ARMv8 64bit support.
Now cachegrand can run on ARMv8 hardware when running a 64bit operating system, both the hashtable and the fiber library have been optimized to take advantage of the ARM instruction set.
The release actually contains also the initial implementation of the new hashtable although this hasn't been integrated in cachegrand yet.
The docker image has been updated to include the ARMv8 64bit build.
Below the full list of commands implemented
| 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 | |
What's Changed (most relevant PRs)
- Implement types support in the storage db by @danielealbano in https://github.com/danielealbano/cachegrand/pull/232
- Cachegrand Benchmark Generator by @Valkyrie00 in https://github.com/danielealbano/cachegrand/pull/244
- Fix benchmark hashtable mpmc op set by @danielealbano in https://github.com/danielealbano/cachegrand/pull/245
- Fix hugepage cache stats usage by @danielealbano in https://github.com/danielealbano/cachegrand/pull/246
- Add keys validation hashtable mpmc set test by @danielealbano in https://github.com/danielealbano/cachegrand/pull/247
- Include the cachegrand-benchmark-generator only when building the internal benches by @danielealbano in https://github.com/danielealbano/cachegrand/pull/249
- Implement aarch64 armv8 support by @danielealbano in https://github.com/danielealbano/cachegrand/pull/250
- Improved code coverage by @Valkyrie00 in https://github.com/danielealbano/cachegrand/pull/252
- Refactor small circular buffer by @danielealbano in https://github.com/danielealbano/cachegrand/pull/254
New Contributors
- @ryanrussell made their first contribution in https://github.com/danielealbano/cachegrand/pull/235
Full Changelog: https://github.com/danielealbano/cachegrand/compare/v0.1.4...v0.1.5