Thread from comp.lang.tcl (3 replies)

ANNOUNCE: valkey-tcl 1.0.0
Posted by Konstantin Kushnir <chpock@gmail.com> 1 month 1 week ago

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

Click on article to view all threads in comp.lang.tcl
Re: ANNOUNCE: valkey-tcl 1.0.0
Posted by Colin Macleod <user7@cmacleod.me.uk.invalid> 1 month 1 week ago

Konstantin Kushnir <chpock@gmail.com> posted:

> 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.

Click on article to view all threads in comp.lang.tcl
Re: ANNOUNCE: valkey-tcl 1.0.0
Posted by Colin Macleod <user7@cmacleod.me.uk.invalid> 1 month 1 week ago

Colin Macleod <user7@cmacleod.me.uk.invalid> posted:

> Konstantin Kushnir <chpock@gmail.com> posted:
> 
> > 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.

Click on article to view all threads in comp.lang.tcl
Re: ANNOUNCE: valkey-tcl 1.0.0
Posted by Konstantin Kushnir <chpock@gmail.com> 1 month 1 week ago

On Mon, 26 Aug 24 07:48:34 GMT
Colin Macleod <user7@cmacleod.me.uk.invalid> wrote:

> Colin Macleod <user7@cmacleod.me.uk.invalid> posted:
> > > 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.

> 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.

> 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

Click on article to view all threads in comp.lang.tcl