diff --git a/README.md b/README.md index 4ccfd8594d..cf3714f92f 100644 --- a/README.md +++ b/README.md @@ -4,17 +4,18 @@ Valkey General Language Independent Driver for the Enterprise (GLIDE), is an ope ## Supported Engine Versions Valkey GLIDE is API-compatible with the following engine versions: -| Engine Type | 6.2 | 7.0 | 7.2 | -|-----------------------|-------|-------|-------| -| Valkey | - | - | V | -| Redis | V | V | V | +| Engine Type | 6.2 | 7.0 | 7.2 | 8.0 | +|-----------------------|-------|-------|-------|-------| +| Valkey | - | - | V | V | +| Redis | V | V | V | - | ## Current Status -In this release, Valkey GLIDE is available for Python and Java. Support for Node.js is actively under development, with plans to include more programming languages in the future. We're tracking future features on the [roadmap](https://github.com/orgs/valkey-io/projects/11). +In this release, Valkey GLIDE is available for Python, Java and Node.js. Support for GO is actively under development, with plans to include more programming languages in the future. We're tracking future features on the [roadmap](https://github.com/orgs/valkey-io/projects/11). ## Getting Started - [Java](./java/README.md) - [Python](./python/README.md) +- [Node](./node/README.md) - [Documentation](https://github.com/valkey-io/valkey-glide/wiki) ## Getting Help diff --git a/csharp/README.md b/csharp/README.md deleted file mode 100644 index 390b146adc..0000000000 --- a/csharp/README.md +++ /dev/null @@ -1,38 +0,0 @@ -# C# wrapper - -The C# wrapper is currently not in a usable state and is under development. - -# Valkey GLIDE - -Valkey General Language Independent Driver for the Enterprise (GLIDE), is an open-source Valkey client library. Valkey GLIDE is one of the official client libraries for Valkey, and it supports all Valkey commands. Valkey GLIDE supports Valkey 7.2 and above, and Redis open-source 6.2, 7.0 and 7.2. Application programmers use Valkey GLIDE to safely and reliably connect their applications to Valkey- and Redis OSS- compatible services. Valkey GLIDE is designed for reliability, optimized performance, and high-availability, for Valkey and Redis OSS based applications. It is sponsored and supported by AWS, and is pre-configured with best practices learned from over a decade of operating Redis OSS-compatible services used by hundreds of thousands of customers. To help ensure consistency in application development and operations, Valkey GLIDE is implemented using a core driver framework, written in Rust, with language specific extensions. This design ensures consistency in features across languages and reduces overall complexity. - -## Supported Engine Versions - -Refer to the [Supported Engine Versions table](https://github.com/valkey-io/valkey-glide/blob/main/README.md#supported-engine-versions) for details. - -## Current Status - -We've made Valkey GLIDE an open-source project, and are releasing it in Preview to the community to gather feedback, and actively collaborate on the project roadmap. We welcome questions and contributions from all Redis stakeholders. -This preview release is recommended for testing purposes only. - -# Getting Started - C# Wrapper - -## .net sdk supported version - -.net 6.0 or higher. - -## Basic Example - -```csharp - -using Glide; - -AsyncClient glideClient = new (host, PORT, useTLS); -await glideClient.SetAsync("foo", "bar"); -string? value = await glideClient.GetAsync("foo"); -glideClient.Dispose(); -``` - -### Building & Testing - -Development instructions for local building & testing the package are in the [DEVELOPER.md](DEVELOPER.md#build-from-source) file. diff --git a/examples/node/index.ts b/examples/node/index.ts index 59abc86243..b721d51331 100644 --- a/examples/node/index.ts +++ b/examples/node/index.ts @@ -5,7 +5,7 @@ import { GlideClient, GlideClusterClient, Logger } from "@valkey/valkey-glide"; async function sendPingToStandAloneNode() { - // When in Redis is in standalone mode, add address of the primary node, and any replicas you'd like to be able to read from. + // When Valkey is in standalone mode, add address of the primary node, and any replicas you'd like to be able to read from. const addresses = [ { host: "localhost", @@ -34,7 +34,7 @@ async function send_set_and_get(client: GlideClient | GlideClusterClient) { } async function sendPingToRandomNodeInCluster() { - // When in Redis is cluster mode, add address of any nodes, and the client will find all nodes in the cluster. + // When Valkey is in cluster mode, add address of any nodes, and the client will find all nodes in the cluster. const addresses = [ { host: "localhost", diff --git a/java/client/build.gradle b/java/client/build.gradle index 0178f311ea..46fa8f4cee 100644 --- a/java/client/build.gradle +++ b/java/client/build.gradle @@ -209,7 +209,7 @@ publishing { } developers { developer { - name = 'valkey-glide' + name = 'Valkey GLIDE Maintainers' url = 'https://github.com/valkey-io/valkey-glide.git' } } diff --git a/node/README.md b/node/README.md index 6d98b6a856..d215bc102f 100644 --- a/node/README.md +++ b/node/README.md @@ -6,16 +6,20 @@ Valkey General Language Independent Driver for the Enterprise (GLIDE), is an ope Refer to the [Supported Engine Versions table](https://github.com/valkey-io/valkey-glide/blob/main/README.md#supported-engine-versions) for details. -## Current Status - -We've made Valkey GLIDE an open-source project, and are releasing it in Preview to the community to gather feedback, and actively collaborate on the project roadmap. We welcome questions and contributions from all Redis stakeholders. -This preview release is recommended for testing purposes only. - # Getting Started - Node Wrapper ## System Requirements -In this release, Valkey GLIDE is available for Python and Java. Support for Node.js is actively under development, with plans to include more programming languages in the future. We're tracking future features on the [roadmap](https://github.com/orgs/aws/projects/187/). +The release of Valkey GLIDE was tested on the following platforms: + +Linux: + +- Ubuntu 22.04.1 (x86_64) +- Amazon Linux 2023 (AL2023) (x86_64) + +macOS: + +- macOS 12.7 (Apple silicon/aarch_64 and Intel/x86_64) ## NodeJS supported version @@ -29,6 +33,63 @@ Visit our [wiki](https://github.com/valkey-io/valkey-glide/wiki/NodeJS-wrapper) Development instructions for local building & testing the package are in the [DEVELOPER.md](https://github.com/valkey-io/valkey-glide/blob/main/node/DEVELOPER.md#build-from-source) file. +## Basic Examples + +#### Standalone Mode: + +```typescript +import { GlideClient, GlideClusterClient, Logger } from "@valkey/valkey-glide"; +// When Valkey is in standalone mode, add address of the primary node, and any replicas you'd like to be able to read from. +const addresses = [ + { + host: "localhost", + port: 6379, + }, +]; +// Check `GlideClientConfiguration/GlideClusterClientConfiguration` for additional options. +const client = await GlideClient.createClient({ + addresses: addresses, + // if the server uses TLS, you'll need to enable it. Otherwise, the connection attempt will time out silently. + // useTLS: true, + clientName: "test_standalone_client", +}); +// The empty array signifies that there are no additional arguments. +const pong = await client.customCommand(["PING"]); +console.log(pong); +const set_response = await client.set("foo", "bar"); +console.log(`Set response is = ${set_response}`); +const get_response = await client.get("foo"); +console.log(`Get response is = ${get_response}`); +``` + +#### Cluster Mode: + +```typescript +import { GlideClient, GlideClusterClient, Logger } from "@valkey/valkey-glide"; +// When Valkey is in cluster mode, add address of any nodes, and the client will find all nodes in the cluster. +const addresses = [ + { + host: "localhost", + port: 6379, + }, +]; +// Check `GlideClientConfiguration/GlideClusterClientConfiguration` for additional options. +const client = await GlideClusterClient.createClient({ + addresses: addresses, + // if the cluster nodes use TLS, you'll need to enable it. Otherwise the connection attempt will time out silently. + // useTLS: true, + clientName: "test_cluster_client", +}); +// The empty array signifies that there are no additional arguments. +const pong = await client.customCommand(["PING"], { route: "randomNode" }); +console.log(pong); +const set_response = await client.set("foo", "bar"); +console.log(`Set response is = ${set_response}`); +const get_response = await client.get("foo"); +console.log(`Get response is = ${get_response}`); +client.close(); +``` + ### Supported platforms Currentlly the package is supported on: diff --git a/node/npm/glide/package.json b/node/npm/glide/package.json index 14a274572c..9514160893 100644 --- a/node/npm/glide/package.json +++ b/node/npm/glide/package.json @@ -2,7 +2,7 @@ "name": "${scope}${pkg_name}", "types": "build-ts/index.d.ts", "version": "${package_version}", - "description": "An AWS-sponsored, open-source Redis client.", + "description": "General Language Independent Driver for the Enterprise (GLIDE) for Valkey", "main": "build-ts/index.js", "module": "build-ts/index.js", "type": "commonjs", @@ -26,7 +26,7 @@ "client", "valkey-glide" ], - "author": "Amazon Web Services", + "author": "Valkey GLIDE Maintainers", "license": "Apache-2.0", "bugs": { "url": "https://github.com/valkey-io/valkey-glide/issues" diff --git a/node/package.json b/node/package.json index ce6fdb9747..20dbeea80b 100644 --- a/node/package.json +++ b/node/package.json @@ -58,7 +58,7 @@ "typescript": "^5.5.4", "uuid": "^10.0.0" }, - "author": "Valkey contributors", + "author": "Valkey GLIDE Maintainers", "license": "Apache-2.0", "publishConfig": { "${registry_scope}registry": "https://registry.npmjs.org/",