Skip to content

Commit 6b05624

Browse files
gerzsevladvildanov
authored andcommitted
Document XREAD of last message (+) (#3188)
XREAD now supports reading the last message in the stream, with the + special Id. The code already supports this, so just add some documentation to an existing Jupyter notebook. Fixes #3155 Co-authored-by: Gabriel Erzse <[email protected]>
1 parent bc24916 commit 6b05624

File tree

1 file changed

+65
-37
lines changed

1 file changed

+65
-37
lines changed

docs/examples/redis-stream-example.ipynb

+65-37
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,7 @@
108108
"name": "stdout",
109109
"output_type": "stream",
110110
"text": [
111-
"[[b'skey', [(b'1657571033115-0', {b'ts': b'1657571033.1128936', b'v': b'0'}), (b'1657571033117-0', {b'ts': b'1657571033.1176307', b'v': b'1'})]]]\n"
111+
"[[b'skey', [(b'1710790167982-0', {b'ts': b'1710790167.9824948', b'v': b'0'}), (b'1710790167983-0', {b'ts': b'1710790167.9830241', b'v': b'1'})]]]\n"
112112
]
113113
}
114114
],
@@ -135,8 +135,8 @@
135135
"output_type": "stream",
136136
"text": [
137137
"got data from stream: b'skey'\n",
138-
"id: b'1657571033115-0' value: b'0'\n",
139-
"id: b'1657571033117-0' value: b'1'\n"
138+
"id: b'1710790167982-0' value: b'0'\n",
139+
"id: b'1710790167983-0' value: b'1'\n"
140140
]
141141
}
142142
],
@@ -165,8 +165,8 @@
165165
"name": "stdout",
166166
"output_type": "stream",
167167
"text": [
168-
"id: b'1657571033115-0' value: b'0'\n",
169-
"id: b'1657571033117-0' value: b'1'\n"
168+
"id: b'1710790167982-0' value: b'0'\n",
169+
"id: b'1710790167983-0' value: b'1'\n"
170170
]
171171
}
172172
],
@@ -192,8 +192,8 @@
192192
"name": "stdout",
193193
"output_type": "stream",
194194
"text": [
195-
"id: b'1657571033118-0' value: b'2'\n",
196-
"id: b'1657571033119-0' value: b'3'\n"
195+
"id: b'1710790167983-1' value: b'2'\n",
196+
"id: b'1710790167983-2' value: b'3'\n"
197197
]
198198
}
199199
],
@@ -213,8 +213,8 @@
213213
"name": "stdout",
214214
"output_type": "stream",
215215
"text": [
216-
"id: b'1657571033119-1' value: b'4'\n",
217-
"id: b'1657571033121-0' value: b'5'\n"
216+
"id: b'1710790167983-3' value: b'4'\n",
217+
"id: b'1710790167983-4' value: b'5'\n"
218218
]
219219
}
220220
],
@@ -255,6 +255,34 @@
255255
"print( f\"stream length: {r.xlen( stream_key )}\")"
256256
]
257257
},
258+
{
259+
"cell_type": "markdown",
260+
"source": [
261+
"to get the last entry in the stream"
262+
],
263+
"metadata": {}
264+
},
265+
{
266+
"cell_type": "code",
267+
"execution_count": 1,
268+
"metadata": {},
269+
"outputs": [
270+
{
271+
"name": "stdout",
272+
"output_type": "stream",
273+
"text": [
274+
"[[b'skey', [(b'1710790167984-0', {b'ts': b'1710790167.9839962', b'v': b'9'})]]]\n",
275+
"stream length: 10\n"
276+
]
277+
}
278+
],
279+
"source": [
280+
"# read the last available message\n",
281+
"l = r.xread( count=1, streams={stream_key: '+'} )\n",
282+
"print(l)\n",
283+
"print( f\"stream length: {r.xlen( stream_key )}\")"
284+
]
285+
},
258286
{
259287
"cell_type": "markdown",
260288
"metadata": {},
@@ -298,8 +326,8 @@
298326
"name": "stdout",
299327
"output_type": "stream",
300328
"text": [
301-
"got from b'skey' the entry [(b'1657571033115-0', {b'ts': b'1657571033.1128936', b'v': b'0'})]\n",
302-
"got from b's2key' the entry [(b'1657571042111-0', {b'v': b'1000'})]\n"
329+
"got from b'skey' the entry [(b'1710790167982-0', {b'ts': b'1710790167.9824948', b'v': b'0'})]\n",
330+
"got from b's2key' the entry [(b'1710790173142-0', {b'v': b'1000'})]\n"
303331
]
304332
}
305333
],
@@ -425,8 +453,8 @@
425453
"name": "stdout",
426454
"output_type": "stream",
427455
"text": [
428-
"got element b'1657571033115-0'from stream b'skey'\n",
429-
"got element b'1657571033117-0'from stream b'skey'\n"
456+
"got element b'1710790167982-0'from stream b'skey'\n",
457+
"got element b'1710790167983-0'from stream b'skey'\n"
430458
]
431459
}
432460
],
@@ -453,8 +481,8 @@
453481
"name": "stdout",
454482
"output_type": "stream",
455483
"text": [
456-
"got element b'1657571033118-0'from stream b'skey'\n",
457-
"got element b'1657571033119-0'from stream b'skey'\n"
484+
"got element b'1710790167983-1'from stream b'skey'\n",
485+
"got element b'1710790167983-2'from stream b'skey'\n"
458486
]
459487
}
460488
],
@@ -484,10 +512,10 @@
484512
"name": "stdout",
485513
"output_type": "stream",
486514
"text": [
487-
"got element b'1657571033115-0'from stream b'skey'\n",
488-
"got element b'1657571033117-0'from stream b'skey'\n",
489-
"got element b'1657571042111-0'from stream b's2key'\n",
490-
"got element b'1657571042113-0'from stream b's2key'\n"
515+
"got element b'1710790167982-0'from stream b'skey'\n",
516+
"got element b'1710790167983-0'from stream b'skey'\n",
517+
"got element b'1710790173142-0'from stream b's2key'\n",
518+
"got element b'1710790173143-0'from stream b's2key'\n"
491519
]
492520
}
493521
],
@@ -546,8 +574,8 @@
546574
"name": "stdout",
547575
"output_type": "stream",
548576
"text": [
549-
"got element b'1657571033118-0'from stream b'skey'\n",
550-
"got element b'1657571033119-0'from stream b'skey'\n"
577+
"got element b'1710790167983-1'from stream b'skey'\n",
578+
"got element b'1710790167983-2'from stream b'skey'\n"
551579
]
552580
}
553581
],
@@ -593,22 +621,22 @@
593621
"name": "stdout",
594622
"output_type": "stream",
595623
"text": [
596-
"got element b'1657571033119-1'from stream b'skey'\n",
597-
"got element b'1657571033121-0'from stream b'skey'\n",
598-
"got element b'1657571033121-1'from stream b'skey'\n",
599-
"got element b'1657571033121-2'from stream b'skey'\n",
600-
"got element b'1657571033122-0'from stream b'skey'\n",
601-
"got element b'1657571033122-1'from stream b'skey'\n",
602-
"got element b'1657571049557-0'from stream b'skey'\n",
603-
"got element b'1657571049557-1'from stream b'skey'\n",
604-
"got element b'1657571049558-0'from stream b'skey'\n",
605-
"got element b'1657571049559-0'from stream b'skey'\n",
606-
"got element b'1657571049559-1'from stream b'skey'\n",
607-
"got element b'1657571049559-2'from stream b'skey'\n",
608-
"got element b'1657571049560-0'from stream b'skey'\n",
609-
"got element b'1657571049562-0'from stream b'skey'\n",
610-
"got element b'1657571049563-0'from stream b'skey'\n",
611-
"got element b'1657571049563-1'from stream b'skey'\n",
624+
"got element b'1710790167983-3'from stream b'skey'\n",
625+
"got element b'1710790167983-4'from stream b'skey'\n",
626+
"got element b'1710790167983-5'from stream b'skey'\n",
627+
"got element b'1710790167983-6'from stream b'skey'\n",
628+
"got element b'1710790167983-7'from stream b'skey'\n",
629+
"got element b'1710790167984-0'from stream b'skey'\n",
630+
"got element b'1710790173157-0'from stream b'skey'\n",
631+
"got element b'1710790173158-0'from stream b'skey'\n",
632+
"got element b'1710790173158-1'from stream b'skey'\n",
633+
"got element b'1710790173158-2'from stream b'skey'\n",
634+
"got element b'1710790173158-3'from stream b'skey'\n",
635+
"got element b'1710790173158-4'from stream b'skey'\n",
636+
"got element b'1710790173158-5'from stream b'skey'\n",
637+
"got element b'1710790173159-0'from stream b'skey'\n",
638+
"got element b'1710790173159-1'from stream b'skey'\n",
639+
"got element b'1710790173159-2'from stream b'skey'\n",
612640
"2 pending messages on 'skey' for group 'grp1'\n"
613641
]
614642
}

0 commit comments

Comments
 (0)