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.MultiKeyCommandsPipeline;
13 
14 import hunt.redis.BitOP;
15 import hunt.redis.Response;
16 import hunt.redis.SortingParams;
17 import hunt.redis.ZParams;
18 import hunt.redis.params.MigrateParams;
19 
20 import hunt.collection.List;
21 import hunt.collection.Set;
22 
23 import hunt.Long;
24 
25 /**
26  * Multikey related commands (these are split out because they are non-shardable)
27  */
28 interface MultiKeyCommandsPipeline {
29   Response!(Long) del(string[] keys...);
30 
31   Response!(Long) unlink(string[] keys...);
32 
33   Response!(Long) exists(string[] keys...);
34 
35   Response!(List!(string)) blpop(string[] args...);
36 
37   Response!(List!(string)) brpop(string[] args...);
38 
39   Response!(Set!(string)) keys(string pattern);
40 
41   Response!(List!(string)) mget(string[] keys...);
42 
43   Response!(string) mset(string[] keysvalues...);
44 
45   Response!(Long) msetnx(string[] keysvalues...);
46 
47   Response!(string) rename(string oldkey, string newkey);
48 
49   Response!(Long) renamenx(string oldkey, string newkey);
50 
51   Response!(string) rpoplpush(string srckey, string dstkey);
52 
53   Response!(Set!(string)) sdiff(string[] keys...);
54 
55   Response!(Long) sdiffstore(string dstkey, string[] keys...);
56 
57   Response!(Set!(string)) sinter(string[] keys...);
58 
59   Response!(Long) sinterstore(string dstkey, string[] keys...);
60 
61   Response!(Long) smove(string srckey, string dstkey, string member);
62 
63   Response!(Long) sort(string key, SortingParams sortingParameters, string dstkey);
64 
65   Response!(Long) sort(string key, string dstkey);
66 
67   Response!(Set!(string)) sunion(string[] keys...);
68 
69   Response!(Long) sunionstore(string dstkey, string[] keys...);
70 
71   Response!(string) watch(string[] keys...);
72 
73   Response!(Long) zinterstore(string dstkey, string[] sets...);
74 
75   Response!(Long) zinterstore(string dstkey, ZParams params, string[] sets...);
76 
77   Response!(Long) zunionstore(string dstkey, string[] sets...);
78 
79   Response!(Long) zunionstore(string dstkey, ZParams params, string[] sets...);
80 
81   Response!(string) brpoplpush(string source, string destination, int timeout);
82 
83   Response!(Long) publish(string channel, string message);
84 
85   Response!(string) randomKey();
86 
87   Response!(Long) bitop(BitOP op, string destKey, string[] srcKeys...);
88 
89   Response!(string) pfmerge(string destkey, string[] sourcekeys...);
90 
91   Response!(Long) pfcount(string[] keys...);
92 
93   Response!(Long) touch(string[] keys...);
94 
95   Response!(string) migrate(string host, int port, int destinationDB, int timeout, MigrateParams params, string[] keys...);
96 }