diff --git a/deps/README.md b/deps/README.md index 8da051baa..07ea02528 100644 --- a/deps/README.md +++ b/deps/README.md @@ -1,9 +1,9 @@ -This directory contains all Redis dependencies, except for the libc that +This directory contains all Redict dependencies, except for the libc that should be provided by the operating system. * **Jemalloc** is our memory allocator, used as replacement for libc malloc on Linux by default. It has good performances and excellent fragmentation behavior. This component is upgraded from time to time. -* **hiredis** is the official C client library for Redis. It is used by redis-cli, redis-benchmark and Redis Sentinel. It is part of the Redis official ecosystem but is developed externally from the Redis repository, so we just upgrade it as needed. -* **linenoise** is a readline replacement. It is developed by the same authors of Redis but is managed as a separated project and updated as needed. +* **hiredict** is the official C client library for Redict. It is used by redict-cli, redict-benchmark and Redict Sentinel. +* **linenoise** is a readline replacement. It is developed by the same authors of Redict but is managed as a separated project and updated as needed. * **lua** is Lua 5.1 with minor changes for security and additional libraries. * **hdr_histogram** Used for per-command latency tracking histograms. @@ -13,10 +13,10 @@ How to upgrade the above dependencies Jemalloc --- -Jemalloc is modified with changes that allow us to implement the Redis -active defragmentation logic. However this feature of Redis is not mandatory -and Redis is able to understand if the Jemalloc version it is compiled -against supports such Redis-specific modifications. So in theory, if you +Jemalloc is modified with changes that allow us to implement the Redict +active defragmentation logic. However this feature of Redict is not mandatory +and Redict is able to understand if the Jemalloc version it is compiled +against supports such Redict-specific modifications. So in theory, if you are not interested in the active defragmentation, you can replace Jemalloc just following these steps: @@ -28,7 +28,7 @@ just following these steps: Jemalloc configuration script is broken and will not work nested in another git repository. -However note that we change Jemalloc settings via the `configure` script of Jemalloc using the `--with-lg-quantum` option, setting it to the value of 3 instead of 4. This provides us with more size classes that better suit the Redis data structures, in order to gain memory efficiency. +However note that we change Jemalloc settings via the `configure` script of Jemalloc using the `--with-lg-quantum` option, setting it to the value of 3 instead of 4. This provides us with more size classes that better suit the Redict data structures, in order to gain memory efficiency. If you want to upgrade Jemalloc while also providing support for active defragmentation, in addition to the above steps you need to perform @@ -38,7 +38,7 @@ the following additional steps: to add `#define JEMALLOC_FRAG_HINT`. 6. Implement the function `je_get_defrag_hint()` inside `src/jemalloc.c`. You can see how it is implemented in the current Jemalloc source tree shipped - with Redis, and rewrite it according to the new Jemalloc internals, if they + with Redict, and rewrite it according to the new Jemalloc internals, if they changed, otherwise you could just copy the old implementation if you are upgrading just to a similar version of Jemalloc. @@ -58,12 +58,12 @@ cd deps/jemalloc 4. Update jemalloc's version in `deps/Makefile`: search for "`--with-version=-0-g0`" and update it accordingly. 5. Commit the changes (VERSION,configure,Makefile). -Hiredis +Hiredict --- -Hiredis is used by Sentinel, `redis-cli` and `redis-benchmark`. Like Redis, uses the SDS string library, but not necessarily the same version. In order to avoid conflicts, this version has all SDS identifiers prefixed by `hi`. +Hiredict is used by Sentinel, `redict-cli` and `redict-benchmark`. Like Redict, uses the SDS string library, but not necessarily the same version. In order to avoid conflicts, this version has all SDS identifiers prefixed by `hi`. -1. `git subtree pull --prefix deps/hiredis https://github.com/redis/hiredis.git --squash`
+1. `git subtree pull --prefix deps/hiredict https://codeberg.org/redict/hiredict --squash`
This should hopefully merge the local changes into the new version. 2. Conflicts will arise (due to our changes) you'll need to resolve them and commit. @@ -71,7 +71,7 @@ Linenoise --- Linenoise is rarely upgraded as needed. The upgrade process is trivial since -Redis uses a non modified version of linenoise, so to upgrade just do the +Redict uses a non modified version of linenoise, so to upgrade just do the following: 1. Remove the linenoise directory. @@ -81,11 +81,11 @@ Lua --- We use Lua 5.1 and no upgrade is planned currently, since we don't want to break -Lua scripts for new Lua features: in the context of Redis Lua scripts the +Lua scripts for new Lua features: in the context of Redict Lua scripts the capabilities of 5.1 are usually more than enough, the release is rock solid, and we definitely don't want to break old scripts. -So upgrading of Lua is up to the Redis project maintainers and should be a +So upgrading of Lua is up to the Redict project maintainers and should be a manual procedure performed by taking a diff between the different versions. Currently we have at least the following differences between official Lua 5.1