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.MultiKeyRedisClusterCommands;
13 
14 import hunt.redis.BitOP;
15 import hunt.redis.RedisPubSub;
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.Set;
23 
24 import hunt.Long;
25 
26 interface MultiKeyRedisClusterCommands {
27     Long del(string[] keys...);
28 
29     Long unlink(string[] keys...);
30 
31     Long exists(string[] keys...);
32 
33     // List!(string) blpop(int timeout, string[] keys...);
34 
35     // List!(string) brpop(int timeout, string[] keys...);
36 
37     List!(string) mget(string[] keys...);
38 
39     string mset(string[] keysvalues...);
40 
41     // long msetnx(string[] keysvalues...);
42 
43     // string rename(string oldkey, string newkey);
44 
45     // long renamenx(string oldkey, string newkey);
46 
47     // string rpoplpush(string srckey, string dstkey);
48 
49     // Set!(string) sdiff(string[] keys...);
50 
51     // long sdiffstore(string dstkey, string[] keys...);
52 
53     // Set!(string) sinter(string[] keys...);
54 
55     // long sinterstore(string dstkey, string[] keys...);
56 
57     // long smove(string srckey, string dstkey, string member);
58 
59     // long sort(string key, SortingParams sortingParameters, string dstkey);
60 
61     // long sort(string key, string dstkey);
62 
63     // Set!(string) sunion(string[] keys...);
64 
65     // long sunionstore(string dstkey, string[] keys...);
66 
67     // long zinterstore(string dstkey, string[] sets...);
68 
69     // long zinterstore(string dstkey, ZParams params, string[] sets...);
70 
71     // long zunionstore(string dstkey, string[] sets...);
72 
73     // long zunionstore(string dstkey, ZParams params, string[] sets...);
74 
75     // string brpoplpush(string source, string destination, int timeout);
76 
77     // long publish(string channel, string message);
78 
79     // void subscribe(RedisPubSub redisPubSub, string[] channels...);
80 
81     // void psubscribe(RedisPubSub redisPubSub, string[] patterns...);
82 
83     // long bitop(BitOP op, string destKey, string[] srcKeys...);
84 
85     // string pfmerge(string destkey, string[] sourcekeys...);
86 
87     // long pfcount(string[] keys...);
88 
89     // long touch(string[] keys...);
90 
91     // ScanResult!(string) scan(string cursor, ScanParams params);
92 
93     // Set!(string) keys(string pattern);
94 }