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.MultiKeyBinaryCommands; 13 14 15 import hunt.redis.BinaryRedisPubSub; 16 import hunt.redis.BitOP; 17 import hunt.redis.SortingParams; 18 import hunt.redis.ZParams; 19 20 import hunt.collection.List; 21 import hunt.collection.Map; 22 import hunt.collection.Set; 23 24 25 interface MultiKeyBinaryCommands { 26 long del(const(ubyte)[][] keys...); 27 28 long unlink(const(ubyte)[][] keys...); 29 30 long exists(const(ubyte)[][] keys...); 31 32 List!(const(ubyte)[]) blpop(int timeout, const(ubyte)[][] keys...); 33 34 List!(const(ubyte)[]) brpop(int timeout, const(ubyte)[][] keys...); 35 36 List!(const(ubyte)[]) blpop(const(ubyte)[][] args...); 37 38 List!(const(ubyte)[]) brpop(const(ubyte)[][] args...); 39 40 Set!(const(ubyte)[]) keys(const(ubyte)[] pattern); 41 42 List!(const(ubyte)[]) mget(const(ubyte)[][] keys...); 43 44 string mset(const(ubyte)[][] keysvalues...); 45 46 long msetnx(const(ubyte)[][] keysvalues...); 47 48 string rename(const(ubyte)[] oldkey, const(ubyte)[] newkey); 49 50 long renamenx(const(ubyte)[] oldkey, const(ubyte)[] newkey); 51 52 const(ubyte)[] rpoplpush(const(ubyte)[] srckey, const(ubyte)[] dstkey); 53 54 Set!(const(ubyte)[]) sdiff(const(ubyte)[][] keys...); 55 56 long sdiffstore(const(ubyte)[] dstkey, const(ubyte)[][] keys...); 57 58 Set!(const(ubyte)[]) sinter(const(ubyte)[][] keys...); 59 60 long sinterstore(const(ubyte)[] dstkey, const(ubyte)[][] keys...); 61 62 long smove(const(ubyte)[] srckey, const(ubyte)[] dstkey, const(ubyte)[] member); 63 64 long sort(const(ubyte)[] key, SortingParams sortingParameters, const(ubyte)[] dstkey); 65 66 long sort(const(ubyte)[] key, const(ubyte)[] dstkey); 67 68 Set!(const(ubyte)[]) sunion(const(ubyte)[][] keys...); 69 70 long sunionstore(const(ubyte)[] dstkey, const(ubyte)[][] keys...); 71 72 string watch(const(ubyte)[][] keys...); 73 74 string unwatch(); 75 76 long zinterstore(const(ubyte)[] dstkey, const(ubyte)[][] sets...); 77 78 long zinterstore(const(ubyte)[] dstkey, ZParams params, const(ubyte)[][] sets...); 79 80 long zunionstore(const(ubyte)[] dstkey, const(ubyte)[][] sets...); 81 82 long zunionstore(const(ubyte)[] dstkey, ZParams params, const(ubyte)[][] sets...); 83 84 const(ubyte)[] brpoplpush(const(ubyte)[] source, const(ubyte)[] destination, int timeout); 85 86 long publish(const(ubyte)[] channel, const(ubyte)[] message); 87 88 void subscribe(BinaryRedisPubSub jedisPubSub, const(ubyte)[][] channels...); 89 90 void psubscribe(BinaryRedisPubSub jedisPubSub, const(ubyte)[][] patterns...); 91 92 const(ubyte)[] randomBinaryKey(); 93 94 long bitop(BitOP op, const(ubyte)[] destKey, const(ubyte)[][] srcKeys...); 95 96 string pfmerge(const(ubyte)[] destkey, const(ubyte)[][] sourcekeys...); 97 98 long pfcount(const(ubyte)[][] keys...); 99 100 long touch(const(ubyte)[][] keys...); 101 102 List!(const(ubyte)[]) xread(int count, long block, Map!(const(ubyte)[], const(ubyte)[]) streams); 103 104 List!(const(ubyte)[]) xreadGroup(const(ubyte)[] groupname, const(ubyte)[] consumer, int count, long block, bool noAck, Map!(const(ubyte)[], const(ubyte)[]) streams); 105 }