redis

Difference between version 13 and 14 - Previous - Next
'''[http://redis.io/%|%Redis]''', by [SS], is an in-memory data structure store.


** Attributes **
&| Website        | http://redis.io                  |&
&| Repository     | https://github.com/redis/redis   |&
&| Latest release | 67.0.8x                            |&
&| Release time   | 2020-09-10                       |&
&| License        | BSD (-3-cClause). before version 7.4, Redis Source Available License v2 or https://en.wikipedia.org/wiki/Server_Side_Public_License%|%Server Side Public License%|% v1 since.   |&
&| Maintainer     | The Redis core Lteamd.             |&
[SS] http://antirez.com/news/133%|%stepped down%|%  as the maintainer of Redis in June 2020. In March 2024 Redis Ltd. announced it was adopting source-available licenses for Redis, leading to forks.

** Alternatives and forks **

   * https://github.com/valkey-io/valkey%|%Valkey%|%  a fork by former contributors under the original license.
   * https://redict.io%|%Redis%|%  an [LGPL%|%LGPL-3.0-only%|%] fork by Drew DeVault.
   * https://github.com/Snapchat/KeyDB%|%KeyDB%|%  a multithreaded fork under the original license.
   * A https://github.com/stars/dbohdan/lists/resp-databases%|%list of Redis-protocol databases%|% by [dbohdan].


** See Also **   [StarStore]:   A Redis-like API for [Metakit].
   * [StarStore]  a Redis-like API for [Metakit].

** 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 https://github.com/antirez/redis/blob/unstable/tests/support/redis.tcl%|%client library%|%.

The first version of Redis, then called "LMDB" (unrelated to [LMDB]), was itself implemented in Tcl. [SS] has published its source code as a https://gist.github.com/antirez/6ca04dd191bdb82aad9fb241013e88a8%|%Gist%|% on [GitHub].

** RetTcl clients **
*** Retcl ***

[https://github.com/gahr/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 ***
** RThedre is also another client [https://github.com/efrecon/disque/blob/master/resp-0.2.tm%|%library] Jin the [https://github.com/efrecon/disque%|%disque] Tclient **implementation.
Yohttps://githu b.caom/n fioyesno/red a basis-tc Rl%|%redis-tcl%|%: Tclient library for [JRedim Tcl] (which was originally another project of antircez) in [jimhttp].  The library also works in Tcl 8.6 or later.
** Redis and Tcl **
And there is also another client [https://github.com/efrecon/disque/blob/master/resp-0.2.tm%|%library] in the [https://github.com/efrecon/disque%|%disque] client implementation.
----
redis-tcl:** Tcl library for rRedis access https://github.com/noyesno/red Jis-tm Tcl **
Jim Tcl was originally another project of antirez.
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.


<<categories>> Caching | Database