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.Commands;
13
14
15 import hunt.collection.Map;
16 import hunt.Double;
17
18 import hunt.redis.BitOP;
19 import hunt.redis.StreamEntryID;
20 import hunt.redis.ListPosition;
21 import hunt.redis.ScanParams;
22 import hunt.redis.SortingParams;
23 import hunt.redis.ZParams;
24 import hunt.redis.params.MigrateParams;
25 import hunt.redis.params.ClientKillParams;
26 import hunt.redis.params.SetParams;
27 import hunt.redis.params.ZAddParams;
28 import hunt.redis.params.ZIncrByParams;
29
30 interface Commands {
31
32 void ping(string message);
33
34 void set(string key, string value);
35
36 void set(string key, string value, SetParams params);
37
38 void get(string key);
39
40 void exists(string[] keys...);
41
42 void del(string[] keys...);
43
44 void unlink(string[] keys...);
45
46 void type(string key);
47
48 void keys(string pattern);
49
50 void rename(string oldkey, string newkey);
51
52 void renamenx(string oldkey, string newkey);
53
54 void expire(string key, int seconds);
55
56 void expireAt(string key, long unixTime);
57
58 void ttl(string key);
59
60 void pttl(string key);
61
62 void touch(string[] keys...);
63
64 void setbit(string key, long offset, bool value);
65
66 void setbit(string key, long offset, string value);
67
68 void getbit(string key, long offset);
69
70 void setrange(string key, long offset, string value);
71
72 void getrange(string key, long startOffset, long endOffset);
73
74 void move(string key, int dbIndex);
75
76 void getSet(string key, string value);
77
78 void mget(string[] keys...);
79
80 void setnx(string key, string value);
81
82 void setex(string key, int seconds, string value);
83
84 void mset(string[] keysvalues...);
85
86 void msetnx(string[] keysvalues...);
87
88 void decrBy(string key, long decrement);
89
90 void decr(string key);
91
92 void incrBy(string key, long increment);
93
94 void incrByFloat(string key, double increment);
95
96 void incr(string key);
97
98 void append(string key, string value);
99
100 void substr(string key, int start, int end);
101
102 void hset(string key, string field, string value);
103
104 void hget(string key, string field);
105
106 void hset(string key, Map!(string, string) hash);
107
108 void hsetnx(string key, string field, string value);
109
110 void hmset(string key, Map!(string, string) hash);
111
112 void hmget(string key, string[] fields...);
113
114 void hincrBy(string key, string field, long value);
115
116 void hincrByFloat(string key, string field, double value);
117
118 void hexists(string key, string field);
119
120 void hdel(string key, string[] fields...);
121
122 void hlen(string key);
123
124 void hkeys(string key);
125
126 void hvals(string key);
127
128 void hgetAll(string key);
129
130 void rpush(string key, string[] strings...);
131
132 void lpush(string key, string[] strings...);
133
134 void llen(string key);
135
136 void lrange(string key, long start, long stop);
137
138 void ltrim(string key, long start, long stop);
139
140 void lindex(string key, long index);
141
142 void lset(string key, long index, string value);
143
144 void lrem(string key, long count, string value);
145
146 void lpop(string key);
147
148 void rpop(string key);
149
150 void rpoplpush(string srckey, string dstkey);
151
152 void sadd(string key, string[] members...);
153
154 void smembers(string key);
155
156 void srem(string key, string[] member...);
157
158 void spop(string key);
159
160 void spop(string key, long count);
161
162 void smove(string srckey, string dstkey, string member);
163
164 void scard(string key);
165
166 void sismember(string key, string member);
167
168 void sinter(string[] keys...);
169
170 void sinterstore(string dstkey, string[] keys...);
171
172 void sunion(string[] keys...);
173
174 void sunionstore(string dstkey, string[] keys...);
175
176 void sdiff(string[] keys...);
177
178 void sdiffstore(string dstkey, string[] keys...);
179
180 void srandmember(string key);
181
182 void zadd(string key, double score, string member);
183
184 void zadd(string key, double score, string member, ZAddParams params);
185
186 void zadd(string key, Map!(string, double) scoreMembers);
187
188 void zadd(string key, Map!(string, double) scoreMembers, ZAddParams params);
189
190 void zrange(string key, long start, long stop);
191
192 void zrem(string key, string[] members...);
193
194 void zincrby(string key, double increment, string member);
195
196 void zincrby(string key, double increment, string member, ZIncrByParams params);
197
198 void zrank(string key, string member);
199
200 void zrevrank(string key, string member);
201
202 void zrevrange(string key, long start, long stop);
203
204 void zrangeWithScores(string key, long start, long stop);
205
206 void zrevrangeWithScores(string key, long start, long stop);
207
208 void zcard(string key);
209
210 void zscore(string key, string member);
211
212 void watch(string[] keys...);
213
214 void sort(string key);
215
216 void sort(string key, SortingParams sortingParameters);
217
218 void blpop(string[] args);
219
220 void sort(string key, SortingParams sortingParameters, string dstkey);
221
222 void sort(string key, string dstkey);
223
224 void brpop(string[] args);
225
226 void brpoplpush(string source, string destination, int timeout);
227
228 void zcount(string key, double min, double max);
229
230 void zcount(string key, string min, string max);
231
232 void zrangeByScore(string key, double min, double max);
233
234 void zrangeByScore(string key, string min, string max);
235
236 void zrangeByScore(string key, double min, double max, int offset,
237 int count);
238
239 void zrangeByScore(string key, string min, string max, int offset, int count);
240
241 void zrangeByScoreWithScores(string key, double min, double max);
242
243 void zrangeByScoreWithScores(string key, double min, double max,
244 int offset, int count);
245
246 void zrangeByScoreWithScores(string key, string min, string max);
247
248 void zrangeByScoreWithScores(string key, string min, string max,
249 int offset, int count);
250
251 void zrevrangeByScore(string key, double max, double min);
252
253 void zrevrangeByScore(string key, string max, string min);
254
255 void zrevrangeByScore(string key, double max, double min, int offset,
256 int count);
257
258 void zrevrangeByScore(string key, string max, string min, int offset, int count);
259
260 void zrevrangeByScoreWithScores(string key, double max, double min);
261
262 void zrevrangeByScoreWithScores(string key, double max, double min,
263 int offset, int count);
264
265 void zrevrangeByScoreWithScores(string key, string max, string min);
266
267 void zrevrangeByScoreWithScores(string key, string max, string min,
268 int offset, int count);
269
270 void zremrangeByRank(string key, long start, long stop);
271
272 void zremrangeByScore(string key, double min, double max);
273
274 void zremrangeByScore(string key, string min, string max);
275
276 void zunionstore(string dstkey, string[] sets...);
277
278 void zunionstore(string dstkey, ZParams params, string[] sets...);
279
280 void zinterstore(string dstkey, string[] sets...);
281
282 void zinterstore(string dstkey, ZParams params, string[] sets...);
283
284 void strlen(string key);
285
286 void lpushx(string key, string[] string...);
287
288 void persist(string key);
289
290 void rpushx(string key, string[] string...);
291
292 void echo(string string);
293
294 void linsert(string key, ListPosition where, string pivot, string value);
295
296 void bgrewriteaof();
297
298 void bgsave();
299
300 void lastsave();
301
302 void save();
303
304 void configSet(string parameter, string value);
305
306 void configGet(string pattern);
307
308 void configResetStat();
309
310 void multi();
311
312 void exec();
313
314 void discard();
315
316 void objectRefcount(string key);
317
318 void objectIdletime(string key);
319
320 void objectEncoding(string key);
321
322 void bitcount(string key);
323
324 void bitcount(string key, long start, long end);
325
326 void bitop(BitOP op, string destKey, string[] srcKeys...);
327
328 void dump(string key);
329
330 void restore(string key, int ttl, const(ubyte)[] serializedValue);
331
332 void restoreReplace(string key, int ttl, const(ubyte)[] serializedValue);
333
334 void scan(string cursor, ScanParams params);
335
336 void hscan(string key, string cursor, ScanParams params);
337
338 void sscan(string key, string cursor, ScanParams params);
339
340 void zscan(string key, string cursor, ScanParams params);
341
342 void waitReplicas(int replicas, long timeout);
343
344 /**
345 * Used for BITFIELD Redis command
346 * @param key
347 * @param arguments
348 */
349 void bitfield(string key, string[] arguments...);
350
351 /**
352 * Used for HSTRLEN Redis command
353 * @param key
354 * @param field
355 */
356 void hstrlen(string key, string field);
357
358 void migrate(string host, int port, string key, int destinationDB, int timeout);
359
360 void migrate(string host, int port, int destinationDB, int timeout, MigrateParams params, string[] keys...);
361
362 void clientKill(string ipPort);
363
364 void clientKill(string ip, int port);
365
366 void clientKill(ClientKillParams params);
367
368 void clientGetname();
369
370 void clientList();
371
372 void clientSetname(string name);
373
374 void memoryDoctor();
375
376 void xadd(string key, StreamEntryID id, Map!(string, string) hash, long maxLen, bool approximateLength);
377
378 void xlen(string key);
379
380 void xrange(string key, StreamEntryID start, StreamEntryID end, long count);
381
382 void xrevrange(string key, StreamEntryID end, StreamEntryID start, int count);
383
384 void xread(int count, long block, MapEntry!(string, StreamEntryID)[] streams...);
385
386 void xack(string key, string group, StreamEntryID[] ids...);
387
388 void xgroupCreate(string key, string consumer, StreamEntryID id, bool makeStream);
389
390 void xgroupSetID(string key, string consumer, StreamEntryID id);
391
392 void xgroupDestroy(string key, string consumer);
393
394 void xgroupDelConsumer(string key, string consumer, string consumerName);
395
396 void xdel(string key, StreamEntryID[] ids...);
397
398 void xtrim(string key, long maxLen, bool approximateLength);
399
400 void xreadGroup(string groupname, string consumer, int count, long block, bool noAck, MapEntry!(string, StreamEntryID)[] streams...);
401
402 void xpending(string key, string groupname, StreamEntryID start, StreamEntryID end, int count, string consumername);
403
404 void xclaim(string key, string group, string consumername, long minIdleTime, long newIdleTime, int retries,
405 bool force, StreamEntryID[] ids...);
406 }