• ANNOUNCE: valkey-tcl 1.0.0

    From Konstantin Kushnir@chpock@gmail.com to comp.lang.tcl on Sun Aug 25 17:44:32 2024
    From Newsgroup: comp.lang.tcl

    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
    --- Synchronet 3.20a-Linux NewsLink 1.114
  • From Colin Macleod@user7@cmacleod.me.uk.invalid to comp.lang.tcl on Sun Aug 25 19:14:34 2024
    From Newsgroup: comp.lang.tcl

    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.
    --- Synchronet 3.20a-Linux NewsLink 1.114
  • From Colin Macleod@user7@cmacleod.me.uk.invalid to comp.lang.tcl on Mon Aug 26 07:48:34 2024
    From Newsgroup: comp.lang.tcl

    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.
    --- Synchronet 3.20a-Linux NewsLink 1.114
  • From Konstantin Kushnir@chpock@gmail.com to comp.lang.tcl on Mon Aug 26 15:45:44 2024
    From Newsgroup: comp.lang.tcl

    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
    --- Synchronet 3.20a-Linux NewsLink 1.114