redis

Redis , originally by SS, is an in-memory data structure store.

Attributes

Website https://redis.io
Repository https://github.com/redis/redis
Latest release 7.x
License BSD-3-Clause before version 7.4, Redis Source Available License v2 or Server Side Public License v1 since.
Maintainer Redis Ltd.

Alternatives and forks

See Also

Description

Redis is an in-memory data structure store that persists on disk. The data model is key-value, but many different kinds of values are supported: Strings, Lists, Sets, Sorted Sets, Hashes. It is somewhat like memcached but persistent.

Redis is implemented in C with a test suite written in Tcl. The test suite includes a Tcl client library .

History

Salvatore Sanfilippo aka "antirez" implemented the first version of Redis called "LMDB" in Tcl in 2009. (It is unrelated to LMDB, which was released in 2011.) He has published the source code to this version as a Gist on GitHub.

In June 2020 antirez stepped down as the maintainer of Redis. In March 2024 Redis Ltd. announced it was switching Redis to dual source-available licensing , leading to forks. LWN.net covered the event in "The race to replace Redis" .

Tcl clients

Retcl

Retcl is an event-driven, object-oriented, Redis client library targeting the Tcl scripting language.

Things that Retcl does which are missing in Salvatore's client are:

  • Pub/Sub support
  • Callbacks specified per subscription pattern / channel
  • Configurable results cache
  • Global and per-command sync / async modes
  • User-defined error handler

Other clients

There is another client library in the disque client implementation.

redis-tcl : Tcl library for Redis access.

Redis and Jim Tcl

Since version 0.81, Jim Tcl can be built with a Redis-client C extension.

You can find a basic Redis client library in pure Jim Tcl in jimhttp. The library also works in Tcl 8.6 and later.

Jim Tcl was originally another project of antirez.