Repository navigation
DOC-7293 Add a Jedis set member expiration example to the sets page [PARKED] - #4526
Open
andy-stark-redis wants to merge 1 commit into
Open
andy-stark-redis wants to merge 1 commit into
andy-stark-redis wants to merge 1 commit into
Conversation
Adds a `member_expiration` step to the `sets_tutorial` Jedis example (SADDEX with SAddExParams, SADD, STTL) and wraps the matching redis-cli block in the Member expiration section of sets.md in a clients-example shortcode, restricted to Java-Sync with lang_filter. Parked: the Jedis set member expiration API (#4828) is merged on master but not in any release (latest is v8.1.0-beta2, tagged before the merge). The example compiled against jedis master c701a365 built locally. It has NOT been run: no Redis 8.12 server was available (Docker not running; local redis-server is 7.2.7), so the `// >>>` values are taken from the server-authored redis-cli block on the same page, not from a run. On unpark: re-run against the released Jedis and a real 8.12 server; the harness's pinned Jedis (run.sh sets_tutorial:jedis) will not compile this step until it is bumped. Learned: - Other clients are deliberately omitted via lang_filter, because a step missing from a client renders the whole file for it. Add each client to the allowlist only when its set member expiration support has shipped. - The existing step `srem` prints res18 after assigning res19; left alone. - examples/ is gitignored build output, so only local_examples/ changes. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Contributor
Contributor
Contributor
🧠 Redis MemoryFound 5 related items from repository history (5 new this commit):
Memory updated at 7f5ec33 |
1 of 8 tasks
dwdougherty
approved these changes
Nov 10, 2026
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.
Adds a
member_expirationstep to thesets_tutorialJedis example (SADDEXwithSAddExParams,SADD,STTL) and wraps the matching redis-cli block in the Member expiration section ofsets.mdin aclients-exampleshortcode (lang_filter="Java-Sync").Warning
Do not merge yet. This PR documents client APIs that are on the clients' default branches but in no stable release. Base is
feature-oss-8.12(the 8.12 release branch), notmain.Run-verified on
redis:8.12-rc2(the server reportsredis_version:8.11.241, the rc2 version string; upstream tests gate at8.11.240). The wholeSetsExampleran against Jedis master c701a365 with its assertions; the new step printed1,1,[900, 900, -1].Park manifest
Ticket: DOC-7293
Parked at: 2026-11-10
Trigger to pick up: jedis#4828 merge commit e7c37d3d3d5e is an ancestor of a non-prerelease Jedis tag (
gh api repos/redis/jedis/compare/e7c37d3d3d5e...<tag>, expectingbehind_by: 0), and Redis 8.12 is GA.Labels: parked, do not merge yet
Pinned sources (state observed at park time, 2026-11-10)
8.12branch[Experimental]under SER011; integration PR #3343 openRe-fetch:
gh api repos/redis/jedis/pulls/4828 --jq '{state, merged, merge: .merge_commit_sha}'.Observed shape the page assumes
Confidence: MEDIUM for semantics (set members get a per-member TTL,
STTLreturns-1for no expiry); LOW for identifiers, which are unreleased.Identifiers the step uses, all on Jedis master (
SetCommands.java,params/SAddExParams.java):SAddExParams.sAddExParams().ex(long), inheritedexfromBaseSetExParamslong saddex(String key, SAddExParams params, String... members)long sadd(String, String...)List<Long> sttl(String key, String... members)Expected values:
1,1,[900, 900, -1].Re-check checklist
redis:8.12-rc2, 2026-11-10. Repeat on the GA image and the released Jedis.run.shsets_tutorial:jedis) must be bumped, or this step won't compile there.lang_filterallowlist only once its set-expiry API ships: lettuce (docs: remove duplicate 'the' in Redis Cloud SAML SSO guides #3991 merged), predis (Improve heading 3 and heading 4 styles for better visual hierarchy #1749 merged), redis-py/go-redis/node-redis (support unconfirmed, I did not read their source), SE.Redis (DEV: (cmds) update FT.PROFILE and FT.HYBRID commands #3340, experimental), redis-rb (unknown).SPEXPIRE/SPTTL/SPERSIST,SEXPIREAT/SEXPIRETIME) get steps too.sremstep printsres18after assigningres19; pre-existing, left alone.On unpark, then
Run
/unparkwith this PR's number./unparkSteps 4–5 own the closing sequence;/finalizeis deferred until then.