1 /*
2  * Hunt - A redis client library for D programming language.
3  *
4  * Copyright (C) 2018-2019 HuntLabs
5  *
6  * Website: https://www.huntlabs.net/
7  *
8  * Licensed under the Apache-2.0 License.
9  *
10  */
11  
12 module hunt.redis.commands.MultiKeyBinaryRedisClusterCommands;
13 
14 import hunt.redis.BinaryRedisPubSub;
15 import hunt.redis.BitOP;
16 import hunt.redis.ScanParams;
17 import hunt.redis.ScanResult;
18 import hunt.redis.SortingParams;
19 import hunt.redis.ZParams;
20 
21 import hunt.collection.List;
22 import hunt.collection.Map;
23 import hunt.collection.Set;
24 
25 import hunt.Long;
26 
27 
28 interface MultiKeyBinaryRedisClusterCommands {
29     Long del(const(ubyte)[][] keys...);
30 
31     Long unlink(const(ubyte)[][] keys...);
32 
33     Long exists(const(ubyte)[][] keys...);
34 
35     // List!(const(ubyte)[]) blpop(int timeout, const(ubyte)[][] keys...);
36 
37     // List!(const(ubyte)[]) brpop(int timeout, const(ubyte)[][] keys...);
38 
39     // List!(const(ubyte)[]) mget(const(ubyte)[][] keys...);
40 
41     // string mset(const(ubyte)[][] keysvalues...);
42 
43     // long msetnx(const(ubyte)[][] keysvalues...);
44 
45     // string rename(const(ubyte)[] oldkey, const(ubyte)[] newkey);
46 
47     // long renamenx(const(ubyte)[] oldkey, const(ubyte)[] newkey);
48 
49     // const(ubyte)[] rpoplpush(const(ubyte)[] srckey, const(ubyte)[] dstkey);
50 
51     // Set!(const(ubyte)[]) sdiff(const(ubyte)[][] keys...);
52 
53     // long sdiffstore(const(ubyte)[] dstkey, const(ubyte)[][] keys...);
54 
55     // Set!(const(ubyte)[]) sinter(const(ubyte)[][] keys...);
56 
57     // long sinterstore(const(ubyte)[] dstkey, const(ubyte)[][] keys...);
58 
59     // long smove(const(ubyte)[] srckey, const(ubyte)[] dstkey, const(ubyte)[] member);
60 
61     // long sort(const(ubyte)[] key, SortingParams sortingParameters, const(ubyte)[] dstkey);
62 
63     // long sort(const(ubyte)[] key, const(ubyte)[] dstkey);
64 
65     // Set!(const(ubyte)[]) sunion(const(ubyte)[][] keys...);
66 
67     // long sunionstore(const(ubyte)[] dstkey, const(ubyte)[][] keys...);
68 
69     // long zinterstore(const(ubyte)[] dstkey, const(ubyte)[][] sets...);
70 
71     // long zinterstore(const(ubyte)[] dstkey, ZParams params, const(ubyte)[][] sets...);
72 
73     // long zunionstore(const(ubyte)[] dstkey, const(ubyte)[][] sets...);
74 
75     // long zunionstore(const(ubyte)[] dstkey, ZParams params, const(ubyte)[][] sets...);
76 
77     // const(ubyte)[] brpoplpush(const(ubyte)[] source, const(ubyte)[] destination, int timeout);
78 
79     // long publish(const(ubyte)[] channel, const(ubyte)[] message);
80 
81     // void subscribe(BinaryRedisPubSub jedisPubSub, const(ubyte)[][] channels...);
82 
83     // void psubscribe(BinaryRedisPubSub jedisPubSub, const(ubyte)[][] patterns...);
84 
85     // long bitop(BitOP op, const(ubyte)[] destKey, const(ubyte)[][] srcKeys...);
86 
87     // string pfmerge(const(ubyte)[] destkey, const(ubyte)[][] sourcekeys...);
88 
89     // long pfcount(const(ubyte)[][] keys...);
90 
91     // long touch(const(ubyte)[][] keys...);
92 
93     // ScanResult!(const(ubyte)[]) scan(const(ubyte)[] cursor, ScanParams params);
94 
95     // Set!(const(ubyte)[]) keys(const(ubyte)[] pattern);
96     
97     // List!(const(ubyte)[]) xread(int count, long block, Map!(const(ubyte)[], const(ubyte)[]) streams);
98     
99     // List!(const(ubyte)[]) xreadGroup(const(ubyte)[] groupname, const(ubyte)[] consumer, int count, long block, bool noAck, Map!(const(ubyte)[], const(ubyte)[]) streams);
100 }