Discussion:
ANNOUNCE: valkey-tcl 1.0.0
Add Reply
Konstantin Kushnir
2024-08-25 14:44:32 UTC
Reply
Permalink
Hi Everyone!

I am pleased to announce version 1.0.0 of valkey-tcl.

valkey-tcl is TCL/C extension that provides an interface to the Valkey
key-value store.

The Valkey database is a BDS-licensed fork of the well-known Redis
in-memory, NoSQL data store, supported by the Linux Foundation:
https://valkey.io/

This is the first version and it does not support every possible
feature, but it should provide enough features for production use.

At this point, the key features are:
* supports connections via TCP or UNIX sockets
* supports TLS/SSL connections (this requires TLS/SSL support in the
linked libvalkey, and must be enabled explicitly)
* supports Linux and MacOS platforms
* supports authorization
* supports automatic reconnection with retries in case of connection
loss
* supports all valkey commands via universal command interface
* built as a single loadable shared object
* MIT license

Homepage and sources are on github: https://github.com/jerily/valkey-tcl

Please fill free to check/build/use it. Any feedback is welcome!
--
Best regards,
Konstantin Kushnir
Colin Macleod
2024-08-25 19:14:34 UTC
Reply
Permalink
Post by Konstantin Kushnir
I am pleased to announce version 1.0.0 of valkey-tcl.
valkey-tcl is TCL/C extension that provides an interface to the Valkey
key-value store.
Hi Konstantin, I've been using Redis from Tcl via Pietro Cerutti's
Retcl interface - https://code.ptrcrt.ch/retcl/doc/trunk/docs/index.html .
Since Valkey is a fork of Redis I had assumed that Retcl would also work
for it, though I have not tried it yet myself. Could you explain what
advantages valkey-tcl has?
--
Thanks,
Colin Macleod.
Colin Macleod
2024-08-26 07:48:34 UTC
Reply
Permalink
Post by Colin Macleod
Post by Konstantin Kushnir
I am pleased to announce version 1.0.0 of valkey-tcl.
valkey-tcl is TCL/C extension that provides an interface to the Valkey
key-value store.
Hi Konstantin, I've been using Redis from Tcl via Pietro Cerutti's
Retcl interface - https://code.ptrcrt.ch/retcl/doc/trunk/docs/index.html .
Since Valkey is a fork of Redis I had assumed that Retcl would also work
for it, though I have not tried it yet myself. Could you explain what
advantages valkey-tcl has?
I see that valkey-tcl uses a C library. Retcl is pure Tcl code, so easier
to install, but might have lower performance.

Valkey-tcl appears to only support synchronous commands, I don't see an
equivalent to the async and callback-driven modes that Retcl also has.

The libvalkey page says "It also supports any server that uses the RESP
protocol" so that suggests that valkey-tcl would also work with Redis or
with any of the other compatible alternatives such as KeyDB.
--
Colin Macleod.
Konstantin Kushnir
2024-08-26 12:45:44 UTC
Reply
Permalink
On Mon, 26 Aug 24 07:48:34 GMT
Post by Colin Macleod
Post by Colin Macleod
Post by Konstantin Kushnir
I am pleased to announce version 1.0.0 of valkey-tcl.
Hi Konstantin, I've been using Redis from Tcl via Pietro Cerutti's
Retcl interface - https://code.ptrcrt.ch/retcl/doc/trunk/docs/index.html .
Since Valkey is a fork of Redis I had assumed that Retcl would also work
for it, though I have not tried it yet myself. Could you explain what
advantages valkey-tcl has?
I see that valkey-tcl uses a C library. Retcl is pure Tcl code, so easier
to install, but might have lower performance.
Yes, you are right. This is the main advantage of valkey-tcl. It is
written in C and uses C library for communication with the remote
server. It should consume as few resources as possible
(CPU/RAM/execution time) and is intended for high-load services with
multiple threads and high response time requirements.
Post by Colin Macleod
Valkey-tcl appears to only support synchronous commands, I don't see an
equivalent to the async and callback-driven modes that Retcl also has.
Yes. This is the first version, asynchronous mode is not yet
supported.
Post by Colin Macleod
The libvalkey page says "It also supports any server that uses the RESP
protocol" so that suggests that valkey-tcl would also work with Redis or
with any of the other compatible alternatives such as KeyDB.
I believe it should work with other databases that use the RESP
protocol. Unfortunately, I cannot confirm this for sure. We only tested
this with the latest available version of the valkey server and
Redis 6.0.x.

If you get a chance to test this package on Redis 7.4+ or KeyDB, then
we will be very grateful to you!
--
Best regards,
Konstantin Kushnir
Loading...