summaryrefslogtreecommitdiffstats
path: root/src/commands/xread.json
blob: 8f66d7ee5b482295b883ce995abc3041bce6a84c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
{
    "XREAD": {
        "summary": "Return never seen elements in multiple streams, with IDs greater than the ones reported by the caller for each stream. Can block.",
        "complexity": "For each stream mentioned: O(N) with N being the number of elements being returned, it means that XREAD-ing with a fixed COUNT is O(1). Note that when the BLOCK option is used, XADD will pay O(M) time in order to serve the M clients blocked on the stream getting new data.",
        "group": "stream",
        "since": "5.0.0",
        "arity": -4,
        "function": "xreadCommand",
        "get_keys_function": "xreadGetKeys",
        "command_flags": [
            "BLOCKING",
            "READONLY",
            "BLOCKING"
        ],
        "acl_categories": [
            "STREAM"
        ],
        "key_specs": [
            {
                "flags": [
                    "RO",
                    "ACCESS"
                ],
                "begin_search": {
                    "keyword": {
                        "keyword": "STREAMS",
                        "startfrom": 1
                    }
                },
                "find_keys": {
                    "range": {
                        "lastkey": -1,
                        "step": 1,
                        "limit": 2
                    }
                }
            }
        ],
        "arguments": [
            {
                "token": "COUNT",
                "name": "count",
                "type": "integer",
                "optional": true
            },
            {
                "token": "BLOCK",
                "name": "milliseconds",
                "type": "integer",
                "optional": true
            },
            {
                "name": "streams",
                "token": "STREAMS",
                "type": "block",
                "arguments": [
                    {
                        "name": "key",
                        "type": "key",
                        "key_spec_index": 0,
                        "multiple": true
                    },
                    {
                        "name": "ID",
                        "type": "string",
                        "multiple": true
                    }
                ]
            }
        ]
    }
}