1
0
Fork
You've already forked redict_redict
0
forked from redict/redict
A distributed key/value database
  • C 73.5%
  • Tcl 25.4%
  • Python 0.5%
  • Makefile 0.2%
  • Ruby 0.2%
Drew DeVault ad4afad163 Backport CVE fixes from Valkey
* (CVE-2025-49844) A Lua script may lead to remote code execution
* (CVE-2025-46817) A Lua script may lead to integer overflow and potential RCE
* (CVE-2025-46818) A Lua script can be executed in the context of another user
* (CVE-2025-46819) LUA out-of-bound read
Co-authored-by: Madelyn Olson <madelyneolson@gmail.com>
Signed-off-by: Madelyn Olson <madelyneolson@gmail.com>
Signed-off-by: Drew DeVault <drew@ddevault.org>
2025年10月08日 10:52:04 +02:00
.builds .builds/matrix.yml: distclean between runs 2024年04月02日 11:08:59 +02:00
.forgejo/workflows Add build and test workflow 2024年07月04日 16:30:42 +02:00
.reuse REUSE: Add copyright for .forgejo/workflows/run-tests.yaml 2024年09月07日 13:40:35 +02:00
deps Backport CVE fixes from Valkey 2025年10月08日 10:52:04 +02:00
LICENSES Add missing LGPL-3.0-or-later license text 2024年03月25日 13:53:26 +13:00
src Backport CVE fixes from Valkey 2025年10月08日 10:52:04 +02:00
tests Backport CVE fixes from Valkey 2025年10月08日 10:52:04 +02:00
utils utils/generate-module-api-doc.rb: update for redict.io 2024年03月26日 10:50:41 +01:00
.editorconfig Add .editorconfig 2024年03月23日 13:44:50 +01:00
.gitattributes Fix commands.c build issue on merge ( #10172 ) 2022年01月25日 12:24:06 +02:00
.gitignore Rename source files and make targets 2024年03月21日 10:49:18 +01:00
CODE_OF_CONDUCT.md Update CODE_OF_CONDUCT.md 2024年03月26日 14:13:57 +01:00
CONTRIBUTING.md Update top-level documentation 2024年03月22日 13:41:12 +01:00
Makefile Makefile: add support to DESTDIR 2024年03月25日 11:24:24 +00:00
README.md Mention USE_SYSTEM_HIREDICT setting in README 2024年04月14日 11:54:28 +03:00
redict.conf Revert "Remove crashlogs and watchdog timer" 2025年05月05日 16:58:50 +09:00
runtest all: let's go LGPL over GPL 2024年03月21日 20:11:44 +01:00
runtest-cluster all: let's go LGPL over GPL 2024年03月21日 20:11:44 +01:00
runtest-moduleapi all: let's go LGPL over GPL 2024年03月21日 20:11:44 +01:00
runtest-sentinel all: let's go LGPL over GPL 2024年03月21日 20:11:44 +01:00
SECURITY.md Update SECURITY.md 2024年03月26日 14:20:40 +01:00
sentinel.conf sentinel.conf: redis => redict 2024年03月21日 10:43:01 +01:00
TLS.md TLS.md: Redis => Redict 2024年03月22日 13:44:30 +01:00

Redict

Redict is a distributed key/value store (a remote dictionary, if you will).

Redict is an independent fork of Redis®* OSS 7.2.4 licensed under the Lesser GNU General Public license (LGPL-3.0-only). Redict is not affiliated with Redis®.

Installation and usage

For documentation on Redict's installation and usage, consult the website. The intended audience of this README file are those who wish to build Redict from source for development purposes.

Building Redict from source

Redict only requires a compatible operating system (Unix-like), a standard C11 toolchain, and GNU make. To build Redict, simply run "make".

Customizing the build

You can pass the following variables to Redict to customize the build:

  • USE_JEMALLOC=no MALLOC=libc: use the libc allocator rather than jemalloc
  • USE_SYSTEM_JEMALLOC=yes: use the system's installed jemalloc libraries rather than the vendored copy.
  • USE_SYSTEM_HIREDICT=yes: use the system's installed hiredict libraries rather than the vendored copy.
  • BUILD_TLS=yes: build with TLS support. Requires OpenSSL.
  • USE_SYSTEMD=yes: build with systemd support. Requires libsystemd.
  • PROG_SUFFIX="-suffix": Append "-suffix" to executable names

Running tests

To run the test suite, run ./runtest after the build. The following additional test suites are provided:

  • ./runtest-cluster: run cluster configuration tests
  • ./runtest-moduleapi: run Redict Module API tests
  • ./runtest-sentinel: run sentinel configuration tests

To run tests with TLS support enabled, build Redict with BUILD_TLS=yes and generate test certificates with ./utils/gen-test-certs.sh. You may then run ./runtests --tls to run the test suite with TLS testing enabled.

Running Redict

After building Redict, simply run ./src/redict-server. You may connect to it with ./src/redict-cli.

For details on TLS usage, consult TLS.md.


* Redis is a registered trademark of Redis Ltd. Any rights therein are reserved to Redis Ltd. Any use by the Redict project is for referential purposes only and does not indicate any sponsorship, endorsement or affiliation between Redis and the Redict project.