You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* inital stab at subkey notifications
* clean up API
* docs, simplify usage
* subkeys API
* avoid a fixed stackalloc
* CI file
* tyop
* integration tests for subkey notifications (something channel-routing related still failing)
* fix channel-prefix scenarios
* fix unit test (bad payload)
* fix default-span "fixed" scenario; we could pre-check the length, but let's just fix the underlying problem
* fix cluster routing of subkey notifications; assert newline logic; use deterministic tests (estimate was causing flakiness)
* ignore codex files
* experimental efficiency API
* cleanup
These sub-key notification types allow you to monitor operations on hash fields (subkeys) in addition to key-level operations.
36
+
The different formats provide the same information but organized differently, and StackExchange.Redis provides a unified API
37
+
via the same `KeyNotification` type.
38
+
24
39
### Event Broadcasting in Redis Cluster
25
40
26
41
Importantly, in Redis Cluster, keyspace notifications are **not** broadcast to all nodes - they are only received by clients connecting to the
@@ -48,6 +63,17 @@ Note that there are a range of other `KeySpace...` and `KeyEvent...` methods for
48
63
49
64
The `KeySpace*` methods are similar, and are presented separately to make the intent clear. For example, `KeySpacePattern("foo*")` is equivalent to `KeySpacePrefix("foo")`, and will subscribe to all keys beginning with `"foo"`.
50
65
66
+
**From Redis 8.8**, there are corresponding `SubKeySpace...` and `SubKeyEvent...` methods for sub-key (hash field) notifications:
67
+
68
+
-`SubKeySpaceSingleKey` - subscribe to sub-key notifications for a single key in a specific database
69
+
-`SubKeySpacePattern` - subscribe to sub-key notifications for a key pattern, optionally in a specific database
70
+
-`SubKeySpacePrefix` - subscribe to sub-key notifications for all keys with a specific prefix, optionally in a specific database
71
+
-`SubKeySpaceItem` - subscribe to sub-key notifications for a specific key and field combination in a specific database
72
+
-`SubKeyEvent` - subscribe to sub-key notifications for a specific event type, optionally in a specific database
73
+
-`SubKeySpaceEvent` - subscribe to sub-key notifications for a specific event type and key, optionally in a specific database
74
+
75
+
These work similarly to their key-level counterparts, but monitor hash field operations instead of key operations.
76
+
51
77
Next, we subscribe to the channel and process the notifications using the normal pub/sub subscription API; there are two
- Update experimental `GCRA` APIs and wire protocol terminology from "requests" to "tokens", to match server change ([#3051 by @mgravell](https://github.com/StackExchange/StackExchange.Redis/pull/3051))
14
14
- Add experimental `Aggregate.Count` support for sorted-set combination operations against Redis 8.8 ([#3059 by @mgravell](https://github.com/StackExchange/StackExchange.Redis/pull/3059))
15
+
- Support sub-key (hash field) notifications ([#3062 by @mgravell](https://github.com/StackExchange/StackExchange.Redis/pull/3062))
15
16
- Add `ValueCondition` overloads for `SortedSetIncrement`/`SortedSetIncrementAsync`, supporting `ZADD INCR` with existence conditions ([#3071 by @mgravell](https://github.com/StackExchange/StackExchange.Redis/pull/3071))
16
17
- Recognize Azure Managed Redis (AMR) resources in new Azure clouds ([#3068 by @philon-msft](https://github.com/StackExchange/StackExchange.Redis/pull/3068))
0 commit comments