DOC-6831 Document go-redis client-side caching [PARKED]#3613
Open
andy-stark-redis wants to merge 1 commit into
Open
DOC-6831 Document go-redis client-side caching [PARKED]#3613andy-stark-redis wants to merge 1 commit into
andy-stark-redis wants to merge 1 commit into
Conversation
Contributor
Contributor
240613e to
f41d88c
Compare
Add a "Connect using client-side caching" section to the go-redis connect page covering the multi-strategy CSC being added in redis/go-redis#3851: enabling via ClientSideCacheConfig on a RESP3 client, the three ClientSideCacheStrategy options (SharedTracking default, Broadcast, PerConnection), the tuning options (MaxEntries, MaxMemoryBytes, DrainInterval, MaxStaleness), and monitoring via CSCStats plus the process-wide stats functions. Register go-redis in the support table and relatedPages of the CSC introduction page. Written against the unmerged upstream PR, so the section carries a pre-release warning and the version is a TBD placeholder. Parked pending the upstream merge and release. Experience: Rejected /park's page-level bannerText in favour of a section-scoped {{< note >}} warning — the CSC section lives in an otherwise-released Connect page, so a page banner would wrongly flag basic/TLS/cluster/SCH as unreleased. Don't "correct" the missing bannerText on pickup; the section-scoped warning is intentional. Recheck: fill go-redis version once #3851 merges and is tagged (connect.md note + client-side-caching.md support table both use a "v9.<!-- DOC-6831: set on merge -->TBD" placeholder) Recheck: confirm final exported names against merged source — ClientSideCacheConfig, ClientSideCacheStrategy, CSCStrategy{SharedTracking,Broadcast,PerConnection}, ClientSideCacheConfig fields, (*Client).CSCStats, redis.CommandStats/CacheAdmissionRejects/RESPInvalidationBytesRead Recheck: verify DrainInterval default (5ms) / floor (1ms) and MaxEntries default (10000) survive to release Recheck: base of #3851 is the feature branch csc-standalone-connection-support, not master — confirm the whole CSC stack lands on master before treating the trigger as fired Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
f41d88c to
396986f
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Documents the multi-strategy client-side caching (CSC) being added to go-redis
in redis/go-redis#3851. Adds a
Connect using client-side caching section to the go-redis connect page and
registers go-redis in the CSC introduction page (support table +
relatedPages).The section covers enabling CSC via
ClientSideCacheConfigon a RESP3 client,the three
ClientSideCacheStrategyoptions (SharedTracking / Broadcast /PerConnection), the tuning options (
MaxEntries,MaxMemoryBytes,DrainInterval,MaxStaleness), and monitoring viaCSCStats.Warning
Do not merge yet. These docs are written against the unmerged upstream
PR redis/go-redis#3851. The API
names, defaults, and the minimum go-redis version are not final. The go-redis
version appears as a
v9.…TBDplaceholder in two places. Merge only after theCSC stack lands in a tagged go-redis release — run
/pickup 3851's reconcilefirst.
Park manifest
Ticket: DOC-6831
Parked at: 2026-07-10
Trigger to pick up: redis/go-redis#3851 is merged into a released (tagged) version of go-redis. NB #3851's base is the feature branch
csc-standalone-connection-support, notmaster, so "merged" means the whole CSC stack has reached master and been tagged — not just #3851 merging into its base.Labels: parked, do not merge yet
Pinned sources (state observed at park time)
5cfc175ebdb2819c0cb71254df00f8a5201f30b5, base:csc-standalone-connection-support, milestone: none, updated: 2026-07-08gh api repos/redis/go-redis/pulls/3851 --jq '{state, merged, head_sha: .head.sha, base: .base.ref, milestone: .milestone.title, updated_at}'docs/csc-strategy-guide.md@ head SHA above (upstream design guide the section condenses)csc-multi-strategygh api "repos/redis/go-redis/contents/docs/csc-strategy-guide.md?ref=csc-multi-strategy" --jq .content | base64 -dObserved shape the page assumes — confidence: LOW
Written against an unmerged diff; exported names and defaults may change before release.
Options.ClientSideCacheConfig *ClientSideCacheConfig(non-nil enables CSC); alternatively an explicitOptions.ClientSideCache Cache. RequiresProtocol: 3.Options.ClientSideCacheStrategy CSCStrategy; valuesCSCStrategySharedTracking(default/zero),CSCStrategyBroadcast,CSCStrategyPerConnection.ClientSideCacheConfigfields:MaxEntries(default 10000 when both limits unlimited),MaxMemoryBytes,DrainInterval(default 5ms, floor 1ms; SharedTracking only),MaxStaleness.(*Client).CSCStats() (hits, misses uint64); process-wideredis.CommandStats(),redis.CacheAdmissionRejects(),redis.RESPInvalidationBytesRead().SORT_RO … BY/GETexcluded from caching.Re-check checklist
v9.<!-- DOC-6831: set on merge -->TBDplaceholder in bothcontent/develop/clients/go/connect.md(section note) andcontent/develop/clients/client-side-caching.md(support table).csc-standalone-connection-supportmerged tomasterand the CSC stack is in a tagged release before treating the trigger as fired.ClientSideCacheConfig,ClientSideCache,ClientSideCacheStrategy,CSCStrategySharedTracking/Broadcast/PerConnection,(*Client).CSCStats, and the three package-level stats funcs.ClientSideCacheConfigfield names and defaults survive:MaxEntries(10000),MaxMemoryBytes,DrainInterval(5ms default / 1ms floor),MaxStaleness.ClientSideCachebehaviour per strategy (honoured by SharedTracking/Broadcast; ignored by PerConnection with a warning) is unchanged.docs/csc-strategy-guide.mdis finalized.On pickup, then
When the trigger fires, run
/pickup 3851. It reconciles the docs against the settled source and takes the PR through the normal/reflect→/finalizepipeline. Thedo not merge yetguard holds until/finalizecompletes.Note
Low Risk
Documentation-only changes with no runtime impact; merge is gated on upstream API finalization and version placeholders.
Overview
Adds go-redis to the client-side caching (CSC) docs ahead of the upstream feature in go-redis#3851.
The CSC introduction page now links to the go connect guide and lists go-redis in the support table with a
v9.…TBDversion placeholder. The go Connect page gains a full Connect using client-side caching section: enable viaClientSideCacheConfigonProtocol: 3, the threeClientSideCacheStrategymodes (SharedTracking, Broadcast, PerConnection), tuning fields,CSCStats()/ package-level metrics, and notes on RESP3, DB 0, and customClientSideCachebehavior.Docs are explicitly marked not yet released and should not merge until CSC ships in a tagged go-redis release and placeholders are reconciled.
Reviewed by Cursor Bugbot for commit 396986f. Bugbot is set up for automated code reviews on this repo. Configure here.