Skip to content

Commit 77aa7dc

Browse files
Merge pull request #2523 from redis/D_C-6055-sorted-set-notebooks
DOC-6055 sorted set notebooks
2 parents c0f3a7f + 8b40e1f commit 77aa7dc

File tree

7 files changed

+1065
-0
lines changed

7 files changed

+1065
-0
lines changed

config.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
baseURL = "https://redis.io"
33
title = "Docs"
44

5+
timeout="75"
56
refLinksErrorLevel = "WARNING"
67
enableRobotsTXT = true
78
enableGitInfo = true

local_examples/php/DtSortedSetsTest.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
// EXAMPLE: ss_tutorial
2+
// BINDER_ID php-dt-sorted-set
23
<?php
34

45
require 'vendor/autoload.php';
Lines changed: 199 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,199 @@
1+
//EXAMPLE: ss_tutorial
2+
//BINDER_ID netsync-dt-sorted-set
3+
//HIDE_START
4+
//REMOVE_START
5+
using NRedisStack.Tests;
6+
//REMOVE_END
7+
using StackExchange.Redis;
8+
9+
//REMOVE_START
10+
namespace Doc;
11+
[Collection("DocsTests")]
12+
//REMOVE_END
13+
public class SortedSetExample
14+
// REMOVE_START
15+
: AbstractNRedisStackTest, IDisposable
16+
// REMOVE_END
17+
{
18+
// REMOVE_START
19+
public SortedSetExample(EndpointsFixture fixture) : base(fixture) { }
20+
21+
[SkippableFact]
22+
// REMOVE_END
23+
public void Run()
24+
{
25+
//REMOVE_START
26+
// This is needed because we're constructing ConfigurationOptions in the test before calling GetConnection
27+
SkipIfTargetConnectionDoesNotExist(EndpointsFixture.Env.Standalone);
28+
var _ = GetCleanDatabase(EndpointsFixture.Env.Standalone);
29+
//REMOVE_END
30+
var muxer = ConnectionMultiplexer.Connect("localhost:6379");
31+
var db = muxer.GetDatabase();
32+
//REMOVE_START
33+
db.KeyDelete("racer_scores");
34+
//REMOVE_END
35+
//HIDE_END
36+
37+
//STEP_START zadd
38+
bool res1 = db.SortedSetAdd("racer_scores", "Norem", 10);
39+
Console.WriteLine(res1); // >>> True
40+
//REMOVE_START
41+
Assert.True(res1);
42+
//REMOVE_END
43+
44+
bool res2 = db.SortedSetAdd("racer_scores", "Castilla", 12);
45+
Console.WriteLine(res2); // >>> True
46+
//REMOVE_START
47+
Assert.True(res2);
48+
//REMOVE_END
49+
50+
long res3 = db.SortedSetAdd("racer_scores", [
51+
new("Sam-Bodden", 8),
52+
new("Royce", 10),
53+
new("Ford", 6),
54+
new("Prickett", 14),
55+
new("Castilla", 12)
56+
]);
57+
Console.WriteLine(res3); // >>> 4
58+
//REMOVE_START
59+
Assert.Equal(4, res3);
60+
//REMOVE_END
61+
//STEP_END
62+
63+
//STEP_START zrange
64+
RedisValue[] res4 = db.SortedSetRangeByRank("racer_scores", 0, -1);
65+
Console.WriteLine(string.Join(", ", res4)); // >>> Ford, Sam-Bodden, Norem, Royce, Castilla, Prickett
66+
//REMOVE_START
67+
Assert.Equal(6, res4.Length);
68+
Assert.Equal("Ford, Sam-Bodden, Norem, Royce, Castilla, Prickett", string.Join(", ", res4));
69+
//REMOVE_END
70+
71+
RedisValue[] res5 = db.SortedSetRangeByRank("racer_scores", 0, -1, Order.Descending);
72+
Console.WriteLine(string.Join(", ", res5)); // >>> Prickett, Castilla, Royce, Norem, Sam-Bodden, Ford
73+
//REMOVE_START
74+
Assert.Equal(6, res5.Length);
75+
Assert.Equal("Prickett, Castilla, Royce, Norem, Sam-Bodden, Ford", string.Join(", ", res5));
76+
//REMOVE_END
77+
//STEP_END
78+
79+
//STEP_START zrange_withscores
80+
SortedSetEntry[] res6 = db.SortedSetRangeByRankWithScores("racer_scores", 0, -1);
81+
Console.WriteLine(string.Join(", ", res6)); // >>> Ford: 6, Sam-Bodden: 8, Norem: 10, Royce: 10, Castilla: 12, Prickett: 14
82+
//REMOVE_START
83+
Assert.Equal(6, res6.Length);
84+
Assert.Equal("Ford: 6, Sam-Bodden: 8, Norem: 10, Royce: 10, Castilla: 12, Prickett: 14", string.Join(", ", res6));
85+
//REMOVE_END
86+
//STEP_END
87+
88+
//STEP_START zrangebyscore
89+
RedisValue[] res7 = db.SortedSetRangeByScore("racer_scores", double.NegativeInfinity, 10);
90+
Console.WriteLine(string.Join(", ", res7)); // >>> Ford, Sam-Bodden, Norem, Royce
91+
//REMOVE_START
92+
Assert.Equal(4, res7.Length);
93+
Assert.Equal("Ford, Sam-Bodden, Norem, Royce", string.Join(", ", res7));
94+
//REMOVE_END
95+
//STEP_END
96+
97+
//STEP_START zremrangebyscore
98+
bool res8 = db.SortedSetRemove("racer_scores", "Castilla");
99+
Console.WriteLine(res8); // >>> True
100+
//REMOVE_START
101+
Assert.True(res8);
102+
//REMOVE_END
103+
104+
long res9 = db.SortedSetRemoveRangeByScore("racer_scores", double.NegativeInfinity, 9);
105+
Console.WriteLine(res9); // >>> 2
106+
//REMOVE_START
107+
Assert.Equal(2, res9);
108+
//REMOVE_END
109+
110+
RedisValue[] res10 = db.SortedSetRangeByRank("racer_scores", 0, -1);
111+
Console.WriteLine(string.Join(", ", res10)); // >>> Norem, Royce, Prickett
112+
//REMOVE_START
113+
Assert.Equal(3, res10.Length);
114+
Assert.Equal("Norem, Royce, Prickett", string.Join(", ", res10));
115+
//REMOVE_END
116+
//STEP_END
117+
118+
//REMOVE_START
119+
Assert.Equal(3, db.SortedSetLength("racer_scores"));
120+
//REMOVE_END
121+
122+
//STEP_START zrank
123+
long? res11 = db.SortedSetRank("racer_scores", "Norem");
124+
Console.WriteLine(res11); // >>> 0
125+
//REMOVE_START
126+
Assert.Equal(0, res11);
127+
//REMOVE_END
128+
129+
long? res12 = db.SortedSetRank("racer_scores", "Norem", Order.Descending);
130+
Console.WriteLine(res12); // >>> 2
131+
//REMOVE_START
132+
Assert.Equal(2, res12);
133+
//REMOVE_END
134+
//STEP_END
135+
136+
//STEP_START zadd_lex
137+
long res13 = db.SortedSetAdd("racer_scores", [
138+
new("Norem", 0),
139+
new("Sam-Bodden", 0),
140+
new("Royce", 0),
141+
new("Ford", 0),
142+
new("Prickett", 0),
143+
new("Castilla", 0)
144+
]);
145+
Console.WriteLine(res13); // >>> 3
146+
//REMOVE_START
147+
Assert.Equal(3, res13);
148+
//REMOVE_END
149+
150+
RedisValue[] res14 = db.SortedSetRangeByRank("racer_scores", 0, -1);
151+
Console.WriteLine(string.Join(", ", res14)); // >>> Castilla, Ford, Norem, Pricket, Royce, Sam-Bodden
152+
//REMOVE_START
153+
Assert.Equal(6, res14.Length);
154+
Assert.Equal("Castilla, Ford, Norem, Prickett, Royce, Sam-Bodden", string.Join(", ", res14));
155+
//REMOVE_END
156+
157+
RedisValue[] res15 = db.SortedSetRangeByValue("racer_scores", "A", "L", Exclude.None);
158+
Console.WriteLine(string.Join(", ", res15)); // >>> Castilla, Ford
159+
//REMOVE_START
160+
Assert.Equal(2, res15.Length);
161+
Assert.Equal("Castilla, Ford", string.Join(", ", res15));
162+
//REMOVE_END
163+
//STEP_END
164+
165+
//STEP_START leaderboard
166+
bool res16 = db.SortedSetAdd("racer_scores", "Wood", 100);
167+
Console.WriteLine(res16); // >>> True
168+
//REMOVE_START
169+
Assert.True(res16);
170+
//REMOVE_END
171+
172+
bool res17 = db.SortedSetAdd("racer_scores", "Henshaw", 100);
173+
Console.WriteLine(res17); // >>> True
174+
//REMOVE_START
175+
Assert.True(res17);
176+
//REMOVE_END
177+
178+
bool res18 = db.SortedSetAdd("racer_scores", "Henshaw", 150);
179+
Console.WriteLine(res18); // >>> False
180+
//REMOVE_START
181+
Assert.False(res18);
182+
//REMOVE_END
183+
184+
double res19 = db.SortedSetIncrement("racer_scores", "Wood", 50);
185+
Console.WriteLine(res19); // >>> 150.0
186+
//REMOVE_START
187+
Assert.Equal(150, res19);
188+
//REMOVE_END
189+
190+
double res20 = db.SortedSetIncrement("racer_scores", "Henshaw", 50);
191+
Console.WriteLine(res20); // >>> 200.0
192+
//REMOVE_START
193+
Assert.Equal(200, res20);
194+
//REMOVE_END
195+
//STEP_END
196+
//HIDE_START
197+
}
198+
}
199+
//HIDE_END
Lines changed: 128 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,128 @@
1+
//EXAMPLE: ss_tutorial
2+
// BINDER_ID jedis-dt-sorted-set
3+
//HIDE_START
4+
package io.redis.examples;
5+
6+
import redis.clients.jedis.UnifiedJedis;
7+
import redis.clients.jedis.resps.Tuple;
8+
//HIDE_END
9+
10+
//REMOVE_START
11+
import org.junit.jupiter.api.Test;
12+
import java.util.HashMap;
13+
import java.util.List;
14+
15+
import static org.junit.jupiter.api.Assertions.assertEquals;
16+
//REMOVE_END
17+
18+
public class SortedSetsExample {
19+
20+
@Test
21+
public void run() {
22+
//HIDE_START
23+
UnifiedJedis jedis = new UnifiedJedis("redis://localhost:6379");
24+
//HIDE_END
25+
26+
//REMOVE_START
27+
jedis.del("racer_scores");
28+
//REMOVE_END
29+
30+
//STEP_START zadd
31+
long res1 = jedis.zadd("racer_scores", 10d, "Norem");
32+
System.out.println(res1); // >>> 1
33+
34+
long res2 = jedis.zadd("racer_scores", 12d, "Castilla");
35+
System.out.println(res2); // >>> 1
36+
37+
long res3 = jedis.zadd("racer_scores", new HashMap<String,Double>() {{
38+
put("Sam-Bodden", 8d);
39+
put("Royce", 10d);
40+
put("Ford", 6d);
41+
put("Prickett", 14d);
42+
put("Castilla", 12d);
43+
}});
44+
System.out.println(res3); // >>> 4
45+
//STEP_END
46+
47+
//STEP_START zrange
48+
List<String> res4 = jedis.zrange("racer_scores", 0, -1);
49+
System.out.println(res4); // >>> [Ford, Sam-Bodden, Norem, Royce, Castil, Castilla, Prickett]
50+
51+
List<String> res5 = jedis.zrevrange("racer_scores", 0, -1);
52+
System.out.println(res5); // >>> [Prickett, Castilla, Castil, Royce, Norem, Sam-Bodden, Ford]
53+
//STEP_END
54+
55+
//STEP_START zrange_withscores
56+
List<Tuple> res6 = jedis.zrangeWithScores("racer_scores", 0, -1);
57+
System.out.println(res6); // >>> [[Ford,6.0], [Sam-Bodden,8.0], [Norem,10.0], [Royce,10.0], [Castil,12.0], [Castilla,12.0], [Prickett,14.0]]
58+
//STEP_END
59+
60+
//STEP_START zrangebyscore
61+
List<String> res7 = jedis.zrangeByScore("racer_scores", Double.MIN_VALUE, 10d);
62+
System.out.println(res7); // >>> [Ford, Sam-Bodden, Norem, Royce]
63+
//STEP_END
64+
65+
//STEP_START zremrangebyscore
66+
long res8 = jedis.zrem("racer_scores", "Castilla");
67+
System.out.println(res8); // >>> 1
68+
69+
long res9 = jedis.zremrangeByScore("racer_scores", Double.MIN_VALUE, 9d);
70+
System.out.println(res9); // >>> 2
71+
72+
List<String> res10 = jedis.zrange("racer_scores", 0, -1);
73+
System.out.println(res10); // >>> [Norem, Royce, Prickett]
74+
//STEP_END
75+
76+
//REMOVE_START
77+
assertEquals(3, jedis.zcard("racer_scores"));
78+
//REMOVE_END
79+
80+
//STEP_START zrank
81+
long res11 = jedis.zrank("racer_scores", "Norem");
82+
System.out.println(res11); // >>> 0
83+
84+
long res12 = jedis.zrevrank("racer_scores", "Norem");
85+
System.out.println(res12); // >>> 2
86+
//STEP_END
87+
88+
//STEP_START zadd_lex
89+
long res13 = jedis.zadd("racer_scores", new HashMap<String,Double>() {{
90+
put("Norem", 0d);
91+
put("Sam-Bodden", 0d);
92+
put("Royce", 0d);
93+
put("Ford", 0d);
94+
put("Prickett", 0d);
95+
put("Castilla", 0d);
96+
}});
97+
System.out.println(res13); // >>> 3
98+
99+
List<String> res14 = jedis.zrange("racer_scores", 0, -1);
100+
System.out.println(res14); // >>> [Castilla, Ford, Norem, Prickett, Royce, Sam-Bodden]
101+
102+
List<String> res15 = jedis.zrangeByLex("racer_scores", "[A", "[L");
103+
System.out.println(res15); // >>> [Castilla, Ford]
104+
//STEP_END
105+
106+
//STEP_START leaderboard
107+
long res16 = jedis.zadd("racer_scores", 100d, "Wood");
108+
System.out.println(res16); // >>> 1
109+
110+
long res17 = jedis.zadd("racer_scores", 100d, "Henshaw");
111+
System.out.println(res17); // >>> 1
112+
113+
long res18 = jedis.zadd("racer_scores", 150d, "Henshaw");
114+
System.out.println(res18); // >>> 0
115+
116+
double res19 = jedis.zincrby("racer_scores", 50d, "Wood");
117+
System.out.println(res19); // >>> 150.0
118+
119+
double res20 = jedis.zincrby("racer_scores", 50d, "Henshaw");
120+
System.out.println(res20); // >>> 200.0
121+
//STEP_END
122+
123+
//HIDE_START
124+
jedis.close();
125+
//HIDE_END
126+
}
127+
}
128+

0 commit comments

Comments
 (0)