Skip to content

docs: server-assisted CSC and CLIENT TRACKINGINFO (Python, Node, Go, C#) - #285

Open
Aryex wants to merge 2 commits into
mainfrom
alexl/agent/csc-server-assisted-trackinginfo
Open

docs: server-assisted CSC and CLIENT TRACKINGINFO (Python, Node, Go, C#)#285
Aryex wants to merge 2 commits into
mainfrom
alexl/agent/csc-server-assisted-trackinginfo

Conversation

@Aryex

@Aryex Aryex commented Jul 26, 2026

Copy link
Copy Markdown
Collaborator

Summary

Document server-assisted client-side caching (serverAssisted config) and CLIENT TRACKINGINFO command for Python, Node.js, Go, and C# clients.

⚠️ Attention: This PR was generated automatically. Verify that all relevant pages have been updated.

Source Commits

  • 5d936c6 — Client-side caching: add serverAssisted config and CLIENT TRACKINGINFO command (Node, Python, Go, Java) (#6344)
  • e70873a — Add serverAssisted client-side caching config and CLIENT TRACKINGINFO command (C#) (C# #451)

Changes

  • Updated available-commands.json: changed C# status for CLIENT TRACKING and CLIENT TRACKINGINFO from not_available to available; removed csharp-href issue links
  • Updated client-side-caching.mdx: replaced "Not yet available" placeholders with real C# code examples in both the "Enabling server-assisted mode" and "CLIENT TRACKINGINFO" sections
  • Updated caution box, limitations table, and compatibility section to reflect that C# now supports server-assisted invalidation (only PHP remains as not yet available)
  • Previously: added Python, Node.js, and Go examples (from valkey-glide #6344)

Context

valkey-glide #6344 implemented client-side caching phase 2 across Java, Python, Node.js, and Go. valkey-glide-csharp #451 brings the same feature to C#: ClientSideCacheConfig.WithServerAssisted(true) enables server-assisted invalidation via CLIENT TRACKING ON BCAST, and ClientTrackingInfoAsync() exposes the diagnostic command on both standalone and cluster clients. Only PHP remains without server-assisted support.

cc @currantw


This PR was generated by the automated documentation pipeline.

@Aryex Aryex changed the title docs: server-assisted CSC and CLIENT TRACKINGINFO (Python, Node, Go) docs: server-assisted CSC and CLIENT TRACKINGINFO (Python, Node, Go, C#) Jul 26, 2026
@Aryex

Aryex commented Jul 26, 2026

Copy link
Copy Markdown
Collaborator Author

📝 Updated PR description with e70873a — Add serverAssisted client-side caching config and CLIENT TRACKINGINFO command (C#)

@Aryex Aryex added AI Generated documentation Improvements or additions to documentation csharp labels Jul 26, 2026
@Aryex
Aryex force-pushed the alexl/agent/csc-server-assisted-trackinginfo branch from 2e51e60 to 72d1585 Compare July 26, 2026 21:27
@Aryex
Aryex requested a review from currantw July 27, 2026 14:35
…e, Go

Signed-off-by: kiro-agent <kiro-agent@users.noreply.github.com>
Signed-off-by: kiro-agent <kiro-agent@users.noreply.github.com>
@Aryex
Aryex force-pushed the alexl/agent/csc-server-assisted-trackinginfo branch from 72d1585 to 7a29729 Compare July 27, 2026 14:37
@Aryex
Aryex marked this pull request as ready for review July 27, 2026 14:37
@Aryex
Aryex requested review from affonsov and xShinnRyuu and removed request for currantw July 27, 2026 14:38
@xShinnRyuu
xShinnRyuu requested a review from currantw July 27, 2026 17:09
cache := config.NewClientSideCache(1024, 60000).
WithServerAssisted(true) // Enable server-assisted invalidation

clientConfig := config.NewGlideClientConfiguration().

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should be config.NewClientConfiguration().

clientConfig := config.NewGlideClientConfiguration().
WithAddress(&config.NodeAddress{Host: "localhost", Port: 6379}).
WithClientSideCache(cache)
client, err := glide.NewGlideClient(clientConfig)

@jeremyprime jeremyprime Jul 27, 2026

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should be glide.NewClient(clientConfig).


<Aside type="caution" title="TTL-Only Caching (Default)">
By default, client-side caching uses **TTL-based expiration only**. Cached entries may become stale before their TTL expires if **any client** modifies the underlying data, **including the same client that cached the value**. A read issued immediately after the same client's `SET` / `HSET` / `SADD` / `DEL` will still return the cached value until its TTL expires. **Java** now supports [server-assisted invalidation](#server-assisted-invalidation) via the [`CLIENT TRACKING`](https://valkey.io/commands/client-tracking/) protocol, which pushes invalidation messages from the server when keys change. Other languages still use TTL-only mode; server-assisted support will be added in future releases.
By default, client-side caching uses **TTL-based expiration only**. Cached entries may become stale before their TTL expires if **any client** modifies the underlying data, **including the same client that cached the value**. A read issued immediately after the same client's `SET` / `HSET` / `SADD` / `DEL` will still return the cached value until its TTL expires. **Java, Python, Node.js, and Go** now support [server-assisted invalidation](#server-assisted-invalidation) via the [`CLIENT TRACKING`](https://valkey.io/commands/client-tracking/) protocol, which pushes invalidation messages from the server when keys change. PHP still uses TTL-only mode; server-assisted support will be added in a future release.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
By default, client-side caching uses **TTL-based expiration only**. Cached entries may become stale before their TTL expires if **any client** modifies the underlying data, **including the same client that cached the value**. A read issued immediately after the same client's `SET` / `HSET` / `SADD` / `DEL` will still return the cached value until its TTL expires. **Java, Python, Node.js, and Go** now support [server-assisted invalidation](#server-assisted-invalidation) via the [`CLIENT TRACKING`](https://valkey.io/commands/client-tracking/) protocol, which pushes invalidation messages from the server when keys change. PHP still uses TTL-only mode; server-assisted support will be added in a future release.
By default, client-side caching uses **TTL-based expiration only**. Cached entries may become stale before their TTL expires if **any client** modifies the underlying data, **including the same client that cached the value**. A read issued immediately after the same client's `SET` / `HSET` / `SADD` / `DEL` will still return the cached value until its TTL expires. **Java, Python, Node.js, and Go** now support [server-assisted invalidation](#server-assisted-invalidation) via the [`CLIENT TRACKING`](https://valkey.io/commands/client-tracking/) protocol, which pushes invalidation messages from the server when keys change. PHP and Csharp still uses TTL-only mode; server-assisted support will be added in a future release.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

AI Generated csharp documentation Improvements or additions to documentation go nodejs python

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants