Completed
Push — master ( 8e973a...811a95 )
by
unknown
03:40 queued 01:04
created
vendor-bin/php-scoper/vendor/jetbrains/phpstorm-stubs/judy/judy.php 2 patches
Indentation   +200 added lines, -200 removed lines patch added patch discarded remove patch
@@ -8,206 +8,206 @@
 block discarded – undo
8 8
  */
9 9
 class Judy implements ArrayAccess
10 10
 {
11
-    /**
12
-     * Define the Judy Array as a Bitset with keys as Integer and Values as a Boolean.
13
-     * @link https://php.net/manual/en/class.judy.php#judy.constants.bitset
14
-     */
15
-    public const BITSET = 1;
16
-    /**
17
-     * Define the Judy Array with key/values as Integer, and Integer only.
18
-     * @link https://php.net/manual/en/class.judy.php#judy.constants.int-to-int
19
-     */
20
-    public const INT_TO_INT = 2;
21
-    /**
22
-     * Define the Judy Array with keys as Integer and Values of any type.
23
-     * @link https://php.net/manual/en/class.judy.php#judy.constants.int-to-mixed
24
-     */
25
-    public const INT_TO_MIXED = 3;
26
-    /**
27
-     * Define the Judy Array with keys as a String and Values as Integer, and Integer only.
28
-     * @link https://php.net/manual/en/class.judy.php#judy.constants.string-to-int
29
-     */
30
-    public const STRING_TO_INT = 4;
31
-    /**
32
-     * Define the Judy Array with keys as a String and Values of any type.
33
-     * @link https://php.net/manual/en/class.judy.php#judy.constants.string-to-mixed
34
-     */
35
-    public const STRING_TO_MIXED = 5;
36
-
37
-    /**
38
-     * (PECL judy &gt;= 0.1.1)<br/>
39
-     * Construct a new Judy object. A Judy object can be accessed like a PHP Array.
40
-     * @link https://php.net/manual/en/judy.construct.php
41
-     * @param int $judy_type <p>The Judy type to be used.</p>
42
-     */
43
-    public function __construct($judy_type) {}
44
-
45
-    /**
46
-     * (PECL judy &gt;= 0.1.1)<br/>
47
-     * Destruct a Judy object.
48
-     * @link https://php.net/manual/en/judy.destruct.php
49
-     */
50
-    public function __destruct() {}
51
-
52
-    /**
53
-     * (PECL judy &gt;= 0.1.1)<br/>
54
-     * Locate the Nth index present in the Judy array.
55
-     * @link https://php.net/manual/en/judy.bycount.php
56
-     * @param int $nth_index <p>Nth index to return. If nth_index equal 1, then it will return the first index in the array.</p>
57
-     * @return int <p>Return the index at the given Nth position.</p>
58
-     */
59
-    public function byCount($nth_index) {}
60
-
61
-    /**
62
-     * (PECL judy &gt;= 0.1.1)<br/>
63
-     * Count the number of elements in the Judy array.
64
-     * @link https://php.net/manual/en/judy.count.php
65
-     * @param int $index_start [optional] <p>Start counting from the given index. Default is first index.</p>
66
-     * @param int $index_end [optional] <p>Stop counting when reaching this index. Default is last index.</p>
67
-     * @return int <p>Return the number of elements.</p>
68
-     */
69
-    public function count($index_start = 0, $index_end = -1) {}
70
-
71
-    /**
72
-     * (PECL judy &gt;= 0.1.1)<br/>
73
-     * Search (inclusive) for the first index present that is equal to or greater than the passed Index.
74
-     * @link https://php.net/manual/en/judy.first.php
75
-     * @param mixed $index [optional] <p>The index can be an integer or a string corresponding to the index where to start the search.</p>
76
-     * @return mixed <p>Return the corresponding index in the array.</p>
77
-     */
78
-    public function first($index = 0) {}
79
-
80
-    /**
81
-     * (PECL judy &gt;= 0.1.1)<br/>
82
-     * Search (inclusive) for the first absent index that is equal to or greater than the passed Index.
83
-     * @link https://php.net/manual/en/judy.firstempty.php
84
-     * @param mixed $index [optional] <p>The index can be an integer or a string corresponding to the index where to start the search.</p>
85
-     * @return mixed <p>Return the corresponding index in the array.</p>
86
-     */
87
-    public function firstEmpty($index = 0) {}
88
-
89
-    /**
90
-     * (PECL judy &gt;= 0.1.1)<br/>
91
-     * Free the entire Judy array.
92
-     * @link https://php.net/manual/en/judy.free.php
93
-     */
94
-    public function free() {}
95
-
96
-    /**
97
-     * (PECL judy &gt;= 0.1.1)<br/>
98
-     * Return an integer corresponding to the Judy type of the current object.
99
-     * @link https://php.net/manual/en/judy.gettype.php
100
-     * @return int <p>Return an integer corresponding to a Judy type.</p>
101
-     */
102
-    public function getType() {}
103
-
104
-    /**
105
-     * (PECL judy &gt;= 0.1.1)<br/>
106
-     * Search (inclusive) for the last index present that is equal to or less than the passed Index.
107
-     * @link https://php.net/manual/en/judy.last.php
108
-     * @param int|string $index [optional] <p>The index can be an integer or a string corresponding to the index where to start the search.</p>
109
-     * @return mixed <p>Return the corresponding index in the array.</p>
110
-     */
111
-    public function last($index = -1) {}
112
-
113
-    /**
114
-     * (PECL judy &gt;= 0.1.1)<br/>
115
-     * Search (inclusive) for the last absent index that is equal to or less than the passed Index.
116
-     * @link https://php.net/manual/en/judy.lastempty.php
117
-     * @param int|string $index [optional] <p>The index can be an integer or a string corresponding to the index where to start the search.</p>
118
-     * @return mixed <p>Return the corresponding index in the array.</p>
119
-     */
120
-    public function lastEmpty($index = -1) {}
121
-
122
-    /**
123
-     * (PECL judy &gt;= 0.1.1)<br/>
124
-     * Return the memory used by the Judy array.
125
-     * @link https://php.net/manual/en/judy.memoryusage.php
126
-     * @return int <p>Return the memory used in bytes.</p>
127
-     */
128
-    public function memoryUsage() {}
129
-
130
-    /**
131
-     * (PECL judy &gt;= 0.1.1)<br/>
132
-     * Search (exclusive) for the next index present that is greater than the passed Index.
133
-     * @link https://php.net/manual/en/judy.next.php
134
-     * @param mixed $index <p>The index can be an integer or a string corresponding to the index where to start the search.</p>
135
-     * @return mixed <p>Return the corresponding index in the array.</p>
136
-     */
137
-    public function next($index) {}
138
-
139
-    /**
140
-     * (PECL judy &gt;= 0.1.1)<br/>
141
-     * Search (exclusive) for the next absent index that is greater than the passed Index.
142
-     * @link https://php.net/manual/en/judy.nextempty.php
143
-     * @param int|string $index <p>The index can be an integer or a string corresponding to the index where to start the search.</p>
144
-     * @return mixed <p>Return the corresponding index in the array.</p>
145
-     */
146
-    public function nextEmpty($index) {}
147
-
148
-    /**
149
-     * (PECL judy &gt;= 0.1.1)<br/>
150
-     * Whether or not an offset exists.
151
-     * @link https://php.net/manual/en/judy.offsetexists.php
152
-     * @param mixed $offset <p>An offset to check for.</p>
153
-     * @return bool <p>Returns <b>TRUE</b> on success or <b>FALSE</b> on failure.</p>
154
-     */
155
-    public function offsetExists($offset) {}
156
-
157
-    /**
158
-     * (PECL judy &gt;= 0.1.1)<br/>
159
-     * Returns the value at specified offset.
160
-     * @link https://php.net/manual/en/judy.offsetget.php
161
-     * @param mixed $offset <p>An offset to check for.</p>
162
-     * @return mixed <p>Can return all value types.</p>
163
-     */
164
-    public function offsetGet($offset) {}
165
-
166
-    /**
167
-     * (PECL judy &gt;= 0.1.1)<br/>
168
-     * Assigns a value to the specified offset.
169
-     * @link https://php.net/manual/en/judy.offsetset.php
170
-     * @param mixed $offset <p>The offset to assign the value to.</p>
171
-     * @param mixed $value <p>The value to set.</p>
172
-     */
173
-    public function offsetSet($offset, $value) {}
174
-
175
-    /**
176
-     * (PECL judy &gt;= 0.1.1)<br/>
177
-     * Unsets an offset.
178
-     * @link https://php.net/manual/en/judy.offsetunset.php
179
-     * @param mixed $offset <p>The offset to assign the value to.</p>
180
-     */
181
-    public function offsetUnset($offset) {}
182
-
183
-    /**
184
-     * (PECL judy &gt;= 0.1.1)<br/>
185
-     * Search (exclusive) for the previous index present that is less than the passed Index.
186
-     * @link https://php.net/manual/en/judy.prev.php
187
-     * @param mixed $index <p>The index can be an integer or a string corresponding to the index where to start the search.</p>
188
-     * @return mixed <p>Return the corresponding index in the array.</p>
189
-     */
190
-    public function prev($index) {}
191
-
192
-    /**
193
-     * (PECL judy &gt;= 0.1.1)<br/>
194
-     * Search (exclusive) for the previous index absent that is less than the passed Index.
195
-     * @link https://php.net/manual/en/judy.prevempty.php
196
-     * @param mixed $index <p>The index can be an integer or a string corresponding to the index where to start the search.</p>
197
-     * @return mixed <p>Return the corresponding index in the array.</p>
198
-     */
199
-    public function prevEmpty($index) {}
200
-
201
-    /**
202
-     * (PECL judy &gt;= 0.1.1)<br/>
203
-     * Count the number of elements in the Judy array.<br/>
204
-     * This method is an alias of      const count.
205
-     * @link https://php.net/manual/en/judy.size.php
206
-     * @param int $index_start [optional] <p>Start counting from the given index. Default is first index.</p>
207
-     * @param int $index_end [optional] <p>Stop counting when reaching this index. Default is last index.</p>
208
-     * @return int <p>Return the number of elements.</p>
209
-     */
210
-    public function size($index_start = 0, $index_end = -1) {}
11
+	/**
12
+	 * Define the Judy Array as a Bitset with keys as Integer and Values as a Boolean.
13
+	 * @link https://php.net/manual/en/class.judy.php#judy.constants.bitset
14
+	 */
15
+	public const BITSET = 1;
16
+	/**
17
+	 * Define the Judy Array with key/values as Integer, and Integer only.
18
+	 * @link https://php.net/manual/en/class.judy.php#judy.constants.int-to-int
19
+	 */
20
+	public const INT_TO_INT = 2;
21
+	/**
22
+	 * Define the Judy Array with keys as Integer and Values of any type.
23
+	 * @link https://php.net/manual/en/class.judy.php#judy.constants.int-to-mixed
24
+	 */
25
+	public const INT_TO_MIXED = 3;
26
+	/**
27
+	 * Define the Judy Array with keys as a String and Values as Integer, and Integer only.
28
+	 * @link https://php.net/manual/en/class.judy.php#judy.constants.string-to-int
29
+	 */
30
+	public const STRING_TO_INT = 4;
31
+	/**
32
+	 * Define the Judy Array with keys as a String and Values of any type.
33
+	 * @link https://php.net/manual/en/class.judy.php#judy.constants.string-to-mixed
34
+	 */
35
+	public const STRING_TO_MIXED = 5;
36
+
37
+	/**
38
+	 * (PECL judy &gt;= 0.1.1)<br/>
39
+	 * Construct a new Judy object. A Judy object can be accessed like a PHP Array.
40
+	 * @link https://php.net/manual/en/judy.construct.php
41
+	 * @param int $judy_type <p>The Judy type to be used.</p>
42
+	 */
43
+	public function __construct($judy_type) {}
44
+
45
+	/**
46
+	 * (PECL judy &gt;= 0.1.1)<br/>
47
+	 * Destruct a Judy object.
48
+	 * @link https://php.net/manual/en/judy.destruct.php
49
+	 */
50
+	public function __destruct() {}
51
+
52
+	/**
53
+	 * (PECL judy &gt;= 0.1.1)<br/>
54
+	 * Locate the Nth index present in the Judy array.
55
+	 * @link https://php.net/manual/en/judy.bycount.php
56
+	 * @param int $nth_index <p>Nth index to return. If nth_index equal 1, then it will return the first index in the array.</p>
57
+	 * @return int <p>Return the index at the given Nth position.</p>
58
+	 */
59
+	public function byCount($nth_index) {}
60
+
61
+	/**
62
+	 * (PECL judy &gt;= 0.1.1)<br/>
63
+	 * Count the number of elements in the Judy array.
64
+	 * @link https://php.net/manual/en/judy.count.php
65
+	 * @param int $index_start [optional] <p>Start counting from the given index. Default is first index.</p>
66
+	 * @param int $index_end [optional] <p>Stop counting when reaching this index. Default is last index.</p>
67
+	 * @return int <p>Return the number of elements.</p>
68
+	 */
69
+	public function count($index_start = 0, $index_end = -1) {}
70
+
71
+	/**
72
+	 * (PECL judy &gt;= 0.1.1)<br/>
73
+	 * Search (inclusive) for the first index present that is equal to or greater than the passed Index.
74
+	 * @link https://php.net/manual/en/judy.first.php
75
+	 * @param mixed $index [optional] <p>The index can be an integer or a string corresponding to the index where to start the search.</p>
76
+	 * @return mixed <p>Return the corresponding index in the array.</p>
77
+	 */
78
+	public function first($index = 0) {}
79
+
80
+	/**
81
+	 * (PECL judy &gt;= 0.1.1)<br/>
82
+	 * Search (inclusive) for the first absent index that is equal to or greater than the passed Index.
83
+	 * @link https://php.net/manual/en/judy.firstempty.php
84
+	 * @param mixed $index [optional] <p>The index can be an integer or a string corresponding to the index where to start the search.</p>
85
+	 * @return mixed <p>Return the corresponding index in the array.</p>
86
+	 */
87
+	public function firstEmpty($index = 0) {}
88
+
89
+	/**
90
+	 * (PECL judy &gt;= 0.1.1)<br/>
91
+	 * Free the entire Judy array.
92
+	 * @link https://php.net/manual/en/judy.free.php
93
+	 */
94
+	public function free() {}
95
+
96
+	/**
97
+	 * (PECL judy &gt;= 0.1.1)<br/>
98
+	 * Return an integer corresponding to the Judy type of the current object.
99
+	 * @link https://php.net/manual/en/judy.gettype.php
100
+	 * @return int <p>Return an integer corresponding to a Judy type.</p>
101
+	 */
102
+	public function getType() {}
103
+
104
+	/**
105
+	 * (PECL judy &gt;= 0.1.1)<br/>
106
+	 * Search (inclusive) for the last index present that is equal to or less than the passed Index.
107
+	 * @link https://php.net/manual/en/judy.last.php
108
+	 * @param int|string $index [optional] <p>The index can be an integer or a string corresponding to the index where to start the search.</p>
109
+	 * @return mixed <p>Return the corresponding index in the array.</p>
110
+	 */
111
+	public function last($index = -1) {}
112
+
113
+	/**
114
+	 * (PECL judy &gt;= 0.1.1)<br/>
115
+	 * Search (inclusive) for the last absent index that is equal to or less than the passed Index.
116
+	 * @link https://php.net/manual/en/judy.lastempty.php
117
+	 * @param int|string $index [optional] <p>The index can be an integer or a string corresponding to the index where to start the search.</p>
118
+	 * @return mixed <p>Return the corresponding index in the array.</p>
119
+	 */
120
+	public function lastEmpty($index = -1) {}
121
+
122
+	/**
123
+	 * (PECL judy &gt;= 0.1.1)<br/>
124
+	 * Return the memory used by the Judy array.
125
+	 * @link https://php.net/manual/en/judy.memoryusage.php
126
+	 * @return int <p>Return the memory used in bytes.</p>
127
+	 */
128
+	public function memoryUsage() {}
129
+
130
+	/**
131
+	 * (PECL judy &gt;= 0.1.1)<br/>
132
+	 * Search (exclusive) for the next index present that is greater than the passed Index.
133
+	 * @link https://php.net/manual/en/judy.next.php
134
+	 * @param mixed $index <p>The index can be an integer or a string corresponding to the index where to start the search.</p>
135
+	 * @return mixed <p>Return the corresponding index in the array.</p>
136
+	 */
137
+	public function next($index) {}
138
+
139
+	/**
140
+	 * (PECL judy &gt;= 0.1.1)<br/>
141
+	 * Search (exclusive) for the next absent index that is greater than the passed Index.
142
+	 * @link https://php.net/manual/en/judy.nextempty.php
143
+	 * @param int|string $index <p>The index can be an integer or a string corresponding to the index where to start the search.</p>
144
+	 * @return mixed <p>Return the corresponding index in the array.</p>
145
+	 */
146
+	public function nextEmpty($index) {}
147
+
148
+	/**
149
+	 * (PECL judy &gt;= 0.1.1)<br/>
150
+	 * Whether or not an offset exists.
151
+	 * @link https://php.net/manual/en/judy.offsetexists.php
152
+	 * @param mixed $offset <p>An offset to check for.</p>
153
+	 * @return bool <p>Returns <b>TRUE</b> on success or <b>FALSE</b> on failure.</p>
154
+	 */
155
+	public function offsetExists($offset) {}
156
+
157
+	/**
158
+	 * (PECL judy &gt;= 0.1.1)<br/>
159
+	 * Returns the value at specified offset.
160
+	 * @link https://php.net/manual/en/judy.offsetget.php
161
+	 * @param mixed $offset <p>An offset to check for.</p>
162
+	 * @return mixed <p>Can return all value types.</p>
163
+	 */
164
+	public function offsetGet($offset) {}
165
+
166
+	/**
167
+	 * (PECL judy &gt;= 0.1.1)<br/>
168
+	 * Assigns a value to the specified offset.
169
+	 * @link https://php.net/manual/en/judy.offsetset.php
170
+	 * @param mixed $offset <p>The offset to assign the value to.</p>
171
+	 * @param mixed $value <p>The value to set.</p>
172
+	 */
173
+	public function offsetSet($offset, $value) {}
174
+
175
+	/**
176
+	 * (PECL judy &gt;= 0.1.1)<br/>
177
+	 * Unsets an offset.
178
+	 * @link https://php.net/manual/en/judy.offsetunset.php
179
+	 * @param mixed $offset <p>The offset to assign the value to.</p>
180
+	 */
181
+	public function offsetUnset($offset) {}
182
+
183
+	/**
184
+	 * (PECL judy &gt;= 0.1.1)<br/>
185
+	 * Search (exclusive) for the previous index present that is less than the passed Index.
186
+	 * @link https://php.net/manual/en/judy.prev.php
187
+	 * @param mixed $index <p>The index can be an integer or a string corresponding to the index where to start the search.</p>
188
+	 * @return mixed <p>Return the corresponding index in the array.</p>
189
+	 */
190
+	public function prev($index) {}
191
+
192
+	/**
193
+	 * (PECL judy &gt;= 0.1.1)<br/>
194
+	 * Search (exclusive) for the previous index absent that is less than the passed Index.
195
+	 * @link https://php.net/manual/en/judy.prevempty.php
196
+	 * @param mixed $index <p>The index can be an integer or a string corresponding to the index where to start the search.</p>
197
+	 * @return mixed <p>Return the corresponding index in the array.</p>
198
+	 */
199
+	public function prevEmpty($index) {}
200
+
201
+	/**
202
+	 * (PECL judy &gt;= 0.1.1)<br/>
203
+	 * Count the number of elements in the Judy array.<br/>
204
+	 * This method is an alias of      const count.
205
+	 * @link https://php.net/manual/en/judy.size.php
206
+	 * @param int $index_start [optional] <p>Start counting from the given index. Default is first index.</p>
207
+	 * @param int $index_end [optional] <p>Stop counting when reaching this index. Default is last index.</p>
208
+	 * @return int <p>Return the number of elements.</p>
209
+	 */
210
+	public function size($index_start = 0, $index_end = -1) {}
211 211
 }
212 212
 
213 213
 // End of judy.
Please login to merge, or discard this patch.
Braces   +1 added lines, -2 removed lines patch added patch discarded remove patch
@@ -6,8 +6,7 @@
 block discarded – undo
6 6
  * Class Judy.
7 7
  * @link https://php.net/manual/en/class.judy.php
8 8
  */
9
-class Judy implements ArrayAccess
10
-{
9
+class Judy implements ArrayAccess {
11 10
     /**
12 11
      * Define the Judy Array as a Bitset with keys as Integer and Values as a Boolean.
13 12
      * @link https://php.net/manual/en/class.judy.php#judy.constants.bitset
Please login to merge, or discard this patch.
vendor-bin/php-scoper/vendor/jetbrains/phpstorm-stubs/gearman/gearman.php 2 patches
Indentation   +856 added lines, -856 removed lines patch added patch discarded remove patch
@@ -1349,451 +1349,451 @@  discard block
 block discarded – undo
1349 1349
  */
1350 1350
 class GearmanClient
1351 1351
 {
1352
-    /**
1353
-     * Creates a GearmanClient instance representing a client that connects to the job
1354
-     * server and submits tasks to complete.
1355
-     *
1356
-     * @link https://php.net/manual/en/gearmanclient.construct.php
1357
-     */
1358
-    public function __construct() {}
1359
-
1360
-    /**
1361
-     * Returns the last Gearman return code.
1362
-     *
1363
-     * @link https://php.net/manual/en/gearmanclient.returncode.php
1364
-     * @return int A valid Gearman return code
1365
-     */
1366
-    public function returnCode() {}
1367
-
1368
-    /**
1369
-     * Returns an error string for the last error encountered.
1370
-     *
1371
-     * @link https://php.net/manual/en/gearmanclient.error.php
1372
-     * @return string A human readable error string
1373
-     */
1374
-    public function error() {}
1375
-
1376
-    /**
1377
-     * Value of errno in the case of a GEARMAN_ERRNO return value.
1378
-     *
1379
-     * @link https://php.net/manual/en/gearmanclient.geterrno.php
1380
-     * @return int A valid Gearman errno
1381
-     */
1382
-    public function getErrno() {}
1383
-
1384
-    public function options() {}
1385
-
1386
-    /**
1387
-     * Sets one or more client options.
1388
-     *
1389
-     * @link https://php.net/manual/en/gearmanclient.setoptions.php
1390
-     * @param int $options The options to be set
1391
-     * @return bool Always returns true
1392
-     */
1393
-    public function setOptions($options) {}
1394
-
1395
-    /**
1396
-     * Adds one or more options to those already set.
1397
-     *
1398
-     * @link https://php.net/manual/en/gearmanclient.addoptions.php
1399
-     * @param int $options The options to add
1400
-     * @return bool Always returns true
1401
-     */
1402
-    public function addOptions($options) {}
1403
-
1404
-    /**
1405
-     * Removes (unsets) one or more options.
1406
-     *
1407
-     * @link https://php.net/manual/en/gearmanclient.removeoptions.php
1408
-     * @param int $options The options to be removed (unset)
1409
-     * @return bool Always returns true
1410
-     */
1411
-    public function removeOptions($options) {}
1412
-
1413
-    /**
1414
-     * Returns the timeout in milliseconds to wait for I/O activity.
1415
-     *
1416
-     * @link https://php.net/manual/en/gearmanclient.timeout.php
1417
-     * @return int Timeout in milliseconds to wait for I/O activity. A negative value means an
1418
-     *         infinite timeout
1419
-     */
1420
-    public function timeout() {}
1421
-
1422
-    /**
1423
-     * Sets the timeout for socket I/O activity.
1424
-     *
1425
-     * @link https://php.net/manual/en/gearmanclient.settimeout.php
1426
-     * @param int $timeout An interval of time in milliseconds
1427
-     * @return bool Always returns true
1428
-     */
1429
-    public function setTimeout($timeout) {}
1430
-
1431
-    /**
1432
-     * Get the application context previously set with GearmanClient::setContext.
1433
-     *
1434
-     * @link https://php.net/manual/en/gearmanclient.context.php
1435
-     * @return string The same context data structure set with GearmanClient::setContext
1436
-     */
1437
-    public function context() {}
1438
-
1439
-    /**
1440
-     * Sets an arbitrary string to provide application context that can later be
1441
-     * retrieved by GearmanClient::context.
1442
-     *
1443
-     * @link https://php.net/manual/en/gearmanclient.setcontext.php
1444
-     * @param string $context Arbitrary context data
1445
-     * @return bool Always returns true
1446
-     */
1447
-    public function setContext($context) {}
1448
-
1449
-    /**
1450
-     * Adds a job server to a list of servers that can be used to run a task. No socket
1451
-     * I/O happens here; the server is simply added to the list.
1452
-     *
1453
-     * @link https://php.net/manual/en/gearmanclient.addserver.php
1454
-     * @param string $host
1455
-     * @param int $port
1456
-     * @return bool
1457
-     */
1458
-    public function addServer($host = '127.0.0.1', $port = 4730) {}
1459
-
1460
-    /**
1461
-     * Adds a list of job servers that can be used to run a task. No socket I/O happens
1462
-     * here; the servers are simply added to the full list of servers.
1463
-     *
1464
-     * @link https://php.net/manual/en/gearmanclient.addservers.php
1465
-     * @param string $servers A comma-separated list of servers, each server specified
1466
-     *        in the format host:port
1467
-     * @return bool
1468
-     */
1469
-    public function addServers($servers = '127.0.0.1:4730') {}
1470
-
1471
-    public function wait() {}
1472
-
1473
-    /**
1474
-     * Runs a single high priority task and returns a string representation of the
1475
-     * result. It is up to the GearmanClient and GearmanWorker to agree on the format
1476
-     * of the result. High priority tasks will get precedence over normal and low
1477
-     * priority tasks in the job queue.
1478
-     *
1479
-     * @link https://php.net/manual/en/gearmanclient.dohigh.php
1480
-     * @param string $function_name
1481
-     * @param string $workload
1482
-     * @param string $unique
1483
-     * @return string A string representing the results of running a task
1484
-     */
1485
-    public function doHigh($function_name, $workload, $unique = null) {}
1486
-
1487
-    /**
1488
-     * Runs a single task and returns a string representation of the
1489
-     * result. It is up to the GearmanClient and GearmanWorker to agree on the format
1490
-     * of the result. Normal and high priority tasks will get precedence over low
1491
-     * priority tasks in the job queue.
1492
-     *
1493
-     * @link https://php.net/manual/en/gearmanclient.dolow.php
1494
-     * @param string $function_name
1495
-     * @param string $workload
1496
-     * @param string $unique
1497
-     * @return string A string representing the results of running a task
1498
-     */
1499
-    public function doNormal($function_name, $workload, $unique = null) {}
1500
-
1501
-    /**
1502
-     * Runs a single low priority task and returns a string representation of the
1503
-     * result. It is up to the GearmanClient and GearmanWorker to agree on the format
1504
-     * of the result. Normal and high priority tasks will get precedence over low
1505
-     * priority tasks in the job queue.
1506
-     *
1507
-     * @link https://php.net/manual/en/gearmanclient.dolow.php
1508
-     * @param string $function_name
1509
-     * @param string $workload
1510
-     * @param string $unique
1511
-     * @return string A string representing the results of running a task
1512
-     */
1513
-    public function doLow($function_name, $workload, $unique = null) {}
1514
-
1515
-    /**
1516
-     * Gets that job handle for a running task. This should be used between repeated
1517
-     * GearmanClient::do calls. The job handle can then be used to get information on
1518
-     * the task.
1519
-     *
1520
-     * @link https://php.net/manual/en/gearmanclient.dojobhandle.php
1521
-     * @return string The job handle for the running task
1522
-     */
1523
-    public function doJobHandle() {}
1524
-
1525
-    /**
1526
-     * Returns the status for the running task. This should be used between repeated
1527
-     * GearmanClient::do calls.
1528
-     *
1529
-     * @link https://php.net/manual/en/gearmanclient.dostatus.php
1530
-     * @return array An array representing the percentage completion given as a fraction, with
1531
-     *         the first element the numerator and the second element the denomintor
1532
-     */
1533
-    public function doStatus() {}
1534
-
1535
-    /**
1536
-     * Runs a task in the background, returning a job handle which can be used to get
1537
-     * the status of the running task.
1538
-     *
1539
-     * @link https://php.net/manual/en/gearmanclient.dobackground.php
1540
-     * @param string $function_name
1541
-     * @param string $workload
1542
-     * @param string $unique
1543
-     * @return string The job handle for the submitted task
1544
-     */
1545
-    public function doBackground($function_name, $workload, $unique = null) {}
1546
-
1547
-    /**
1548
-     * Runs a high priority task in the background, returning a job handle which can be
1549
-     * used to get the status of the running task. High priority tasks take precedence
1550
-     * over normal and low priority tasks in the job queue.
1551
-     *
1552
-     * @link https://php.net/manual/en/gearmanclient.dohighbackground.php
1553
-     * @param string $function_name
1554
-     * @param string $workload
1555
-     * @param string $unique
1556
-     * @return string The job handle for the submitted task
1557
-     */
1558
-    public function doHighBackground($function_name, $workload, $unique = null) {}
1559
-
1560
-    /**
1561
-     * Runs a low priority task in the background, returning a job handle which can be
1562
-     * used to get the status of the running task. Normal and high priority tasks take
1563
-     * precedence over low priority tasks in the job queue.
1564
-     *
1565
-     * @link https://php.net/manual/en/gearmanclient.dolowbackground.php
1566
-     * @param string $function_name
1567
-     * @param string $workload
1568
-     * @param string $unique
1569
-     * @return string The job handle for the submitted task
1570
-     */
1571
-    public function doLowBackground($function_name, $workload, $unique = null) {}
1572
-
1573
-    /**
1574
-     * Object oriented style (method):.
1575
-     *
1576
-     * @link https://php.net/manual/en/gearmanclient.jobstatus.php
1577
-     * @param string $job_handle
1578
-     * @return array An array containing status information for the job corresponding to the
1579
-     *         supplied job handle. The first array element is a boolean indicating whether the
1580
-     *         job is even known, the second is a boolean indicating whether the job is still
1581
-     *         running, and the third and fourth elements correspond to the numerator and
1582
-     *         denominator of the fractional completion percentage, respectively
1583
-     */
1584
-    public function jobStatus($job_handle) {}
1585
-
1586
-    /**
1587
-     * Adds a task to be run in parallel with other tasks. Call this method for all the
1588
-     * tasks to be run in parallel, then call GearmanClient::runTasks to perform the
1589
-     * work. Note that enough workers need to be available for the tasks to all run in
1590
-     * parallel.
1591
-     *
1592
-     * @link https://php.net/manual/en/gearmanclient.addtask.php
1593
-     * @param string $function_name
1594
-     * @param string $workload
1595
-     * @param mixed $context
1596
-     * @param string $unique
1597
-     * @return GearmanTask|false A GearmanTask object or false if the task could not be added
1598
-     */
1599
-    public function addTask($function_name, $workload, $context = null, $unique = null) {}
1600
-
1601
-    /**
1602
-     * Adds a high priority task to be run in parallel with other tasks. Call this
1603
-     * method for all the high priority tasks to be run in parallel, then call
1604
-     * GearmanClient::runTasks to perform the work. Tasks with a high priority will be
1605
-     * selected from the queue before those of normal or low priority.
1606
-     *
1607
-     * @link https://php.net/manual/en/gearmanclient.addtaskhigh.php
1608
-     * @param string $function_name
1609
-     * @param string $workload
1610
-     * @param mixed $context
1611
-     * @param string $unique
1612
-     * @return GearmanTask|false A GearmanTask object or false if the task could not be added
1613
-     */
1614
-    public function addTaskHigh($function_name, $workload, $context = null, $unique = null) {}
1615
-
1616
-    /**
1617
-     * Adds a low priority background task to be run in parallel with other tasks. Call
1618
-     * this method for all the tasks to be run in parallel, then call
1619
-     * GearmanClient::runTasks to perform the work. Tasks with a low priority will be
1620
-     * selected from the queue after those of normal or low priority.
1621
-     *
1622
-     * @link https://php.net/manual/en/gearmanclient.addtasklow.php
1623
-     * @param string $function_name
1624
-     * @param string $workload
1625
-     * @param mixed $context
1626
-     * @param string $unique
1627
-     * @return GearmanTask|false A GearmanTask object or false if the task could not be added
1628
-     */
1629
-    public function addTaskLow($function_name, $workload, $context = null, $unique = null) {}
1630
-
1631
-    /**
1632
-     * Adds a background task to be run in parallel with other tasks. Call this method
1633
-     * for all the tasks to be run in parallel, then call GearmanClient::runTasks to
1634
-     * perform the work.
1635
-     *
1636
-     * @link https://php.net/manual/en/gearmanclient.addtaskbackground.php
1637
-     * @param string $function_name
1638
-     * @param string $workload
1639
-     * @param mixed $context
1640
-     * @param string $unique
1641
-     * @return GearmanTask|false A GearmanTask object or false if the task could not be added
1642
-     */
1643
-    public function addTaskBackground($function_name, $workload, $context = null, $unique = null) {}
1644
-
1645
-    /**
1646
-     * Adds a high priority background task to be run in parallel with other tasks.
1647
-     * Call this method for all the tasks to be run in parallel, then call
1648
-     * GearmanClient::runTasks to perform the work. Tasks with a high priority will be
1649
-     * selected from the queue before those of normal or low priority.
1650
-     *
1651
-     * @link https://php.net/manual/en/gearmanclient.addtaskhighbackground.php
1652
-     * @param string $function_name
1653
-     * @param string $workload
1654
-     * @param mixed $context
1655
-     * @param string $unique
1656
-     * @return GearmanTask|false A GearmanTask object or false if the task could not be added
1657
-     */
1658
-    public function addTaskHighBackground($function_name, $workload, $context = null, $unique = null) {}
1659
-
1660
-    /**
1661
-     * Adds a low priority background task to be run in parallel with other tasks. Call
1662
-     * this method for all the tasks to be run in parallel, then call
1663
-     * GearmanClient::runTasks to perform the work. Tasks with a low priority will be
1664
-     * selected from the queue after those of normal or high priority.
1665
-     *
1666
-     * @link https://php.net/manual/en/gearmanclient.addtasklowbackground.php
1667
-     * @param string $function_name
1668
-     * @param string $workload
1669
-     * @param mixed $context
1670
-     * @param string $unique
1671
-     * @return GearmanTask|false A GearmanTask object or false if the task could not be added
1672
-     */
1673
-    public function addTaskLowBackground($function_name, $workload, $context = null, $unique = null) {}
1674
-
1675
-    /**
1676
-     * Used to request status information from the Gearman server, which will call the
1677
-     * specified status callback (set using GearmanClient::setStatusCallback).
1678
-     *
1679
-     * @link https://php.net/manual/en/gearmanclient.addtaskstatus.php
1680
-     * @param string $job_handle The job handle for the task to get status for
1681
-     * @param string $context Data to be passed to the status callback, generally a
1682
-     *        reference to an array or object
1683
-     * @return GearmanTask A GearmanTask object
1684
-     */
1685
-    public function addTaskStatus($job_handle, $context = null) {}
1686
-
1687
-    /**
1688
-     * Sets a function to be called when a worker needs to send back data prior to job
1689
-     * completion. A worker can do this when it needs to send updates, send partial
1690
-     * results, or flush data during long running jobs. The callback should accept a
1691
-     * single argument, a GearmanTask object.
1692
-     *
1693
-     * @link https://php.net/manual/en/gearmanclient.setworkloadcallback.php
1694
-     * @param callable $callback A function to call
1695
-     * @return bool
1696
-     */
1697
-    public function setWorkloadCallback($callback) {}
1698
-
1699
-    /**
1700
-     * Sets a function to be called when a task is received and queued by the Gearman
1701
-     * job server. The callback should accept a single argument, a GearmanClient oject.
1702
-     *
1703
-     * @link https://php.net/manual/en/gearmanclient.setcreatedcallback.php
1704
-     * @param string $callback A function to call
1705
-     * @return bool
1706
-     */
1707
-    public function setCreatedCallback($callback) {}
1708
-
1709
-    /**
1710
-     * Sets the callback function for accepting data packets for a task. The callback
1711
-     * function should take a single argument, a GearmanTask object.
1712
-     *
1713
-     * @link https://php.net/manual/en/gearmanclient.setdatacallback.php
1714
-     * @param callable $callback A function or method to call
1715
-     * @return bool
1716
-     */
1717
-    public function setDataCallback($callback) {}
1718
-
1719
-    /**
1720
-     * Sets a function to be called when a worker sends a warning. The callback should
1721
-     * accept a single argument, a GearmanTask object.
1722
-     *
1723
-     * @link https://php.net/manual/en/gearmanclient.setwarningcallback.php
1724
-     * @param callable $callback A function to call
1725
-     * @return bool
1726
-     */
1727
-    public function setWarningCallback($callback) {}
1728
-
1729
-    /**
1730
-     * Sets a callback function used for getting updated status information from a
1731
-     * worker. The function should accept a single argument, a GearmanTask object.
1732
-     *
1733
-     * @link https://php.net/manual/en/gearmanclient.setstatuscallback.php
1734
-     * @param callable $callback A function to call
1735
-     * @return bool
1736
-     */
1737
-    public function setStatusCallback($callback) {}
1738
-
1739
-    /**
1740
-     * Use to set a function to be called when a task is completed. The callback
1741
-     * function should accept a single argument, a GearmanTask oject.
1742
-     *
1743
-     * @link https://php.net/manual/en/gearmanclient.setcompletecallback.php
1744
-     * @param callable $callback A function to be called
1745
-     * @return bool
1746
-     */
1747
-    public function setCompleteCallback($callback) {}
1748
-
1749
-    /**
1750
-     * Specifies a function to call when a worker for a task sends an exception.
1751
-     *
1752
-     * @link https://php.net/manual/en/gearmanclient.setexceptioncallback.php
1753
-     * @param callable $callback Function to call when the worker throws an exception
1754
-     * @return bool
1755
-     */
1756
-    public function setExceptionCallback($callback) {}
1757
-
1758
-    /**
1759
-     * Sets the callback function to be used when a task does not complete
1760
-     * successfully. The function should accept a single argument, a GearmanTask object.
1761
-     *
1762
-     * @link https://php.net/manual/en/gearmanclient.setfailcallback.php
1763
-     * @param callable $callback A function to call
1764
-     * @return bool
1765
-     */
1766
-    public function setFailCallback($callback) {}
1767
-
1768
-    /**
1769
-     * Clears all the task callback functions that have previously been set.
1770
-     *
1771
-     * @link https://php.net/manual/en/gearmanclient.clearcallbacks.php
1772
-     * @return bool Always returns true
1773
-     */
1774
-    public function clearCallbacks() {}
1775
-
1776
-    /**
1777
-     * For a set of tasks previously added with GearmanClient::addTask,
1778
-     * GearmanClient::addTaskHigh, GearmanClient::addTaskLow,
1779
-     * GearmanClient::addTaskBackground, GearmanClient::addTaskHighBackground, or
1780
-     * GearmanClient::addTaskLowBackground, this call starts running the tasks in
1781
-     * parallel.
1782
-     *
1783
-     * @link https://php.net/manual/en/gearmanclient.runtasks.php
1784
-     * @return bool
1785
-     */
1786
-    public function runTasks() {}
1787
-
1788
-    /**
1789
-     * Sends some arbitrary data to all job servers to see if they echo it back.
1790
-     * The data sent is not used or processed in any other way. Primarily used for testing and debugging.
1791
-     *
1792
-     * @link https://php.net/manual/en/gearmanclient.ping.php
1793
-     * @param string $workload
1794
-     * @return bool
1795
-     */
1796
-    public function ping($workload) {}
1352
+	/**
1353
+	 * Creates a GearmanClient instance representing a client that connects to the job
1354
+	 * server and submits tasks to complete.
1355
+	 *
1356
+	 * @link https://php.net/manual/en/gearmanclient.construct.php
1357
+	 */
1358
+	public function __construct() {}
1359
+
1360
+	/**
1361
+	 * Returns the last Gearman return code.
1362
+	 *
1363
+	 * @link https://php.net/manual/en/gearmanclient.returncode.php
1364
+	 * @return int A valid Gearman return code
1365
+	 */
1366
+	public function returnCode() {}
1367
+
1368
+	/**
1369
+	 * Returns an error string for the last error encountered.
1370
+	 *
1371
+	 * @link https://php.net/manual/en/gearmanclient.error.php
1372
+	 * @return string A human readable error string
1373
+	 */
1374
+	public function error() {}
1375
+
1376
+	/**
1377
+	 * Value of errno in the case of a GEARMAN_ERRNO return value.
1378
+	 *
1379
+	 * @link https://php.net/manual/en/gearmanclient.geterrno.php
1380
+	 * @return int A valid Gearman errno
1381
+	 */
1382
+	public function getErrno() {}
1383
+
1384
+	public function options() {}
1385
+
1386
+	/**
1387
+	 * Sets one or more client options.
1388
+	 *
1389
+	 * @link https://php.net/manual/en/gearmanclient.setoptions.php
1390
+	 * @param int $options The options to be set
1391
+	 * @return bool Always returns true
1392
+	 */
1393
+	public function setOptions($options) {}
1394
+
1395
+	/**
1396
+	 * Adds one or more options to those already set.
1397
+	 *
1398
+	 * @link https://php.net/manual/en/gearmanclient.addoptions.php
1399
+	 * @param int $options The options to add
1400
+	 * @return bool Always returns true
1401
+	 */
1402
+	public function addOptions($options) {}
1403
+
1404
+	/**
1405
+	 * Removes (unsets) one or more options.
1406
+	 *
1407
+	 * @link https://php.net/manual/en/gearmanclient.removeoptions.php
1408
+	 * @param int $options The options to be removed (unset)
1409
+	 * @return bool Always returns true
1410
+	 */
1411
+	public function removeOptions($options) {}
1412
+
1413
+	/**
1414
+	 * Returns the timeout in milliseconds to wait for I/O activity.
1415
+	 *
1416
+	 * @link https://php.net/manual/en/gearmanclient.timeout.php
1417
+	 * @return int Timeout in milliseconds to wait for I/O activity. A negative value means an
1418
+	 *         infinite timeout
1419
+	 */
1420
+	public function timeout() {}
1421
+
1422
+	/**
1423
+	 * Sets the timeout for socket I/O activity.
1424
+	 *
1425
+	 * @link https://php.net/manual/en/gearmanclient.settimeout.php
1426
+	 * @param int $timeout An interval of time in milliseconds
1427
+	 * @return bool Always returns true
1428
+	 */
1429
+	public function setTimeout($timeout) {}
1430
+
1431
+	/**
1432
+	 * Get the application context previously set with GearmanClient::setContext.
1433
+	 *
1434
+	 * @link https://php.net/manual/en/gearmanclient.context.php
1435
+	 * @return string The same context data structure set with GearmanClient::setContext
1436
+	 */
1437
+	public function context() {}
1438
+
1439
+	/**
1440
+	 * Sets an arbitrary string to provide application context that can later be
1441
+	 * retrieved by GearmanClient::context.
1442
+	 *
1443
+	 * @link https://php.net/manual/en/gearmanclient.setcontext.php
1444
+	 * @param string $context Arbitrary context data
1445
+	 * @return bool Always returns true
1446
+	 */
1447
+	public function setContext($context) {}
1448
+
1449
+	/**
1450
+	 * Adds a job server to a list of servers that can be used to run a task. No socket
1451
+	 * I/O happens here; the server is simply added to the list.
1452
+	 *
1453
+	 * @link https://php.net/manual/en/gearmanclient.addserver.php
1454
+	 * @param string $host
1455
+	 * @param int $port
1456
+	 * @return bool
1457
+	 */
1458
+	public function addServer($host = '127.0.0.1', $port = 4730) {}
1459
+
1460
+	/**
1461
+	 * Adds a list of job servers that can be used to run a task. No socket I/O happens
1462
+	 * here; the servers are simply added to the full list of servers.
1463
+	 *
1464
+	 * @link https://php.net/manual/en/gearmanclient.addservers.php
1465
+	 * @param string $servers A comma-separated list of servers, each server specified
1466
+	 *        in the format host:port
1467
+	 * @return bool
1468
+	 */
1469
+	public function addServers($servers = '127.0.0.1:4730') {}
1470
+
1471
+	public function wait() {}
1472
+
1473
+	/**
1474
+	 * Runs a single high priority task and returns a string representation of the
1475
+	 * result. It is up to the GearmanClient and GearmanWorker to agree on the format
1476
+	 * of the result. High priority tasks will get precedence over normal and low
1477
+	 * priority tasks in the job queue.
1478
+	 *
1479
+	 * @link https://php.net/manual/en/gearmanclient.dohigh.php
1480
+	 * @param string $function_name
1481
+	 * @param string $workload
1482
+	 * @param string $unique
1483
+	 * @return string A string representing the results of running a task
1484
+	 */
1485
+	public function doHigh($function_name, $workload, $unique = null) {}
1486
+
1487
+	/**
1488
+	 * Runs a single task and returns a string representation of the
1489
+	 * result. It is up to the GearmanClient and GearmanWorker to agree on the format
1490
+	 * of the result. Normal and high priority tasks will get precedence over low
1491
+	 * priority tasks in the job queue.
1492
+	 *
1493
+	 * @link https://php.net/manual/en/gearmanclient.dolow.php
1494
+	 * @param string $function_name
1495
+	 * @param string $workload
1496
+	 * @param string $unique
1497
+	 * @return string A string representing the results of running a task
1498
+	 */
1499
+	public function doNormal($function_name, $workload, $unique = null) {}
1500
+
1501
+	/**
1502
+	 * Runs a single low priority task and returns a string representation of the
1503
+	 * result. It is up to the GearmanClient and GearmanWorker to agree on the format
1504
+	 * of the result. Normal and high priority tasks will get precedence over low
1505
+	 * priority tasks in the job queue.
1506
+	 *
1507
+	 * @link https://php.net/manual/en/gearmanclient.dolow.php
1508
+	 * @param string $function_name
1509
+	 * @param string $workload
1510
+	 * @param string $unique
1511
+	 * @return string A string representing the results of running a task
1512
+	 */
1513
+	public function doLow($function_name, $workload, $unique = null) {}
1514
+
1515
+	/**
1516
+	 * Gets that job handle for a running task. This should be used between repeated
1517
+	 * GearmanClient::do calls. The job handle can then be used to get information on
1518
+	 * the task.
1519
+	 *
1520
+	 * @link https://php.net/manual/en/gearmanclient.dojobhandle.php
1521
+	 * @return string The job handle for the running task
1522
+	 */
1523
+	public function doJobHandle() {}
1524
+
1525
+	/**
1526
+	 * Returns the status for the running task. This should be used between repeated
1527
+	 * GearmanClient::do calls.
1528
+	 *
1529
+	 * @link https://php.net/manual/en/gearmanclient.dostatus.php
1530
+	 * @return array An array representing the percentage completion given as a fraction, with
1531
+	 *         the first element the numerator and the second element the denomintor
1532
+	 */
1533
+	public function doStatus() {}
1534
+
1535
+	/**
1536
+	 * Runs a task in the background, returning a job handle which can be used to get
1537
+	 * the status of the running task.
1538
+	 *
1539
+	 * @link https://php.net/manual/en/gearmanclient.dobackground.php
1540
+	 * @param string $function_name
1541
+	 * @param string $workload
1542
+	 * @param string $unique
1543
+	 * @return string The job handle for the submitted task
1544
+	 */
1545
+	public function doBackground($function_name, $workload, $unique = null) {}
1546
+
1547
+	/**
1548
+	 * Runs a high priority task in the background, returning a job handle which can be
1549
+	 * used to get the status of the running task. High priority tasks take precedence
1550
+	 * over normal and low priority tasks in the job queue.
1551
+	 *
1552
+	 * @link https://php.net/manual/en/gearmanclient.dohighbackground.php
1553
+	 * @param string $function_name
1554
+	 * @param string $workload
1555
+	 * @param string $unique
1556
+	 * @return string The job handle for the submitted task
1557
+	 */
1558
+	public function doHighBackground($function_name, $workload, $unique = null) {}
1559
+
1560
+	/**
1561
+	 * Runs a low priority task in the background, returning a job handle which can be
1562
+	 * used to get the status of the running task. Normal and high priority tasks take
1563
+	 * precedence over low priority tasks in the job queue.
1564
+	 *
1565
+	 * @link https://php.net/manual/en/gearmanclient.dolowbackground.php
1566
+	 * @param string $function_name
1567
+	 * @param string $workload
1568
+	 * @param string $unique
1569
+	 * @return string The job handle for the submitted task
1570
+	 */
1571
+	public function doLowBackground($function_name, $workload, $unique = null) {}
1572
+
1573
+	/**
1574
+	 * Object oriented style (method):.
1575
+	 *
1576
+	 * @link https://php.net/manual/en/gearmanclient.jobstatus.php
1577
+	 * @param string $job_handle
1578
+	 * @return array An array containing status information for the job corresponding to the
1579
+	 *         supplied job handle. The first array element is a boolean indicating whether the
1580
+	 *         job is even known, the second is a boolean indicating whether the job is still
1581
+	 *         running, and the third and fourth elements correspond to the numerator and
1582
+	 *         denominator of the fractional completion percentage, respectively
1583
+	 */
1584
+	public function jobStatus($job_handle) {}
1585
+
1586
+	/**
1587
+	 * Adds a task to be run in parallel with other tasks. Call this method for all the
1588
+	 * tasks to be run in parallel, then call GearmanClient::runTasks to perform the
1589
+	 * work. Note that enough workers need to be available for the tasks to all run in
1590
+	 * parallel.
1591
+	 *
1592
+	 * @link https://php.net/manual/en/gearmanclient.addtask.php
1593
+	 * @param string $function_name
1594
+	 * @param string $workload
1595
+	 * @param mixed $context
1596
+	 * @param string $unique
1597
+	 * @return GearmanTask|false A GearmanTask object or false if the task could not be added
1598
+	 */
1599
+	public function addTask($function_name, $workload, $context = null, $unique = null) {}
1600
+
1601
+	/**
1602
+	 * Adds a high priority task to be run in parallel with other tasks. Call this
1603
+	 * method for all the high priority tasks to be run in parallel, then call
1604
+	 * GearmanClient::runTasks to perform the work. Tasks with a high priority will be
1605
+	 * selected from the queue before those of normal or low priority.
1606
+	 *
1607
+	 * @link https://php.net/manual/en/gearmanclient.addtaskhigh.php
1608
+	 * @param string $function_name
1609
+	 * @param string $workload
1610
+	 * @param mixed $context
1611
+	 * @param string $unique
1612
+	 * @return GearmanTask|false A GearmanTask object or false if the task could not be added
1613
+	 */
1614
+	public function addTaskHigh($function_name, $workload, $context = null, $unique = null) {}
1615
+
1616
+	/**
1617
+	 * Adds a low priority background task to be run in parallel with other tasks. Call
1618
+	 * this method for all the tasks to be run in parallel, then call
1619
+	 * GearmanClient::runTasks to perform the work. Tasks with a low priority will be
1620
+	 * selected from the queue after those of normal or low priority.
1621
+	 *
1622
+	 * @link https://php.net/manual/en/gearmanclient.addtasklow.php
1623
+	 * @param string $function_name
1624
+	 * @param string $workload
1625
+	 * @param mixed $context
1626
+	 * @param string $unique
1627
+	 * @return GearmanTask|false A GearmanTask object or false if the task could not be added
1628
+	 */
1629
+	public function addTaskLow($function_name, $workload, $context = null, $unique = null) {}
1630
+
1631
+	/**
1632
+	 * Adds a background task to be run in parallel with other tasks. Call this method
1633
+	 * for all the tasks to be run in parallel, then call GearmanClient::runTasks to
1634
+	 * perform the work.
1635
+	 *
1636
+	 * @link https://php.net/manual/en/gearmanclient.addtaskbackground.php
1637
+	 * @param string $function_name
1638
+	 * @param string $workload
1639
+	 * @param mixed $context
1640
+	 * @param string $unique
1641
+	 * @return GearmanTask|false A GearmanTask object or false if the task could not be added
1642
+	 */
1643
+	public function addTaskBackground($function_name, $workload, $context = null, $unique = null) {}
1644
+
1645
+	/**
1646
+	 * Adds a high priority background task to be run in parallel with other tasks.
1647
+	 * Call this method for all the tasks to be run in parallel, then call
1648
+	 * GearmanClient::runTasks to perform the work. Tasks with a high priority will be
1649
+	 * selected from the queue before those of normal or low priority.
1650
+	 *
1651
+	 * @link https://php.net/manual/en/gearmanclient.addtaskhighbackground.php
1652
+	 * @param string $function_name
1653
+	 * @param string $workload
1654
+	 * @param mixed $context
1655
+	 * @param string $unique
1656
+	 * @return GearmanTask|false A GearmanTask object or false if the task could not be added
1657
+	 */
1658
+	public function addTaskHighBackground($function_name, $workload, $context = null, $unique = null) {}
1659
+
1660
+	/**
1661
+	 * Adds a low priority background task to be run in parallel with other tasks. Call
1662
+	 * this method for all the tasks to be run in parallel, then call
1663
+	 * GearmanClient::runTasks to perform the work. Tasks with a low priority will be
1664
+	 * selected from the queue after those of normal or high priority.
1665
+	 *
1666
+	 * @link https://php.net/manual/en/gearmanclient.addtasklowbackground.php
1667
+	 * @param string $function_name
1668
+	 * @param string $workload
1669
+	 * @param mixed $context
1670
+	 * @param string $unique
1671
+	 * @return GearmanTask|false A GearmanTask object or false if the task could not be added
1672
+	 */
1673
+	public function addTaskLowBackground($function_name, $workload, $context = null, $unique = null) {}
1674
+
1675
+	/**
1676
+	 * Used to request status information from the Gearman server, which will call the
1677
+	 * specified status callback (set using GearmanClient::setStatusCallback).
1678
+	 *
1679
+	 * @link https://php.net/manual/en/gearmanclient.addtaskstatus.php
1680
+	 * @param string $job_handle The job handle for the task to get status for
1681
+	 * @param string $context Data to be passed to the status callback, generally a
1682
+	 *        reference to an array or object
1683
+	 * @return GearmanTask A GearmanTask object
1684
+	 */
1685
+	public function addTaskStatus($job_handle, $context = null) {}
1686
+
1687
+	/**
1688
+	 * Sets a function to be called when a worker needs to send back data prior to job
1689
+	 * completion. A worker can do this when it needs to send updates, send partial
1690
+	 * results, or flush data during long running jobs. The callback should accept a
1691
+	 * single argument, a GearmanTask object.
1692
+	 *
1693
+	 * @link https://php.net/manual/en/gearmanclient.setworkloadcallback.php
1694
+	 * @param callable $callback A function to call
1695
+	 * @return bool
1696
+	 */
1697
+	public function setWorkloadCallback($callback) {}
1698
+
1699
+	/**
1700
+	 * Sets a function to be called when a task is received and queued by the Gearman
1701
+	 * job server. The callback should accept a single argument, a GearmanClient oject.
1702
+	 *
1703
+	 * @link https://php.net/manual/en/gearmanclient.setcreatedcallback.php
1704
+	 * @param string $callback A function to call
1705
+	 * @return bool
1706
+	 */
1707
+	public function setCreatedCallback($callback) {}
1708
+
1709
+	/**
1710
+	 * Sets the callback function for accepting data packets for a task. The callback
1711
+	 * function should take a single argument, a GearmanTask object.
1712
+	 *
1713
+	 * @link https://php.net/manual/en/gearmanclient.setdatacallback.php
1714
+	 * @param callable $callback A function or method to call
1715
+	 * @return bool
1716
+	 */
1717
+	public function setDataCallback($callback) {}
1718
+
1719
+	/**
1720
+	 * Sets a function to be called when a worker sends a warning. The callback should
1721
+	 * accept a single argument, a GearmanTask object.
1722
+	 *
1723
+	 * @link https://php.net/manual/en/gearmanclient.setwarningcallback.php
1724
+	 * @param callable $callback A function to call
1725
+	 * @return bool
1726
+	 */
1727
+	public function setWarningCallback($callback) {}
1728
+
1729
+	/**
1730
+	 * Sets a callback function used for getting updated status information from a
1731
+	 * worker. The function should accept a single argument, a GearmanTask object.
1732
+	 *
1733
+	 * @link https://php.net/manual/en/gearmanclient.setstatuscallback.php
1734
+	 * @param callable $callback A function to call
1735
+	 * @return bool
1736
+	 */
1737
+	public function setStatusCallback($callback) {}
1738
+
1739
+	/**
1740
+	 * Use to set a function to be called when a task is completed. The callback
1741
+	 * function should accept a single argument, a GearmanTask oject.
1742
+	 *
1743
+	 * @link https://php.net/manual/en/gearmanclient.setcompletecallback.php
1744
+	 * @param callable $callback A function to be called
1745
+	 * @return bool
1746
+	 */
1747
+	public function setCompleteCallback($callback) {}
1748
+
1749
+	/**
1750
+	 * Specifies a function to call when a worker for a task sends an exception.
1751
+	 *
1752
+	 * @link https://php.net/manual/en/gearmanclient.setexceptioncallback.php
1753
+	 * @param callable $callback Function to call when the worker throws an exception
1754
+	 * @return bool
1755
+	 */
1756
+	public function setExceptionCallback($callback) {}
1757
+
1758
+	/**
1759
+	 * Sets the callback function to be used when a task does not complete
1760
+	 * successfully. The function should accept a single argument, a GearmanTask object.
1761
+	 *
1762
+	 * @link https://php.net/manual/en/gearmanclient.setfailcallback.php
1763
+	 * @param callable $callback A function to call
1764
+	 * @return bool
1765
+	 */
1766
+	public function setFailCallback($callback) {}
1767
+
1768
+	/**
1769
+	 * Clears all the task callback functions that have previously been set.
1770
+	 *
1771
+	 * @link https://php.net/manual/en/gearmanclient.clearcallbacks.php
1772
+	 * @return bool Always returns true
1773
+	 */
1774
+	public function clearCallbacks() {}
1775
+
1776
+	/**
1777
+	 * For a set of tasks previously added with GearmanClient::addTask,
1778
+	 * GearmanClient::addTaskHigh, GearmanClient::addTaskLow,
1779
+	 * GearmanClient::addTaskBackground, GearmanClient::addTaskHighBackground, or
1780
+	 * GearmanClient::addTaskLowBackground, this call starts running the tasks in
1781
+	 * parallel.
1782
+	 *
1783
+	 * @link https://php.net/manual/en/gearmanclient.runtasks.php
1784
+	 * @return bool
1785
+	 */
1786
+	public function runTasks() {}
1787
+
1788
+	/**
1789
+	 * Sends some arbitrary data to all job servers to see if they echo it back.
1790
+	 * The data sent is not used or processed in any other way. Primarily used for testing and debugging.
1791
+	 *
1792
+	 * @link https://php.net/manual/en/gearmanclient.ping.php
1793
+	 * @param string $workload
1794
+	 * @return bool
1795
+	 */
1796
+	public function ping($workload) {}
1797 1797
 }
1798 1798
 
1799 1799
 /**
@@ -1801,110 +1801,110 @@  discard block
 block discarded – undo
1801 1801
  */
1802 1802
 class GearmanTask
1803 1803
 {
1804
-    /**
1805
-     * Returns the last Gearman return code for this task.
1806
-     *
1807
-     * @link https://php.net/manual/en/gearmantask.returncode.php
1808
-     * @return int A valid Gearman return code
1809
-     */
1810
-    public function returnCode() {}
1811
-
1812
-    /**
1813
-     * Returns the name of the function this task is associated with, i.e., the
1814
-     * function the Gearman worker calls.
1815
-     *
1816
-     * @link https://php.net/manual/en/gearmantask.functionname.php
1817
-     * @return string A function name
1818
-     */
1819
-    public function functionName() {}
1820
-
1821
-    /**
1822
-     * Returns the unique identifier for this task. This is assigned by the
1823
-     * GearmanClient, as opposed to the job handle which is set by the Gearman job
1824
-     * server.
1825
-     *
1826
-     * @link https://php.net/manual/en/gearmantask.unique.php
1827
-     * @return string|false The unique identifier, or false if no identifier is assigned
1828
-     */
1829
-    public function unique() {}
1830
-
1831
-    /**
1832
-     * Returns the job handle for this task.
1833
-     *
1834
-     * @link https://php.net/manual/en/gearmantask.jobhandle.php
1835
-     * @return string The opaque job handle
1836
-     */
1837
-    public function jobHandle() {}
1838
-
1839
-    /**
1840
-     * Gets the status information for whether or not this task is known to the job
1841
-     * server.
1842
-     *
1843
-     * @link https://php.net/manual/en/gearmantask.isknown.php
1844
-     * @return bool true if the task is known, false otherwise
1845
-     */
1846
-    public function isKnown() {}
1847
-
1848
-    /**
1849
-     * Indicates whether or not this task is currently running.
1850
-     *
1851
-     * @link https://php.net/manual/en/gearmantask.isrunning.php
1852
-     * @return bool true if the task is running, false otherwise
1853
-     */
1854
-    public function isRunning() {}
1855
-
1856
-    /**
1857
-     * Returns the numerator of the percentage of the task that is complete expressed
1858
-     * as a fraction.
1859
-     *
1860
-     * @link https://php.net/manual/en/gearmantask.tasknumerator.php
1861
-     * @return int|false A number between 0 and 100, or false if cannot be determined
1862
-     */
1863
-    public function taskNumerator() {}
1864
-
1865
-    /**
1866
-     * Returns the denominator of the percentage of the task that is complete expressed
1867
-     * as a fraction.
1868
-     *
1869
-     * @link https://php.net/manual/en/gearmantask.taskdenominator.php
1870
-     * @return int|false A number between 0 and 100, or false if cannot be determined
1871
-     */
1872
-    public function taskDenominator() {}
1873
-
1874
-    /**
1875
-     * .
1876
-     *
1877
-     * @link https://php.net/manual/en/gearmantask.sendworkload.php
1878
-     * @param string $data Data to send to the worker
1879
-     * @return int|false The length of data sent, or false if the send failed
1880
-     */
1881
-    public function sendWorkload($data) {}
1882
-
1883
-    /**
1884
-     * Returns data being returned for a task by a worker.
1885
-     *
1886
-     * @link https://php.net/manual/en/gearmantask.data.php
1887
-     * @return string|false The serialized data, or false if no data is present
1888
-     */
1889
-    public function data() {}
1890
-
1891
-    /**
1892
-     * Returns the size of the data being returned for a task.
1893
-     *
1894
-     * @link https://php.net/manual/en/gearmantask.datasize.php
1895
-     * @return int|false The data size, or false if there is no data
1896
-     */
1897
-    public function dataSize() {}
1898
-
1899
-    /**
1900
-     * .
1901
-     *
1902
-     * @link https://php.net/manual/en/gearmantask.recvdata.php
1903
-     * @param int $data_len Length of data to be read
1904
-     * @return array|false An array whose first element is the length of data read and the second is
1905
-     *         the data buffer. Returns false if the read failed
1906
-     */
1907
-    public function recvData($data_len) {}
1804
+	/**
1805
+	 * Returns the last Gearman return code for this task.
1806
+	 *
1807
+	 * @link https://php.net/manual/en/gearmantask.returncode.php
1808
+	 * @return int A valid Gearman return code
1809
+	 */
1810
+	public function returnCode() {}
1811
+
1812
+	/**
1813
+	 * Returns the name of the function this task is associated with, i.e., the
1814
+	 * function the Gearman worker calls.
1815
+	 *
1816
+	 * @link https://php.net/manual/en/gearmantask.functionname.php
1817
+	 * @return string A function name
1818
+	 */
1819
+	public function functionName() {}
1820
+
1821
+	/**
1822
+	 * Returns the unique identifier for this task. This is assigned by the
1823
+	 * GearmanClient, as opposed to the job handle which is set by the Gearman job
1824
+	 * server.
1825
+	 *
1826
+	 * @link https://php.net/manual/en/gearmantask.unique.php
1827
+	 * @return string|false The unique identifier, or false if no identifier is assigned
1828
+	 */
1829
+	public function unique() {}
1830
+
1831
+	/**
1832
+	 * Returns the job handle for this task.
1833
+	 *
1834
+	 * @link https://php.net/manual/en/gearmantask.jobhandle.php
1835
+	 * @return string The opaque job handle
1836
+	 */
1837
+	public function jobHandle() {}
1838
+
1839
+	/**
1840
+	 * Gets the status information for whether or not this task is known to the job
1841
+	 * server.
1842
+	 *
1843
+	 * @link https://php.net/manual/en/gearmantask.isknown.php
1844
+	 * @return bool true if the task is known, false otherwise
1845
+	 */
1846
+	public function isKnown() {}
1847
+
1848
+	/**
1849
+	 * Indicates whether or not this task is currently running.
1850
+	 *
1851
+	 * @link https://php.net/manual/en/gearmantask.isrunning.php
1852
+	 * @return bool true if the task is running, false otherwise
1853
+	 */
1854
+	public function isRunning() {}
1855
+
1856
+	/**
1857
+	 * Returns the numerator of the percentage of the task that is complete expressed
1858
+	 * as a fraction.
1859
+	 *
1860
+	 * @link https://php.net/manual/en/gearmantask.tasknumerator.php
1861
+	 * @return int|false A number between 0 and 100, or false if cannot be determined
1862
+	 */
1863
+	public function taskNumerator() {}
1864
+
1865
+	/**
1866
+	 * Returns the denominator of the percentage of the task that is complete expressed
1867
+	 * as a fraction.
1868
+	 *
1869
+	 * @link https://php.net/manual/en/gearmantask.taskdenominator.php
1870
+	 * @return int|false A number between 0 and 100, or false if cannot be determined
1871
+	 */
1872
+	public function taskDenominator() {}
1873
+
1874
+	/**
1875
+	 * .
1876
+	 *
1877
+	 * @link https://php.net/manual/en/gearmantask.sendworkload.php
1878
+	 * @param string $data Data to send to the worker
1879
+	 * @return int|false The length of data sent, or false if the send failed
1880
+	 */
1881
+	public function sendWorkload($data) {}
1882
+
1883
+	/**
1884
+	 * Returns data being returned for a task by a worker.
1885
+	 *
1886
+	 * @link https://php.net/manual/en/gearmantask.data.php
1887
+	 * @return string|false The serialized data, or false if no data is present
1888
+	 */
1889
+	public function data() {}
1890
+
1891
+	/**
1892
+	 * Returns the size of the data being returned for a task.
1893
+	 *
1894
+	 * @link https://php.net/manual/en/gearmantask.datasize.php
1895
+	 * @return int|false The data size, or false if there is no data
1896
+	 */
1897
+	public function dataSize() {}
1898
+
1899
+	/**
1900
+	 * .
1901
+	 *
1902
+	 * @link https://php.net/manual/en/gearmantask.recvdata.php
1903
+	 * @param int $data_len Length of data to be read
1904
+	 * @return array|false An array whose first element is the length of data read and the second is
1905
+	 *         the data buffer. Returns false if the read failed
1906
+	 */
1907
+	public function recvData($data_len) {}
1908 1908
 }
1909 1909
 
1910 1910
 /**
@@ -1912,195 +1912,195 @@  discard block
 block discarded – undo
1912 1912
  */
1913 1913
 class GearmanWorker
1914 1914
 {
1915
-    /**
1916
-     * Creates a GearmanWorker instance representing a worker that connects to the job
1917
-     * server and accepts tasks to run.
1918
-     *
1919
-     * @link https://php.net/manual/en/gearmanworker.construct.php
1920
-     */
1921
-    public function __construct() {}
1922
-
1923
-    /**
1924
-     * Returns the last Gearman return code.
1925
-     *
1926
-     * @link https://php.net/manual/en/gearmanworker.returncode.php
1927
-     * @return int A valid Gearman return code
1928
-     */
1929
-    public function returnCode() {}
1930
-
1931
-    /**
1932
-     * Returns an error string for the last error encountered.
1933
-     *
1934
-     * @link https://php.net/manual/en/gearmanworker.error.php
1935
-     * @return string An error string
1936
-     */
1937
-    public function error() {}
1938
-
1939
-    /**
1940
-     * Returns the value of errno in the case of a GEARMAN_ERRNO return value.
1941
-     *
1942
-     * @link https://php.net/manual/en/gearmanworker.geterrno.php
1943
-     * @return int A valid errno
1944
-     */
1945
-    public function getErrno() {}
1946
-
1947
-    /**
1948
-     * Gets the options previously set for the worker.
1949
-     *
1950
-     * @link https://php.net/manual/en/gearmanworker.options.php
1951
-     * @return int The options currently set for the worker
1952
-     */
1953
-    public function options() {}
1954
-
1955
-    /**
1956
-     * Sets one or more options to the supplied value.
1957
-     *
1958
-     * @link https://php.net/manual/en/gearmanworker.setoptions.php
1959
-     * @param int $option The options to be set
1960
-     * @return bool Always returns true
1961
-     */
1962
-    public function setOptions($option) {}
1963
-
1964
-    /**
1965
-     * Adds one or more options to the options previously set.
1966
-     *
1967
-     * @link https://php.net/manual/en/gearmanworker.addoptions.php
1968
-     * @param int $option The options to be added
1969
-     * @return bool Always returns true
1970
-     */
1971
-    public function addOptions($option) {}
1972
-
1973
-    /**
1974
-     * Removes (unsets) one or more worker options.
1975
-     *
1976
-     * @link https://php.net/manual/en/gearmanworker.removeoptions.php
1977
-     * @param int $option The options to be removed (unset)
1978
-     * @return bool Always returns true
1979
-     */
1980
-    public function removeOptions($option) {}
1981
-
1982
-    /**
1983
-     * Returns the current time to wait, in milliseconds, for socket I/O activity.
1984
-     *
1985
-     * @link https://php.net/manual/en/gearmanworker.timeout.php
1986
-     * @return int A time period is milliseconds. A negative value indicates an infinite
1987
-     *         timeout
1988
-     */
1989
-    public function timeout() {}
1990
-
1991
-    /**
1992
-     * Sets the interval of time to wait for socket I/O activity.
1993
-     *
1994
-     * @link https://php.net/manual/en/gearmanworker.settimeout.php
1995
-     * @param int $timeout An interval of time in milliseconds. A negative value
1996
-     *        indicates an infinite timeout
1997
-     * @return bool Always returns true
1998
-     */
1999
-    public function setTimeout($timeout) {}
2000
-
2001
-    /**
2002
-     * Give the worker an identifier so it can be tracked when asking gearmand for
2003
-     * the list of available workers.
2004
-     *
2005
-     * @link https://php.net/manual/en/gearmanworker.setid.php
2006
-     * @param string $id A string identifier
2007
-     * @return bool Returns TRUE on success or FALSE on failure
2008
-     */
2009
-    public function setId($id) {}
2010
-
2011
-    /**
2012
-     * Adds a job server to this worker. This goes into a list of servers than can be
2013
-     * used to run jobs. No socket I/O happens here.
2014
-     *
2015
-     * @link https://php.net/manual/en/gearmanworker.addserver.php
2016
-     * @param string $host
2017
-     * @param int $port
2018
-     * @return bool
2019
-     */
2020
-    public function addServer($host = '127.0.0.1', $port = 4730) {}
2021
-
2022
-    /**
2023
-     * Adds one or more job servers to this worker. These go into a list of servers
2024
-     * that can be used to run jobs. No socket I/O happens here.
2025
-     *
2026
-     * @link https://php.net/manual/en/gearmanworker.addservers.php
2027
-     * @param string $servers A comma separated list of job servers in the format
2028
-     *        host:port. If no port is specified, it defaults to 4730
2029
-     * @return bool
2030
-     */
2031
-    public function addServers($servers = '127.0.0.1:4730') {}
2032
-
2033
-    /**
2034
-     * Causes the worker to wait for activity from one of the Gearman job servers when
2035
-     * operating in non-blocking I/O mode. On failure, issues a E_WARNING with the last
2036
-     * Gearman error encountered.
2037
-     *
2038
-     * @link https://php.net/manual/en/gearmanworker.wait.php
2039
-     * @return bool
2040
-     */
2041
-    public function wait() {}
2042
-
2043
-    /**
2044
-     * Registers a function name with the job server with an optional timeout. The
2045
-     * timeout specifies how many seconds the server will wait before marking a job as
2046
-     * failed. If the timeout is set to zero, there is no timeout.
2047
-     *
2048
-     * @link https://php.net/manual/en/gearmanworker.register.php
2049
-     * @param string $function_name The name of a function to register with the job
2050
-     *        server
2051
-     * @param int $timeout An interval of time in seconds
2052
-     * @return bool A standard Gearman return value
2053
-     */
2054
-    public function register($function_name, $timeout) {}
2055
-
2056
-    /**
2057
-     * Unregisters a function name with the job servers ensuring that no more jobs (for
2058
-     * that function) are sent to this worker.
2059
-     *
2060
-     * @link https://php.net/manual/en/gearmanworker.unregister.php
2061
-     * @param string $function_name The name of a function to register with the job
2062
-     *        server
2063
-     * @return bool A standard Gearman return value
2064
-     */
2065
-    public function unregister($function_name) {}
2066
-
2067
-    /**
2068
-     * Unregisters all previously registered functions, ensuring that no more jobs are
2069
-     * sent to this worker.
2070
-     *
2071
-     * @link https://php.net/manual/en/gearmanworker.unregisterall.php
2072
-     * @return bool A standard Gearman return value
2073
-     */
2074
-    public function unregisterAll() {}
2075
-
2076
-    public function grabJob() {}
2077
-
2078
-    /**
2079
-     * Registers a function name with the job server and specifies a callback
2080
-     * corresponding to that function. Optionally specify extra application context
2081
-     * data to be used when the callback is called and a timeout.
2082
-     *
2083
-     * @link https://php.net/manual/en/gearmanworker.addfunction.php
2084
-     * @param string $function_name The name of a function to register with the job
2085
-     *        server
2086
-     * @param callable $function A callback that gets called when a job for the
2087
-     *        registered function name is submitted
2088
-     * @param mixed $context A reference to arbitrary application context data that can
2089
-     *        be modified by the worker function
2090
-     * @param int $timeout An interval of time in seconds
2091
-     * @return bool
2092
-     */
2093
-    public function addFunction($function_name, $function, $context = null, $timeout = 0) {}
2094
-
2095
-    /**
2096
-     * Waits for a job to be assigned and then calls the appropriate callback function.
2097
-     * Issues an E_WARNING with the last Gearman error if the return code is not one of
2098
-     * GEARMAN_SUCCESS, GEARMAN_IO_WAIT, or GEARMAN_WORK_FAIL.
2099
-     *
2100
-     * @link https://php.net/manual/en/gearmanworker.work.php
2101
-     * @return bool
2102
-     */
2103
-    public function work() {}
1915
+	/**
1916
+	 * Creates a GearmanWorker instance representing a worker that connects to the job
1917
+	 * server and accepts tasks to run.
1918
+	 *
1919
+	 * @link https://php.net/manual/en/gearmanworker.construct.php
1920
+	 */
1921
+	public function __construct() {}
1922
+
1923
+	/**
1924
+	 * Returns the last Gearman return code.
1925
+	 *
1926
+	 * @link https://php.net/manual/en/gearmanworker.returncode.php
1927
+	 * @return int A valid Gearman return code
1928
+	 */
1929
+	public function returnCode() {}
1930
+
1931
+	/**
1932
+	 * Returns an error string for the last error encountered.
1933
+	 *
1934
+	 * @link https://php.net/manual/en/gearmanworker.error.php
1935
+	 * @return string An error string
1936
+	 */
1937
+	public function error() {}
1938
+
1939
+	/**
1940
+	 * Returns the value of errno in the case of a GEARMAN_ERRNO return value.
1941
+	 *
1942
+	 * @link https://php.net/manual/en/gearmanworker.geterrno.php
1943
+	 * @return int A valid errno
1944
+	 */
1945
+	public function getErrno() {}
1946
+
1947
+	/**
1948
+	 * Gets the options previously set for the worker.
1949
+	 *
1950
+	 * @link https://php.net/manual/en/gearmanworker.options.php
1951
+	 * @return int The options currently set for the worker
1952
+	 */
1953
+	public function options() {}
1954
+
1955
+	/**
1956
+	 * Sets one or more options to the supplied value.
1957
+	 *
1958
+	 * @link https://php.net/manual/en/gearmanworker.setoptions.php
1959
+	 * @param int $option The options to be set
1960
+	 * @return bool Always returns true
1961
+	 */
1962
+	public function setOptions($option) {}
1963
+
1964
+	/**
1965
+	 * Adds one or more options to the options previously set.
1966
+	 *
1967
+	 * @link https://php.net/manual/en/gearmanworker.addoptions.php
1968
+	 * @param int $option The options to be added
1969
+	 * @return bool Always returns true
1970
+	 */
1971
+	public function addOptions($option) {}
1972
+
1973
+	/**
1974
+	 * Removes (unsets) one or more worker options.
1975
+	 *
1976
+	 * @link https://php.net/manual/en/gearmanworker.removeoptions.php
1977
+	 * @param int $option The options to be removed (unset)
1978
+	 * @return bool Always returns true
1979
+	 */
1980
+	public function removeOptions($option) {}
1981
+
1982
+	/**
1983
+	 * Returns the current time to wait, in milliseconds, for socket I/O activity.
1984
+	 *
1985
+	 * @link https://php.net/manual/en/gearmanworker.timeout.php
1986
+	 * @return int A time period is milliseconds. A negative value indicates an infinite
1987
+	 *         timeout
1988
+	 */
1989
+	public function timeout() {}
1990
+
1991
+	/**
1992
+	 * Sets the interval of time to wait for socket I/O activity.
1993
+	 *
1994
+	 * @link https://php.net/manual/en/gearmanworker.settimeout.php
1995
+	 * @param int $timeout An interval of time in milliseconds. A negative value
1996
+	 *        indicates an infinite timeout
1997
+	 * @return bool Always returns true
1998
+	 */
1999
+	public function setTimeout($timeout) {}
2000
+
2001
+	/**
2002
+	 * Give the worker an identifier so it can be tracked when asking gearmand for
2003
+	 * the list of available workers.
2004
+	 *
2005
+	 * @link https://php.net/manual/en/gearmanworker.setid.php
2006
+	 * @param string $id A string identifier
2007
+	 * @return bool Returns TRUE on success or FALSE on failure
2008
+	 */
2009
+	public function setId($id) {}
2010
+
2011
+	/**
2012
+	 * Adds a job server to this worker. This goes into a list of servers than can be
2013
+	 * used to run jobs. No socket I/O happens here.
2014
+	 *
2015
+	 * @link https://php.net/manual/en/gearmanworker.addserver.php
2016
+	 * @param string $host
2017
+	 * @param int $port
2018
+	 * @return bool
2019
+	 */
2020
+	public function addServer($host = '127.0.0.1', $port = 4730) {}
2021
+
2022
+	/**
2023
+	 * Adds one or more job servers to this worker. These go into a list of servers
2024
+	 * that can be used to run jobs. No socket I/O happens here.
2025
+	 *
2026
+	 * @link https://php.net/manual/en/gearmanworker.addservers.php
2027
+	 * @param string $servers A comma separated list of job servers in the format
2028
+	 *        host:port. If no port is specified, it defaults to 4730
2029
+	 * @return bool
2030
+	 */
2031
+	public function addServers($servers = '127.0.0.1:4730') {}
2032
+
2033
+	/**
2034
+	 * Causes the worker to wait for activity from one of the Gearman job servers when
2035
+	 * operating in non-blocking I/O mode. On failure, issues a E_WARNING with the last
2036
+	 * Gearman error encountered.
2037
+	 *
2038
+	 * @link https://php.net/manual/en/gearmanworker.wait.php
2039
+	 * @return bool
2040
+	 */
2041
+	public function wait() {}
2042
+
2043
+	/**
2044
+	 * Registers a function name with the job server with an optional timeout. The
2045
+	 * timeout specifies how many seconds the server will wait before marking a job as
2046
+	 * failed. If the timeout is set to zero, there is no timeout.
2047
+	 *
2048
+	 * @link https://php.net/manual/en/gearmanworker.register.php
2049
+	 * @param string $function_name The name of a function to register with the job
2050
+	 *        server
2051
+	 * @param int $timeout An interval of time in seconds
2052
+	 * @return bool A standard Gearman return value
2053
+	 */
2054
+	public function register($function_name, $timeout) {}
2055
+
2056
+	/**
2057
+	 * Unregisters a function name with the job servers ensuring that no more jobs (for
2058
+	 * that function) are sent to this worker.
2059
+	 *
2060
+	 * @link https://php.net/manual/en/gearmanworker.unregister.php
2061
+	 * @param string $function_name The name of a function to register with the job
2062
+	 *        server
2063
+	 * @return bool A standard Gearman return value
2064
+	 */
2065
+	public function unregister($function_name) {}
2066
+
2067
+	/**
2068
+	 * Unregisters all previously registered functions, ensuring that no more jobs are
2069
+	 * sent to this worker.
2070
+	 *
2071
+	 * @link https://php.net/manual/en/gearmanworker.unregisterall.php
2072
+	 * @return bool A standard Gearman return value
2073
+	 */
2074
+	public function unregisterAll() {}
2075
+
2076
+	public function grabJob() {}
2077
+
2078
+	/**
2079
+	 * Registers a function name with the job server and specifies a callback
2080
+	 * corresponding to that function. Optionally specify extra application context
2081
+	 * data to be used when the callback is called and a timeout.
2082
+	 *
2083
+	 * @link https://php.net/manual/en/gearmanworker.addfunction.php
2084
+	 * @param string $function_name The name of a function to register with the job
2085
+	 *        server
2086
+	 * @param callable $function A callback that gets called when a job for the
2087
+	 *        registered function name is submitted
2088
+	 * @param mixed $context A reference to arbitrary application context data that can
2089
+	 *        be modified by the worker function
2090
+	 * @param int $timeout An interval of time in seconds
2091
+	 * @return bool
2092
+	 */
2093
+	public function addFunction($function_name, $function, $context = null, $timeout = 0) {}
2094
+
2095
+	/**
2096
+	 * Waits for a job to be assigned and then calls the appropriate callback function.
2097
+	 * Issues an E_WARNING with the last Gearman error if the return code is not one of
2098
+	 * GEARMAN_SUCCESS, GEARMAN_IO_WAIT, or GEARMAN_WORK_FAIL.
2099
+	 *
2100
+	 * @link https://php.net/manual/en/gearmanworker.work.php
2101
+	 * @return bool
2102
+	 */
2103
+	public function work() {}
2104 2104
 }
2105 2105
 
2106 2106
 /**
@@ -2108,124 +2108,124 @@  discard block
 block discarded – undo
2108 2108
  */
2109 2109
 class GearmanJob
2110 2110
 {
2111
-    /**
2112
-     * Returns the last return code issued by the job server.
2113
-     *
2114
-     * @link https://php.net/manual/en/gearmanjob.returncode.php
2115
-     * @return int A valid Gearman return code
2116
-     */
2117
-    public function returnCode() {}
2118
-
2119
-    /**
2120
-     * Sets the return value for this job, indicates how the job completed.
2121
-     *
2122
-     * @link https://php.net/manual/en/gearmanjob.setreturn.php
2123
-     * @param int $gearman_return_t A valid Gearman return value
2124
-     * @return bool Description
2125
-     */
2126
-    public function setReturn($gearman_return_t) {}
2127
-
2128
-    /**
2129
-     * Sends data to the job server (and any listening clients) for this job.
2130
-     *
2131
-     * @link https://php.net/manual/en/gearmanjob.senddata.php
2132
-     * @param string $data Arbitrary serialized data
2133
-     * @return bool
2134
-     */
2135
-    public function sendData($data) {}
2136
-
2137
-    /**
2138
-     * Sends a warning for this job while it is running.
2139
-     *
2140
-     * @link https://php.net/manual/en/gearmanjob.sendwarning.php
2141
-     * @param string $warning A warning messages
2142
-     * @return bool
2143
-     */
2144
-    public function sendWarning($warning) {}
2145
-
2146
-    /**
2147
-     * Sends status information to the job server and any listening clients. Use this
2148
-     * to specify what percentage of the job has been completed.
2149
-     *
2150
-     * @link https://php.net/manual/en/gearmanjob.sendstatus.php
2151
-     * @param int $numerator The numerator of the percentage completed expressed as a
2152
-     *        fraction
2153
-     * @param int $denominator The denominator of the percentage completed expressed as
2154
-     *        a fraction
2155
-     * @return bool
2156
-     */
2157
-    public function sendStatus($numerator, $denominator) {}
2158
-
2159
-    /**
2160
-     * Sends result data and the complete status update for this job.
2161
-     *
2162
-     * @link https://php.net/manual/en/gearmanjob.sendcomplete.php
2163
-     * @param string $result Serialized result data
2164
-     * @return bool
2165
-     */
2166
-    public function sendComplete($result) {}
2167
-
2168
-    /**
2169
-     * Sends the supplied exception when this job is running.
2170
-     *
2171
-     * @link https://php.net/manual/en/gearmanjob.sendexception.php
2172
-     * @param string $exception An exception description
2173
-     * @return bool
2174
-     */
2175
-    public function sendException($exception) {}
2176
-
2177
-    /**
2178
-     * Sends failure status for this job, indicating that the job failed in a known way
2179
-     * (as opposed to failing due to a thrown exception).
2180
-     *
2181
-     * @link https://php.net/manual/en/gearmanjob.sendfail.php
2182
-     * @return bool
2183
-     */
2184
-    public function sendFail() {}
2185
-
2186
-    /**
2187
-     * Returns the opaque job handle assigned by the job server.
2188
-     *
2189
-     * @link https://php.net/manual/en/gearmanjob.handle.php
2190
-     * @return string An opaque job handle
2191
-     */
2192
-    public function handle() {}
2193
-
2194
-    /**
2195
-     * Returns the function name for this job. This is the function the work will
2196
-     * execute to perform the job.
2197
-     *
2198
-     * @link https://php.net/manual/en/gearmanjob.functionname.php
2199
-     * @return string The name of a function
2200
-     */
2201
-    public function functionName() {}
2202
-
2203
-    /**
2204
-     * Returns the unique identifiter for this job. The identifier is assigned by the
2205
-     * client.
2206
-     *
2207
-     * @link https://php.net/manual/en/gearmanjob.unique.php
2208
-     * @return string An opaque unique identifier
2209
-     */
2210
-    public function unique() {}
2211
-
2212
-    /**
2213
-     * Returns the workload for the job. This is serialized data that is to be
2214
-     * processed by the worker.
2215
-     *
2216
-     * @link https://php.net/manual/en/gearmanjob.workload.php
2217
-     * @return string Serialized data
2218
-     */
2219
-    public function workload() {}
2220
-
2221
-    /**
2222
-     * Returns the size of the job's work load (the data the worker is to process) in
2223
-     * bytes.
2224
-     *
2225
-     * @link https://php.net/manual/en/gearmanjob.workloadsize.php
2226
-     * @return int The size in bytes
2227
-     */
2228
-    public function workloadSize() {}
2111
+	/**
2112
+	 * Returns the last return code issued by the job server.
2113
+	 *
2114
+	 * @link https://php.net/manual/en/gearmanjob.returncode.php
2115
+	 * @return int A valid Gearman return code
2116
+	 */
2117
+	public function returnCode() {}
2118
+
2119
+	/**
2120
+	 * Sets the return value for this job, indicates how the job completed.
2121
+	 *
2122
+	 * @link https://php.net/manual/en/gearmanjob.setreturn.php
2123
+	 * @param int $gearman_return_t A valid Gearman return value
2124
+	 * @return bool Description
2125
+	 */
2126
+	public function setReturn($gearman_return_t) {}
2127
+
2128
+	/**
2129
+	 * Sends data to the job server (and any listening clients) for this job.
2130
+	 *
2131
+	 * @link https://php.net/manual/en/gearmanjob.senddata.php
2132
+	 * @param string $data Arbitrary serialized data
2133
+	 * @return bool
2134
+	 */
2135
+	public function sendData($data) {}
2136
+
2137
+	/**
2138
+	 * Sends a warning for this job while it is running.
2139
+	 *
2140
+	 * @link https://php.net/manual/en/gearmanjob.sendwarning.php
2141
+	 * @param string $warning A warning messages
2142
+	 * @return bool
2143
+	 */
2144
+	public function sendWarning($warning) {}
2145
+
2146
+	/**
2147
+	 * Sends status information to the job server and any listening clients. Use this
2148
+	 * to specify what percentage of the job has been completed.
2149
+	 *
2150
+	 * @link https://php.net/manual/en/gearmanjob.sendstatus.php
2151
+	 * @param int $numerator The numerator of the percentage completed expressed as a
2152
+	 *        fraction
2153
+	 * @param int $denominator The denominator of the percentage completed expressed as
2154
+	 *        a fraction
2155
+	 * @return bool
2156
+	 */
2157
+	public function sendStatus($numerator, $denominator) {}
2158
+
2159
+	/**
2160
+	 * Sends result data and the complete status update for this job.
2161
+	 *
2162
+	 * @link https://php.net/manual/en/gearmanjob.sendcomplete.php
2163
+	 * @param string $result Serialized result data
2164
+	 * @return bool
2165
+	 */
2166
+	public function sendComplete($result) {}
2167
+
2168
+	/**
2169
+	 * Sends the supplied exception when this job is running.
2170
+	 *
2171
+	 * @link https://php.net/manual/en/gearmanjob.sendexception.php
2172
+	 * @param string $exception An exception description
2173
+	 * @return bool
2174
+	 */
2175
+	public function sendException($exception) {}
2176
+
2177
+	/**
2178
+	 * Sends failure status for this job, indicating that the job failed in a known way
2179
+	 * (as opposed to failing due to a thrown exception).
2180
+	 *
2181
+	 * @link https://php.net/manual/en/gearmanjob.sendfail.php
2182
+	 * @return bool
2183
+	 */
2184
+	public function sendFail() {}
2185
+
2186
+	/**
2187
+	 * Returns the opaque job handle assigned by the job server.
2188
+	 *
2189
+	 * @link https://php.net/manual/en/gearmanjob.handle.php
2190
+	 * @return string An opaque job handle
2191
+	 */
2192
+	public function handle() {}
2193
+
2194
+	/**
2195
+	 * Returns the function name for this job. This is the function the work will
2196
+	 * execute to perform the job.
2197
+	 *
2198
+	 * @link https://php.net/manual/en/gearmanjob.functionname.php
2199
+	 * @return string The name of a function
2200
+	 */
2201
+	public function functionName() {}
2202
+
2203
+	/**
2204
+	 * Returns the unique identifiter for this job. The identifier is assigned by the
2205
+	 * client.
2206
+	 *
2207
+	 * @link https://php.net/manual/en/gearmanjob.unique.php
2208
+	 * @return string An opaque unique identifier
2209
+	 */
2210
+	public function unique() {}
2211
+
2212
+	/**
2213
+	 * Returns the workload for the job. This is serialized data that is to be
2214
+	 * processed by the worker.
2215
+	 *
2216
+	 * @link https://php.net/manual/en/gearmanjob.workload.php
2217
+	 * @return string Serialized data
2218
+	 */
2219
+	public function workload() {}
2220
+
2221
+	/**
2222
+	 * Returns the size of the job's work load (the data the worker is to process) in
2223
+	 * bytes.
2224
+	 *
2225
+	 * @link https://php.net/manual/en/gearmanjob.workloadsize.php
2226
+	 * @return int The size in bytes
2227
+	 */
2228
+	public function workloadSize() {}
2229 2229
 }
2230 2230
 
2231 2231
 /**
Please login to merge, or discard this patch.
Braces   +4 added lines, -8 removed lines patch added patch discarded remove patch
@@ -1347,8 +1347,7 @@  discard block
 block discarded – undo
1347 1347
 /**
1348 1348
  * Class: GearmanClient
1349 1349
  */
1350
-class GearmanClient
1351
-{
1350
+class GearmanClient {
1352 1351
     /**
1353 1352
      * Creates a GearmanClient instance representing a client that connects to the job
1354 1353
      * server and submits tasks to complete.
@@ -1799,8 +1798,7 @@  discard block
 block discarded – undo
1799 1798
 /**
1800 1799
  * Class: GearmanTask
1801 1800
  */
1802
-class GearmanTask
1803
-{
1801
+class GearmanTask {
1804 1802
     /**
1805 1803
      * Returns the last Gearman return code for this task.
1806 1804
      *
@@ -1910,8 +1908,7 @@  discard block
 block discarded – undo
1910 1908
 /**
1911 1909
  * Class: GearmanWorker
1912 1910
  */
1913
-class GearmanWorker
1914
-{
1911
+class GearmanWorker {
1915 1912
     /**
1916 1913
      * Creates a GearmanWorker instance representing a worker that connects to the job
1917 1914
      * server and accepts tasks to run.
@@ -2106,8 +2103,7 @@  discard block
 block discarded – undo
2106 2103
 /**
2107 2104
  * Class: GearmanJob
2108 2105
  */
2109
-class GearmanJob
2110
-{
2106
+class GearmanJob {
2111 2107
     /**
2112 2108
      * Returns the last return code issued by the job server.
2113 2109
      *
Please login to merge, or discard this patch.
vendor-bin/php-scoper/vendor/jetbrains/phpstorm-stubs/grpc/grpc.php 2 patches
Indentation   +696 added lines, -696 removed lines patch added patch discarded remove patch
@@ -12,715 +12,715 @@
 block discarded – undo
12 12
 
13 13
 namespace Grpc;
14 14
 
15
-    /**
16
-     * Register call error constants
17
-     */
18
-
19
-    /**
20
-     * everything went ok
21
-     */
22
-    const CALL_OK = 0;
23
-
24
-    /**
25
-     * something failed, we don't know what
26
-     */
27
-    const CALL_ERROR = 1;
28
-
29
-    /**
30
-     * this method is not available on the server
31
-     */
32
-    const CALL_ERROR_NOT_ON_SERVER = 2;
33
-
34
-    /**
35
-     * this method is not available on the client
36
-     */
37
-    const CALL_ERROR_NOT_ON_CLIENT = 3;
38
-
39
-    /**
40
-     * this method must be called before server_accept
41
-     */
42
-    const CALL_ERROR_ALREADY_ACCEPTED = 4;
43
-
44
-    /**
45
-     * this method must be called before invoke
46
-     */
47
-    const CALL_ERROR_ALREADY_INVOKED = 5;
48
-
49
-    /**
50
-     * this method must be called after invoke
51
-     */
52
-    const CALL_ERROR_NOT_INVOKED = 6;
53
-
54
-    /**
55
-     * this call is already finished
56
-     * (writes_done or write_status has already been called)
57
-     */
58
-    const CALL_ERROR_ALREADY_FINISHED = 7;
59
-
60
-    /**
61
-     * there is already an outstanding read/write operation on the call
62
-     */
63
-    const CALL_ERROR_TOO_MANY_OPERATIONS = 8;
64
-
65
-    /**
66
-     * the flags value was illegal for this call
67
-     */
68
-    const CALL_ERROR_INVALID_FLAGS = 9;
69
-
70
-    /**
71
-     * invalid metadata was passed to this call
72
-     */
73
-    const CALL_ERROR_INVALID_METADATA = 10;
74
-
75
-    /**
76
-     * invalid message was passed to this call
77
-     */
78
-    const CALL_ERROR_INVALID_MESSAGE = 11;
79
-
80
-    /**
81
-     * completion queue for notification has not been registered with the
82
-     * server
83
-     */
84
-    const CALL_ERROR_NOT_SERVER_COMPLETION_QUEUE = 12;
85
-
86
-    /**
87
-     * this batch of operations leads to more operations than allowed
88
-     */
89
-    const CALL_ERROR_BATCH_TOO_BIG = 13;
90
-
91
-    /**
92
-     * payload type requested is not the type registered
93
-     */
94
-    const CALL_ERROR_PAYLOAD_TYPE_MISMATCH = 14;
95
-
96
-    /*
15
+	/**
16
+	 * Register call error constants
17
+	 */
18
+
19
+	/**
20
+	 * everything went ok
21
+	 */
22
+	const CALL_OK = 0;
23
+
24
+	/**
25
+	 * something failed, we don't know what
26
+	 */
27
+	const CALL_ERROR = 1;
28
+
29
+	/**
30
+	 * this method is not available on the server
31
+	 */
32
+	const CALL_ERROR_NOT_ON_SERVER = 2;
33
+
34
+	/**
35
+	 * this method is not available on the client
36
+	 */
37
+	const CALL_ERROR_NOT_ON_CLIENT = 3;
38
+
39
+	/**
40
+	 * this method must be called before server_accept
41
+	 */
42
+	const CALL_ERROR_ALREADY_ACCEPTED = 4;
43
+
44
+	/**
45
+	 * this method must be called before invoke
46
+	 */
47
+	const CALL_ERROR_ALREADY_INVOKED = 5;
48
+
49
+	/**
50
+	 * this method must be called after invoke
51
+	 */
52
+	const CALL_ERROR_NOT_INVOKED = 6;
53
+
54
+	/**
55
+	 * this call is already finished
56
+	 * (writes_done or write_status has already been called)
57
+	 */
58
+	const CALL_ERROR_ALREADY_FINISHED = 7;
59
+
60
+	/**
61
+	 * there is already an outstanding read/write operation on the call
62
+	 */
63
+	const CALL_ERROR_TOO_MANY_OPERATIONS = 8;
64
+
65
+	/**
66
+	 * the flags value was illegal for this call
67
+	 */
68
+	const CALL_ERROR_INVALID_FLAGS = 9;
69
+
70
+	/**
71
+	 * invalid metadata was passed to this call
72
+	 */
73
+	const CALL_ERROR_INVALID_METADATA = 10;
74
+
75
+	/**
76
+	 * invalid message was passed to this call
77
+	 */
78
+	const CALL_ERROR_INVALID_MESSAGE = 11;
79
+
80
+	/**
81
+	 * completion queue for notification has not been registered with the
82
+	 * server
83
+	 */
84
+	const CALL_ERROR_NOT_SERVER_COMPLETION_QUEUE = 12;
85
+
86
+	/**
87
+	 * this batch of operations leads to more operations than allowed
88
+	 */
89
+	const CALL_ERROR_BATCH_TOO_BIG = 13;
90
+
91
+	/**
92
+	 * payload type requested is not the type registered
93
+	 */
94
+	const CALL_ERROR_PAYLOAD_TYPE_MISMATCH = 14;
95
+
96
+	/*
97 97
      * Register write flags
98 98
      */
99 99
 
100
-    /**
101
-     * Hint that the write may be buffered and need not go out on the wire
102
-     * immediately. GRPC is free to buffer the message until the next non-buffered
103
-     * write, or until writes_done, but it need not buffer completely or at all.
104
-     */
105
-    const WRITE_BUFFER_HINT = 1;
100
+	/**
101
+	 * Hint that the write may be buffered and need not go out on the wire
102
+	 * immediately. GRPC is free to buffer the message until the next non-buffered
103
+	 * write, or until writes_done, but it need not buffer completely or at all.
104
+	 */
105
+	const WRITE_BUFFER_HINT = 1;
106 106
 
107
-    /**
108
-     * Force compression to be disabled for a particular write
109
-     * (start_write/add_metadata). Illegal on invoke/accept.
110
-     */
111
-    const WRITE_NO_COMPRESS = 2;
107
+	/**
108
+	 * Force compression to be disabled for a particular write
109
+	 * (start_write/add_metadata). Illegal on invoke/accept.
110
+	 */
111
+	const WRITE_NO_COMPRESS = 2;
112 112
 
113
-    /*
113
+	/*
114 114
      * Register status constants
115 115
      */
116 116
 
117
-    /**
118
-     * Not an error; returned on success
119
-     */
120
-    const STATUS_OK = 0;
121
-
122
-    /**
123
-     * The operation was cancelled (typically by the caller).
124
-     */
125
-    const STATUS_CANCELLED = 1;
126
-
127
-    /**
128
-     * Unknown error.  An example of where this error may be returned is
129
-     * if a Status value received from another address space belongs to
130
-     * an error-space that is not known in this address space.  Also
131
-     * errors raised by APIs that do not return enough error information
132
-     * may be converted to this error.
133
-     */
134
-    const STATUS_UNKNOWN = 2;
135
-
136
-    /**
137
-     * Client specified an invalid argument.  Note that this differs
138
-     * from FAILED_PRECONDITION.  INVALID_ARGUMENT indicates arguments
139
-     * that are problematic regardless of the state of the system
140
-     * (e.g., a malformed file name).
141
-     */
142
-    const STATUS_INVALID_ARGUMENT = 3;
143
-
144
-    /**
145
-     * Deadline expired before operation could complete.  For operations
146
-     * that change the state of the system, this error may be returned
147
-     * even if the operation has completed successfully.  For example, a
148
-     * successful response from a server could have been delayed long
149
-     * enough for the deadline to expire.
150
-     */
151
-    const STATUS_DEADLINE_EXCEEDED = 4;
152
-
153
-    /**
154
-     * Some requested entity (e.g., file or directory) was not found.
155
-     */
156
-    const STATUS_NOT_FOUND = 5;
157
-
158
-    /* Some entity that we attempted to create (e.g., file or directory)
117
+	/**
118
+	 * Not an error; returned on success
119
+	 */
120
+	const STATUS_OK = 0;
121
+
122
+	/**
123
+	 * The operation was cancelled (typically by the caller).
124
+	 */
125
+	const STATUS_CANCELLED = 1;
126
+
127
+	/**
128
+	 * Unknown error.  An example of where this error may be returned is
129
+	 * if a Status value received from another address space belongs to
130
+	 * an error-space that is not known in this address space.  Also
131
+	 * errors raised by APIs that do not return enough error information
132
+	 * may be converted to this error.
133
+	 */
134
+	const STATUS_UNKNOWN = 2;
135
+
136
+	/**
137
+	 * Client specified an invalid argument.  Note that this differs
138
+	 * from FAILED_PRECONDITION.  INVALID_ARGUMENT indicates arguments
139
+	 * that are problematic regardless of the state of the system
140
+	 * (e.g., a malformed file name).
141
+	 */
142
+	const STATUS_INVALID_ARGUMENT = 3;
143
+
144
+	/**
145
+	 * Deadline expired before operation could complete.  For operations
146
+	 * that change the state of the system, this error may be returned
147
+	 * even if the operation has completed successfully.  For example, a
148
+	 * successful response from a server could have been delayed long
149
+	 * enough for the deadline to expire.
150
+	 */
151
+	const STATUS_DEADLINE_EXCEEDED = 4;
152
+
153
+	/**
154
+	 * Some requested entity (e.g., file or directory) was not found.
155
+	 */
156
+	const STATUS_NOT_FOUND = 5;
157
+
158
+	/* Some entity that we attempted to create (e.g., file or directory)
159 159
      * already exists.
160 160
      */
161
-    const STATUS_ALREADY_EXISTS = 6;
162
-
163
-    /**
164
-     * The caller does not have permission to execute the specified
165
-     * operation.  PERMISSION_DENIED must not be used for rejections
166
-     * caused by exhausting some resource (use RESOURCE_EXHAUSTED
167
-     * instead for those errors).  PERMISSION_DENIED must not be
168
-     * used if the caller can not be identified (use UNAUTHENTICATED
169
-     * instead for those errors).
170
-     */
171
-    const STATUS_PERMISSION_DENIED = 7;
172
-
173
-    /**
174
-     * The request does not have valid authentication credentials for the
175
-     * operation.
176
-     */
177
-    const STATUS_UNAUTHENTICATED = 16;
178
-
179
-    /**
180
-     * Some resource has been exhausted, perhaps a per-user quota, or
181
-     * perhaps the entire file system is out of space.
182
-     */
183
-    const STATUS_RESOURCE_EXHAUSTED = 8;
184
-
185
-    /**
186
-     * Operation was rejected because the system is not in a state
187
-     * required for the operation's execution.  For example, directory
188
-     * to be deleted may be non-empty, an rmdir operation is applied to
189
-     * a non-directory, etc.
190
-     *
191
-     * A litmus test that may help a service implementor in deciding
192
-     * between FAILED_PRECONDITION, ABORTED, and UNAVAILABLE:
193
-     *  (a) Use UNAVAILABLE if the client can retry just the failing call.
194
-     *  (b) Use ABORTED if the client should retry at a higher-level
195
-     *      (e.g., restarting a read-modify-write sequence).
196
-     *  (c) Use FAILED_PRECONDITION if the client should not retry until
197
-     *      the system state has been explicitly fixed.  E.g., if an "rmdir"
198
-     *      fails because the directory is non-empty, FAILED_PRECONDITION
199
-     *      should be returned since the client should not retry unless
200
-     *      they have first fixed up the directory by deleting files from it.
201
-     *  (d) Use FAILED_PRECONDITION if the client performs conditional
202
-     *      REST Get/Update/Delete on a resource and the resource on the
203
-     *      server does not match the condition. E.g., conflicting
204
-     *      read-modify-write on the same resource.
205
-     */
206
-    const STATUS_FAILED_PRECONDITION = 9;
207
-
208
-    /**
209
-     * The operation was aborted, typically due to a concurrency issue
210
-     * like sequencer check failures, transaction aborts, etc.
211
-     *
212
-     * See litmus test above for deciding between FAILED_PRECONDITION,
213
-     * ABORTED, and UNAVAILABLE.
214
-     */
215
-    const STATUS_ABORTED = 10;
216
-
217
-    /**
218
-     * Operation was attempted past the valid range.  E.g., seeking or
219
-     * reading past end of file.
220
-     *
221
-     * Unlike INVALID_ARGUMENT, this error indicates a problem that may
222
-     * be fixed if the system state changes. For example, a 32-bit file
223
-     * system will generate INVALID_ARGUMENT if asked to read at an
224
-     * offset that is not in the range [0,2^32-1], but it will generate
225
-     * OUT_OF_RANGE if asked to read from an offset past the current
226
-     * file size.
227
-     *
228
-     * There is a fair bit of overlap between FAILED_PRECONDITION and
229
-     * OUT_OF_RANGE.  We recommend using OUT_OF_RANGE (the more specific
230
-     * error) when it applies so that callers who are iterating through
231
-     * a space can easily look for an OUT_OF_RANGE error to detect when
232
-     * they are done.
233
-     */
234
-    const STATUS_OUT_OF_RANGE = 11;
235
-
236
-    /**
237
-     * Operation is not implemented or not supported/enabled in this service.
238
-     */
239
-    const STATUS_UNIMPLEMENTED = 12;
240
-
241
-    /**
242
-     * Internal errors.  Means some invariants expected by underlying
243
-     *  system has been broken.  If you see one of these errors,
244
-     *  something is very broken.
245
-     */
246
-    const STATUS_INTERNAL = 13;
247
-
248
-    /**
249
-     * The service is currently unavailable.  This is a most likely a
250
-     * transient condition and may be corrected by retrying with
251
-     * a backoff.
252
-     *
253
-     * See litmus test above for deciding between FAILED_PRECONDITION,
254
-     * ABORTED, and UNAVAILABLE.
255
-     */
256
-    const STATUS_UNAVAILABLE = 14;
257
-
258
-    /**
259
-     * Unrecoverable data loss or corruption.
260
-     */
261
-    const STATUS_DATA_LOSS = 15;
262
-
263
-    /*
161
+	const STATUS_ALREADY_EXISTS = 6;
162
+
163
+	/**
164
+	 * The caller does not have permission to execute the specified
165
+	 * operation.  PERMISSION_DENIED must not be used for rejections
166
+	 * caused by exhausting some resource (use RESOURCE_EXHAUSTED
167
+	 * instead for those errors).  PERMISSION_DENIED must not be
168
+	 * used if the caller can not be identified (use UNAUTHENTICATED
169
+	 * instead for those errors).
170
+	 */
171
+	const STATUS_PERMISSION_DENIED = 7;
172
+
173
+	/**
174
+	 * The request does not have valid authentication credentials for the
175
+	 * operation.
176
+	 */
177
+	const STATUS_UNAUTHENTICATED = 16;
178
+
179
+	/**
180
+	 * Some resource has been exhausted, perhaps a per-user quota, or
181
+	 * perhaps the entire file system is out of space.
182
+	 */
183
+	const STATUS_RESOURCE_EXHAUSTED = 8;
184
+
185
+	/**
186
+	 * Operation was rejected because the system is not in a state
187
+	 * required for the operation's execution.  For example, directory
188
+	 * to be deleted may be non-empty, an rmdir operation is applied to
189
+	 * a non-directory, etc.
190
+	 *
191
+	 * A litmus test that may help a service implementor in deciding
192
+	 * between FAILED_PRECONDITION, ABORTED, and UNAVAILABLE:
193
+	 *  (a) Use UNAVAILABLE if the client can retry just the failing call.
194
+	 *  (b) Use ABORTED if the client should retry at a higher-level
195
+	 *      (e.g., restarting a read-modify-write sequence).
196
+	 *  (c) Use FAILED_PRECONDITION if the client should not retry until
197
+	 *      the system state has been explicitly fixed.  E.g., if an "rmdir"
198
+	 *      fails because the directory is non-empty, FAILED_PRECONDITION
199
+	 *      should be returned since the client should not retry unless
200
+	 *      they have first fixed up the directory by deleting files from it.
201
+	 *  (d) Use FAILED_PRECONDITION if the client performs conditional
202
+	 *      REST Get/Update/Delete on a resource and the resource on the
203
+	 *      server does not match the condition. E.g., conflicting
204
+	 *      read-modify-write on the same resource.
205
+	 */
206
+	const STATUS_FAILED_PRECONDITION = 9;
207
+
208
+	/**
209
+	 * The operation was aborted, typically due to a concurrency issue
210
+	 * like sequencer check failures, transaction aborts, etc.
211
+	 *
212
+	 * See litmus test above for deciding between FAILED_PRECONDITION,
213
+	 * ABORTED, and UNAVAILABLE.
214
+	 */
215
+	const STATUS_ABORTED = 10;
216
+
217
+	/**
218
+	 * Operation was attempted past the valid range.  E.g., seeking or
219
+	 * reading past end of file.
220
+	 *
221
+	 * Unlike INVALID_ARGUMENT, this error indicates a problem that may
222
+	 * be fixed if the system state changes. For example, a 32-bit file
223
+	 * system will generate INVALID_ARGUMENT if asked to read at an
224
+	 * offset that is not in the range [0,2^32-1], but it will generate
225
+	 * OUT_OF_RANGE if asked to read from an offset past the current
226
+	 * file size.
227
+	 *
228
+	 * There is a fair bit of overlap between FAILED_PRECONDITION and
229
+	 * OUT_OF_RANGE.  We recommend using OUT_OF_RANGE (the more specific
230
+	 * error) when it applies so that callers who are iterating through
231
+	 * a space can easily look for an OUT_OF_RANGE error to detect when
232
+	 * they are done.
233
+	 */
234
+	const STATUS_OUT_OF_RANGE = 11;
235
+
236
+	/**
237
+	 * Operation is not implemented or not supported/enabled in this service.
238
+	 */
239
+	const STATUS_UNIMPLEMENTED = 12;
240
+
241
+	/**
242
+	 * Internal errors.  Means some invariants expected by underlying
243
+	 *  system has been broken.  If you see one of these errors,
244
+	 *  something is very broken.
245
+	 */
246
+	const STATUS_INTERNAL = 13;
247
+
248
+	/**
249
+	 * The service is currently unavailable.  This is a most likely a
250
+	 * transient condition and may be corrected by retrying with
251
+	 * a backoff.
252
+	 *
253
+	 * See litmus test above for deciding between FAILED_PRECONDITION,
254
+	 * ABORTED, and UNAVAILABLE.
255
+	 */
256
+	const STATUS_UNAVAILABLE = 14;
257
+
258
+	/**
259
+	 * Unrecoverable data loss or corruption.
260
+	 */
261
+	const STATUS_DATA_LOSS = 15;
262
+
263
+	/*
264 264
      * Register op type constants
265 265
      */
266 266
 
267
-    /**
268
-     * Send initial metadata: one and only one instance MUST be sent for each
269
-     * call, unless the call was cancelled - in which case this can be skipped.
270
-     * This op completes after all bytes of metadata have been accepted by
271
-     * outgoing flow control.
272
-     */
273
-    const OP_SEND_INITIAL_METADATA = 0;
274
-
275
-    /**
276
-     * Send a message: 0 or more of these operations can occur for each call.
277
-     * This op completes after all bytes for the message have been accepted by
278
-     * outgoing flow control.
279
-     */
280
-    const OP_SEND_MESSAGE = 1;
281
-
282
-    /** Send a close from the client: one and only one instance MUST be sent from
283
-     * the client, unless the call was cancelled - in which case this can be
284
-     * skipped.
285
-     * This op completes after all bytes for the call (including the close)
286
-     * have passed outgoing flow control.
287
-     */
288
-    const OP_SEND_CLOSE_FROM_CLIENT = 2;
289
-
290
-    /**
291
-     * Send status from the server: one and only one instance MUST be sent from
292
-     * the server unless the call was cancelled - in which case this can be
293
-     * skipped.
294
-     * This op completes after all bytes for the call (including the status)
295
-     * have passed outgoing flow control.
296
-     */
297
-    const OP_SEND_STATUS_FROM_SERVER = 3;
298
-
299
-    /**
300
-     * Receive initial metadata: one and only one MUST be made on the client,
301
-     * must not be made on the server.
302
-     * This op completes after all initial metadata has been read from the
303
-     * peer.
304
-     */
305
-    const OP_RECV_INITIAL_METADATA = 4;
306
-
307
-    /**
308
-     * Receive a message: 0 or more of these operations can occur for each call.
309
-     * This op completes after all bytes of the received message have been
310
-     * read, or after a half-close has been received on this call.
311
-     */
312
-    const OP_RECV_MESSAGE = 5;
313
-
314
-    /**
315
-     * Receive status on the client: one and only one must be made on the client.
316
-     * This operation always succeeds, meaning ops paired with this operation
317
-     * will also appear to succeed, even though they may not have. In that case
318
-     * the status will indicate some failure.
319
-     * This op completes after all activity on the call has completed.
320
-     */
321
-    const OP_RECV_STATUS_ON_CLIENT = 6;
322
-
323
-    /**
324
-     * Receive close on the server: one and only one must be made on the
325
-     * server.
326
-     * This op completes after the close has been received by the server.
327
-     * This operation always succeeds, meaning ops paired with this operation
328
-     * will also appear to succeed, even though they may not have.
329
-     */
330
-    const OP_RECV_CLOSE_ON_SERVER = 7;
331
-
332
-    /*
267
+	/**
268
+	 * Send initial metadata: one and only one instance MUST be sent for each
269
+	 * call, unless the call was cancelled - in which case this can be skipped.
270
+	 * This op completes after all bytes of metadata have been accepted by
271
+	 * outgoing flow control.
272
+	 */
273
+	const OP_SEND_INITIAL_METADATA = 0;
274
+
275
+	/**
276
+	 * Send a message: 0 or more of these operations can occur for each call.
277
+	 * This op completes after all bytes for the message have been accepted by
278
+	 * outgoing flow control.
279
+	 */
280
+	const OP_SEND_MESSAGE = 1;
281
+
282
+	/** Send a close from the client: one and only one instance MUST be sent from
283
+	 * the client, unless the call was cancelled - in which case this can be
284
+	 * skipped.
285
+	 * This op completes after all bytes for the call (including the close)
286
+	 * have passed outgoing flow control.
287
+	 */
288
+	const OP_SEND_CLOSE_FROM_CLIENT = 2;
289
+
290
+	/**
291
+	 * Send status from the server: one and only one instance MUST be sent from
292
+	 * the server unless the call was cancelled - in which case this can be
293
+	 * skipped.
294
+	 * This op completes after all bytes for the call (including the status)
295
+	 * have passed outgoing flow control.
296
+	 */
297
+	const OP_SEND_STATUS_FROM_SERVER = 3;
298
+
299
+	/**
300
+	 * Receive initial metadata: one and only one MUST be made on the client,
301
+	 * must not be made on the server.
302
+	 * This op completes after all initial metadata has been read from the
303
+	 * peer.
304
+	 */
305
+	const OP_RECV_INITIAL_METADATA = 4;
306
+
307
+	/**
308
+	 * Receive a message: 0 or more of these operations can occur for each call.
309
+	 * This op completes after all bytes of the received message have been
310
+	 * read, or after a half-close has been received on this call.
311
+	 */
312
+	const OP_RECV_MESSAGE = 5;
313
+
314
+	/**
315
+	 * Receive status on the client: one and only one must be made on the client.
316
+	 * This operation always succeeds, meaning ops paired with this operation
317
+	 * will also appear to succeed, even though they may not have. In that case
318
+	 * the status will indicate some failure.
319
+	 * This op completes after all activity on the call has completed.
320
+	 */
321
+	const OP_RECV_STATUS_ON_CLIENT = 6;
322
+
323
+	/**
324
+	 * Receive close on the server: one and only one must be made on the
325
+	 * server.
326
+	 * This op completes after the close has been received by the server.
327
+	 * This operation always succeeds, meaning ops paired with this operation
328
+	 * will also appear to succeed, even though they may not have.
329
+	 */
330
+	const OP_RECV_CLOSE_ON_SERVER = 7;
331
+
332
+	/*
333 333
      * Register connectivity state constants
334 334
      */
335 335
 
336
-    /**
337
-     * channel is idle
338
-     */
339
-    const CHANNEL_IDLE = 0;
340
-
341
-    /**
342
-     * channel is connecting
343
-     */
344
-    const CHANNEL_CONNECTING = 1;
345
-
346
-    /**
347
-     * channel is ready for work
348
-     */
349
-    const CHANNEL_READY = 2;
350
-
351
-    /**
352
-     * channel has seen a failure but expects to recover
353
-     */
354
-    const CHANNEL_TRANSIENT_FAILURE = 3;
355
-
356
-    /**
357
-     * channel has seen a failure that it cannot recover from
358
-     */
359
-    const CHANNEL_SHUTDOWN = 4;
360
-    const CHANNEL_FATAL_FAILURE = 4;
361
-
362
-    /**
363
-     * Class Server
364
-     * @see https://github.com/grpc/grpc/tree/master/src/php/ext/grpc
365
-     */
366
-    class Server
367
-    {
368
-        /**
369
-         * Constructs a new instance of the Server class
370
-         *
371
-         * @param array $args The arguments to pass to the server (optional)
372
-         */
373
-        public function __construct(array $args) {}
374
-
375
-        /**
376
-         * Request a call on a server. Creates a single GRPC_SERVER_RPC_NEW event.
377
-         *
378
-         * @param int $tag_new    The tag to associate with the new request
379
-         * @param int $tag_cancel The tag to use if the call is cancelled
380
-         */
381
-        public function requestCall($tag_new, $tag_cancel) {}
382
-
383
-        /**
384
-         * Add a http2 over tcp listener.
385
-         *
386
-         * @param string $addr The address to add
387
-         *
388
-         * @return bool true on success, false on failure
389
-         */
390
-        public function addHttp2Port($addr) {}
391
-
392
-        /**
393
-         * Add a secure http2 over tcp listener.
394
-         *
395
-         * @param string             $addr      The address to add
396
-         * @param ServerCredentials $creds_obj
397
-         *
398
-         * @return bool true on success, false on failure
399
-         */
400
-        public function addSecureHttp2Port($addr, $creds_obj) {}
401
-
402
-        /**
403
-         * Start a server - tells all listeners to start listening
404
-         */
405
-        public function start() {}
406
-    }
407
-
408
-    /**
409
-     * Class ServerCredentials
410
-     * @see https://github.com/grpc/grpc/tree/master/src/php/ext/grpc
411
-     */
412
-    class ServerCredentials
413
-    {
414
-        /**
415
-         * Create SSL credentials.
416
-         *
417
-         * @param string $pem_root_certs  PEM encoding of the server root certificates
418
-         * @param string $pem_private_key PEM encoding of the client's private key
419
-         * @param string $pem_cert_chain  PEM encoding of the client's certificate chain
420
-         *
421
-         * @return object Credentials The new SSL credentials object
422
-         * @throws \InvalidArgumentException
423
-         */
424
-        public static function createSsl(
425
-            $pem_root_certs,
426
-            $pem_private_key,
427
-            $pem_cert_chain
428
-        ) {}
429
-    }
430
-
431
-    /**
432
-     * Class Channel
433
-     * @see https://github.com/grpc/grpc/tree/master/src/php/ext/grpc
434
-     */
435
-    class Channel
436
-    {
437
-        /**
438
-         * Construct an instance of the Channel class. If the $args array contains a
439
-         * "credentials" key mapping to a ChannelCredentials object, a secure channel
440
-         * will be created with those credentials.
441
-         *
442
-         * @param string $target The hostname to associate with this channel
443
-         * @param array  $args   The arguments to pass to the Channel (optional)
444
-         *
445
-         * @throws \InvalidArgumentException
446
-         */
447
-        public function __construct($target, $args = []) {}
448
-
449
-        /**
450
-         * Get the endpoint this call/stream is connected to
451
-         *
452
-         * @return string The URI of the endpoint
453
-         */
454
-        public function getTarget() {}
455
-
456
-        /**
457
-         * Get the connectivity state of the channel
458
-         *
459
-         * @param bool $try_to_connect try to connect on the channel
460
-         *
461
-         * @return int The grpc connectivity state
462
-         * @throws \InvalidArgumentException
463
-         */
464
-        public function getConnectivityState($try_to_connect = false) {}
465
-
466
-        /**
467
-         * Watch the connectivity state of the channel until it changed
468
-         *
469
-         * @param int     $last_state   The previous connectivity state of the channel
470
-         * @param Timeval $deadline_obj The deadline this function should wait until
471
-         *
472
-         * @return bool If the connectivity state changes from last_state
473
-         *              before deadline
474
-         * @throws \InvalidArgumentException
475
-         */
476
-        public function watchConnectivityState($last_state, Timeval $deadline_obj) {}
477
-
478
-        /**
479
-         * Close the channel
480
-         */
481
-        public function close() {}
482
-    }
483
-
484
-    /**
485
-     * Class ChannelCredentials
486
-     * @see https://github.com/grpc/grpc/tree/master/src/php/ext/grpc
487
-     */
488
-    class ChannelCredentials
489
-    {
490
-        /**
491
-         * Set default roots pem.
492
-         *
493
-         * @param string $pem_roots PEM encoding of the server root certificates
494
-         *
495
-         * @throws \InvalidArgumentException
496
-         */
497
-        public static function setDefaultRootsPem($pem_roots) {}
498
-
499
-        /**
500
-         * Create a default channel credentials object.
501
-         *
502
-         * @return ChannelCredentials The new default channel credentials object
503
-         */
504
-        public static function createDefault() {}
505
-
506
-        /**
507
-         * Create SSL credentials.
508
-         *
509
-         * @param string|null $pem_root_certs  PEM encoding of the server root certificates
510
-         * @param string|null $pem_private_key PEM encoding of the client's private key
511
-         * @param string|null $pem_cert_chain  PEM encoding of the client's certificate chain
512
-         *
513
-         * @return ChannelCredentials The new SSL credentials object
514
-         * @throws \InvalidArgumentException
515
-         */
516
-        public static function createSsl(
517
-            string $pem_root_certs = null,
518
-            string $pem_private_key = null,
519
-            string $pem_cert_chain = null
520
-        ) {}
521
-
522
-        /**
523
-         * Create composite credentials from two existing credentials.
524
-         *
525
-         * @param ChannelCredentials $cred1 The first credential
526
-         * @param CallCredentials    $cred2 The second credential
527
-         *
528
-         * @return ChannelCredentials The new composite credentials object
529
-         * @throws \InvalidArgumentException
530
-         */
531
-        public static function createComposite(
532
-            ChannelCredentials $cred1,
533
-            CallCredentials $cred2
534
-        ) {}
535
-
536
-        /**
537
-         * Create insecure channel credentials
538
-         *
539
-         * @return null
540
-         */
541
-        public static function createInsecure() {}
542
-    }
543
-
544
-    /**
545
-     * Class Call
546
-     * @see https://github.com/grpc/grpc/tree/master/src/php/ext/grpc
547
-     */
548
-    class Call
549
-    {
550
-        /**
551
-         * Constructs a new instance of the Call class.
552
-         *
553
-         * @param Channel $channel           The channel to associate the call with.
554
-         *                                   Must not be closed.
555
-         * @param string  $method            The method to call
556
-         * @param Timeval $absolute_deadline The deadline for completing the call
557
-         * @param null|string $host_override The host is set by user (optional)
558
-         *
559
-         * @throws \InvalidArgumentException
560
-         */
561
-        public function __construct(
562
-            Channel $channel,
563
-            $method,
564
-            Timeval $absolute_deadline,
565
-            $host_override = null
566
-        ) {}
567
-
568
-        /**
569
-         * Start a batch of RPC actions.
570
-         *
571
-         * @param array $batch Array of actions to take
572
-         *
573
-         * @return object Object with results of all actions
574
-         * @throws \InvalidArgumentException
575
-         * @throws \LogicException
576
-         */
577
-        public function startBatch(array $batch) {}
578
-
579
-        /**
580
-         * Set the CallCredentials for this call.
581
-         *
582
-         * @param CallCredentials $creds_obj The CallCredentials object
583
-         *
584
-         * @return int The error code
585
-         * @throws \InvalidArgumentException
586
-         */
587
-        public function setCredentials(CallCredentials $creds_obj) {}
588
-
589
-        /**
590
-         * Get the endpoint this call/stream is connected to
591
-         *
592
-         * @return string The URI of the endpoint
593
-         */
594
-        public function getPeer() {}
595
-
596
-        /**
597
-         * Cancel the call. This will cause the call to end with STATUS_CANCELLED if it
598
-         * has not already ended with another status.
599
-         */
600
-        public function cancel() {}
601
-    }
602
-
603
-    /**
604
-     * Class CallCredentials
605
-     * @see https://github.com/grpc/grpc/tree/master/src/php/ext/grpc
606
-     */
607
-    class CallCredentials
608
-    {
609
-        /**
610
-         * Create composite credentials from two existing credentials.
611
-         *
612
-         * @param CallCredentials $cred1 The first credential
613
-         * @param CallCredentials $cred2 The second credential
614
-         *
615
-         * @return CallCredentials The new composite credentials object
616
-         * @throws \InvalidArgumentException
617
-         */
618
-        public static function createComposite(
619
-            CallCredentials $cred1,
620
-            CallCredentials $cred2
621
-        ) {}
622
-
623
-        /**
624
-         * Create a call credentials object from the plugin API
625
-         *
626
-         * @param \Closure $callback The callback function
627
-         *
628
-         * @return CallCredentials The new call credentials object
629
-         * @throws \InvalidArgumentException
630
-         */
631
-        public static function createFromPlugin(\Closure $callback) {}
632
-    }
633
-
634
-    /**
635
-     * Class Timeval
636
-     *
637
-     * @see https://github.com/grpc/grpc/tree/master/src/php/ext/grpc
638
-     */
639
-    class Timeval
640
-    {
641
-        /**
642
-         * Constructs a new instance of the Timeval class
643
-         *
644
-         * @param int $usec The number of microseconds in the interval
645
-         */
646
-        public function __construct($usec) {}
647
-
648
-        /**
649
-         * Adds another Timeval to this one and returns the sum. Calculations saturate
650
-         * at infinities.
651
-         *
652
-         * @param Timeval $other The other Timeval object to add
653
-         *
654
-         * @return Timeval A new Timeval object containing the sum
655
-         * @throws \InvalidArgumentException
656
-         */
657
-        public function add(Timeval $other) {}
658
-
659
-        /**
660
-         * Return negative, 0, or positive according to whether a < b, a == b, or a > b
661
-         * respectively.
662
-         *
663
-         * @param Timeval $a The first time to compare
664
-         * @param Timeval $b The second time to compare
665
-         *
666
-         * @return int
667
-         * @throws \InvalidArgumentException
668
-         */
669
-        public static function compare(Timeval $a, Timeval $b) {}
670
-
671
-        /**
672
-         * Returns the infinite future time value as a timeval object
673
-         *
674
-         * @return Timeval Infinite future time value
675
-         */
676
-        public static function infFuture() {}
677
-
678
-        /**
679
-         * Returns the infinite past time value as a timeval object
680
-         *
681
-         * @return Timeval Infinite past time value
682
-         */
683
-        public static function infPast() {}
684
-
685
-        /**
686
-         * Returns the current time as a timeval object
687
-         *
688
-         * @return Timeval The current time
689
-         */
690
-        public static function now() {}
691
-
692
-        /**
693
-         * Checks whether the two times are within $threshold of each other
694
-         *
695
-         * @param Timeval $a         The first time to compare
696
-         * @param Timeval $b         The second time to compare
697
-         * @param Timeval $threshold The threshold to check against
698
-         *
699
-         * @return bool True if $a and $b are within $threshold, False otherwise
700
-         * @throws \InvalidArgumentException
701
-         */
702
-        public static function similar(Timeval $a, Timeval $b, Timeval $threshold) {}
703
-
704
-        /**
705
-         * Sleep until this time, interpreted as an absolute timeout
706
-         */
707
-        public function sleepUntil() {}
708
-
709
-        /**
710
-         * Subtracts another Timeval from this one and returns the difference.
711
-         * Calculations saturate at infinities.
712
-         *
713
-         * @param Timeval $other The other Timeval object to subtract
714
-         *
715
-         * @return Timeval A new Timeval object containing the sum
716
-         * @throws \InvalidArgumentException
717
-         */
718
-        public function subtract(Timeval $other) {}
719
-
720
-        /**
721
-         * Returns the zero time interval as a timeval object
722
-         *
723
-         * @return Timeval Zero length time interval
724
-         */
725
-        public static function zero() {}
726
-    }
336
+	/**
337
+	 * channel is idle
338
+	 */
339
+	const CHANNEL_IDLE = 0;
340
+
341
+	/**
342
+	 * channel is connecting
343
+	 */
344
+	const CHANNEL_CONNECTING = 1;
345
+
346
+	/**
347
+	 * channel is ready for work
348
+	 */
349
+	const CHANNEL_READY = 2;
350
+
351
+	/**
352
+	 * channel has seen a failure but expects to recover
353
+	 */
354
+	const CHANNEL_TRANSIENT_FAILURE = 3;
355
+
356
+	/**
357
+	 * channel has seen a failure that it cannot recover from
358
+	 */
359
+	const CHANNEL_SHUTDOWN = 4;
360
+	const CHANNEL_FATAL_FAILURE = 4;
361
+
362
+	/**
363
+	 * Class Server
364
+	 * @see https://github.com/grpc/grpc/tree/master/src/php/ext/grpc
365
+	 */
366
+	class Server
367
+	{
368
+		/**
369
+		 * Constructs a new instance of the Server class
370
+		 *
371
+		 * @param array $args The arguments to pass to the server (optional)
372
+		 */
373
+		public function __construct(array $args) {}
374
+
375
+		/**
376
+		 * Request a call on a server. Creates a single GRPC_SERVER_RPC_NEW event.
377
+		 *
378
+		 * @param int $tag_new    The tag to associate with the new request
379
+		 * @param int $tag_cancel The tag to use if the call is cancelled
380
+		 */
381
+		public function requestCall($tag_new, $tag_cancel) {}
382
+
383
+		/**
384
+		 * Add a http2 over tcp listener.
385
+		 *
386
+		 * @param string $addr The address to add
387
+		 *
388
+		 * @return bool true on success, false on failure
389
+		 */
390
+		public function addHttp2Port($addr) {}
391
+
392
+		/**
393
+		 * Add a secure http2 over tcp listener.
394
+		 *
395
+		 * @param string             $addr      The address to add
396
+		 * @param ServerCredentials $creds_obj
397
+		 *
398
+		 * @return bool true on success, false on failure
399
+		 */
400
+		public function addSecureHttp2Port($addr, $creds_obj) {}
401
+
402
+		/**
403
+		 * Start a server - tells all listeners to start listening
404
+		 */
405
+		public function start() {}
406
+	}
407
+
408
+	/**
409
+	 * Class ServerCredentials
410
+	 * @see https://github.com/grpc/grpc/tree/master/src/php/ext/grpc
411
+	 */
412
+	class ServerCredentials
413
+	{
414
+		/**
415
+		 * Create SSL credentials.
416
+		 *
417
+		 * @param string $pem_root_certs  PEM encoding of the server root certificates
418
+		 * @param string $pem_private_key PEM encoding of the client's private key
419
+		 * @param string $pem_cert_chain  PEM encoding of the client's certificate chain
420
+		 *
421
+		 * @return object Credentials The new SSL credentials object
422
+		 * @throws \InvalidArgumentException
423
+		 */
424
+		public static function createSsl(
425
+			$pem_root_certs,
426
+			$pem_private_key,
427
+			$pem_cert_chain
428
+		) {}
429
+	}
430
+
431
+	/**
432
+	 * Class Channel
433
+	 * @see https://github.com/grpc/grpc/tree/master/src/php/ext/grpc
434
+	 */
435
+	class Channel
436
+	{
437
+		/**
438
+		 * Construct an instance of the Channel class. If the $args array contains a
439
+		 * "credentials" key mapping to a ChannelCredentials object, a secure channel
440
+		 * will be created with those credentials.
441
+		 *
442
+		 * @param string $target The hostname to associate with this channel
443
+		 * @param array  $args   The arguments to pass to the Channel (optional)
444
+		 *
445
+		 * @throws \InvalidArgumentException
446
+		 */
447
+		public function __construct($target, $args = []) {}
448
+
449
+		/**
450
+		 * Get the endpoint this call/stream is connected to
451
+		 *
452
+		 * @return string The URI of the endpoint
453
+		 */
454
+		public function getTarget() {}
455
+
456
+		/**
457
+		 * Get the connectivity state of the channel
458
+		 *
459
+		 * @param bool $try_to_connect try to connect on the channel
460
+		 *
461
+		 * @return int The grpc connectivity state
462
+		 * @throws \InvalidArgumentException
463
+		 */
464
+		public function getConnectivityState($try_to_connect = false) {}
465
+
466
+		/**
467
+		 * Watch the connectivity state of the channel until it changed
468
+		 *
469
+		 * @param int     $last_state   The previous connectivity state of the channel
470
+		 * @param Timeval $deadline_obj The deadline this function should wait until
471
+		 *
472
+		 * @return bool If the connectivity state changes from last_state
473
+		 *              before deadline
474
+		 * @throws \InvalidArgumentException
475
+		 */
476
+		public function watchConnectivityState($last_state, Timeval $deadline_obj) {}
477
+
478
+		/**
479
+		 * Close the channel
480
+		 */
481
+		public function close() {}
482
+	}
483
+
484
+	/**
485
+	 * Class ChannelCredentials
486
+	 * @see https://github.com/grpc/grpc/tree/master/src/php/ext/grpc
487
+	 */
488
+	class ChannelCredentials
489
+	{
490
+		/**
491
+		 * Set default roots pem.
492
+		 *
493
+		 * @param string $pem_roots PEM encoding of the server root certificates
494
+		 *
495
+		 * @throws \InvalidArgumentException
496
+		 */
497
+		public static function setDefaultRootsPem($pem_roots) {}
498
+
499
+		/**
500
+		 * Create a default channel credentials object.
501
+		 *
502
+		 * @return ChannelCredentials The new default channel credentials object
503
+		 */
504
+		public static function createDefault() {}
505
+
506
+		/**
507
+		 * Create SSL credentials.
508
+		 *
509
+		 * @param string|null $pem_root_certs  PEM encoding of the server root certificates
510
+		 * @param string|null $pem_private_key PEM encoding of the client's private key
511
+		 * @param string|null $pem_cert_chain  PEM encoding of the client's certificate chain
512
+		 *
513
+		 * @return ChannelCredentials The new SSL credentials object
514
+		 * @throws \InvalidArgumentException
515
+		 */
516
+		public static function createSsl(
517
+			string $pem_root_certs = null,
518
+			string $pem_private_key = null,
519
+			string $pem_cert_chain = null
520
+		) {}
521
+
522
+		/**
523
+		 * Create composite credentials from two existing credentials.
524
+		 *
525
+		 * @param ChannelCredentials $cred1 The first credential
526
+		 * @param CallCredentials    $cred2 The second credential
527
+		 *
528
+		 * @return ChannelCredentials The new composite credentials object
529
+		 * @throws \InvalidArgumentException
530
+		 */
531
+		public static function createComposite(
532
+			ChannelCredentials $cred1,
533
+			CallCredentials $cred2
534
+		) {}
535
+
536
+		/**
537
+		 * Create insecure channel credentials
538
+		 *
539
+		 * @return null
540
+		 */
541
+		public static function createInsecure() {}
542
+	}
543
+
544
+	/**
545
+	 * Class Call
546
+	 * @see https://github.com/grpc/grpc/tree/master/src/php/ext/grpc
547
+	 */
548
+	class Call
549
+	{
550
+		/**
551
+		 * Constructs a new instance of the Call class.
552
+		 *
553
+		 * @param Channel $channel           The channel to associate the call with.
554
+		 *                                   Must not be closed.
555
+		 * @param string  $method            The method to call
556
+		 * @param Timeval $absolute_deadline The deadline for completing the call
557
+		 * @param null|string $host_override The host is set by user (optional)
558
+		 *
559
+		 * @throws \InvalidArgumentException
560
+		 */
561
+		public function __construct(
562
+			Channel $channel,
563
+			$method,
564
+			Timeval $absolute_deadline,
565
+			$host_override = null
566
+		) {}
567
+
568
+		/**
569
+		 * Start a batch of RPC actions.
570
+		 *
571
+		 * @param array $batch Array of actions to take
572
+		 *
573
+		 * @return object Object with results of all actions
574
+		 * @throws \InvalidArgumentException
575
+		 * @throws \LogicException
576
+		 */
577
+		public function startBatch(array $batch) {}
578
+
579
+		/**
580
+		 * Set the CallCredentials for this call.
581
+		 *
582
+		 * @param CallCredentials $creds_obj The CallCredentials object
583
+		 *
584
+		 * @return int The error code
585
+		 * @throws \InvalidArgumentException
586
+		 */
587
+		public function setCredentials(CallCredentials $creds_obj) {}
588
+
589
+		/**
590
+		 * Get the endpoint this call/stream is connected to
591
+		 *
592
+		 * @return string The URI of the endpoint
593
+		 */
594
+		public function getPeer() {}
595
+
596
+		/**
597
+		 * Cancel the call. This will cause the call to end with STATUS_CANCELLED if it
598
+		 * has not already ended with another status.
599
+		 */
600
+		public function cancel() {}
601
+	}
602
+
603
+	/**
604
+	 * Class CallCredentials
605
+	 * @see https://github.com/grpc/grpc/tree/master/src/php/ext/grpc
606
+	 */
607
+	class CallCredentials
608
+	{
609
+		/**
610
+		 * Create composite credentials from two existing credentials.
611
+		 *
612
+		 * @param CallCredentials $cred1 The first credential
613
+		 * @param CallCredentials $cred2 The second credential
614
+		 *
615
+		 * @return CallCredentials The new composite credentials object
616
+		 * @throws \InvalidArgumentException
617
+		 */
618
+		public static function createComposite(
619
+			CallCredentials $cred1,
620
+			CallCredentials $cred2
621
+		) {}
622
+
623
+		/**
624
+		 * Create a call credentials object from the plugin API
625
+		 *
626
+		 * @param \Closure $callback The callback function
627
+		 *
628
+		 * @return CallCredentials The new call credentials object
629
+		 * @throws \InvalidArgumentException
630
+		 */
631
+		public static function createFromPlugin(\Closure $callback) {}
632
+	}
633
+
634
+	/**
635
+	 * Class Timeval
636
+	 *
637
+	 * @see https://github.com/grpc/grpc/tree/master/src/php/ext/grpc
638
+	 */
639
+	class Timeval
640
+	{
641
+		/**
642
+		 * Constructs a new instance of the Timeval class
643
+		 *
644
+		 * @param int $usec The number of microseconds in the interval
645
+		 */
646
+		public function __construct($usec) {}
647
+
648
+		/**
649
+		 * Adds another Timeval to this one and returns the sum. Calculations saturate
650
+		 * at infinities.
651
+		 *
652
+		 * @param Timeval $other The other Timeval object to add
653
+		 *
654
+		 * @return Timeval A new Timeval object containing the sum
655
+		 * @throws \InvalidArgumentException
656
+		 */
657
+		public function add(Timeval $other) {}
658
+
659
+		/**
660
+		 * Return negative, 0, or positive according to whether a < b, a == b, or a > b
661
+		 * respectively.
662
+		 *
663
+		 * @param Timeval $a The first time to compare
664
+		 * @param Timeval $b The second time to compare
665
+		 *
666
+		 * @return int
667
+		 * @throws \InvalidArgumentException
668
+		 */
669
+		public static function compare(Timeval $a, Timeval $b) {}
670
+
671
+		/**
672
+		 * Returns the infinite future time value as a timeval object
673
+		 *
674
+		 * @return Timeval Infinite future time value
675
+		 */
676
+		public static function infFuture() {}
677
+
678
+		/**
679
+		 * Returns the infinite past time value as a timeval object
680
+		 *
681
+		 * @return Timeval Infinite past time value
682
+		 */
683
+		public static function infPast() {}
684
+
685
+		/**
686
+		 * Returns the current time as a timeval object
687
+		 *
688
+		 * @return Timeval The current time
689
+		 */
690
+		public static function now() {}
691
+
692
+		/**
693
+		 * Checks whether the two times are within $threshold of each other
694
+		 *
695
+		 * @param Timeval $a         The first time to compare
696
+		 * @param Timeval $b         The second time to compare
697
+		 * @param Timeval $threshold The threshold to check against
698
+		 *
699
+		 * @return bool True if $a and $b are within $threshold, False otherwise
700
+		 * @throws \InvalidArgumentException
701
+		 */
702
+		public static function similar(Timeval $a, Timeval $b, Timeval $threshold) {}
703
+
704
+		/**
705
+		 * Sleep until this time, interpreted as an absolute timeout
706
+		 */
707
+		public function sleepUntil() {}
708
+
709
+		/**
710
+		 * Subtracts another Timeval from this one and returns the difference.
711
+		 * Calculations saturate at infinities.
712
+		 *
713
+		 * @param Timeval $other The other Timeval object to subtract
714
+		 *
715
+		 * @return Timeval A new Timeval object containing the sum
716
+		 * @throws \InvalidArgumentException
717
+		 */
718
+		public function subtract(Timeval $other) {}
719
+
720
+		/**
721
+		 * Returns the zero time interval as a timeval object
722
+		 *
723
+		 * @return Timeval Zero length time interval
724
+		 */
725
+		public static function zero() {}
726
+	}
Please login to merge, or discard this patch.
Braces   +7 added lines, -14 removed lines patch added patch discarded remove patch
@@ -363,8 +363,7 @@  discard block
 block discarded – undo
363 363
      * Class Server
364 364
      * @see https://github.com/grpc/grpc/tree/master/src/php/ext/grpc
365 365
      */
366
-    class Server
367
-    {
366
+    class Server {
368 367
         /**
369 368
          * Constructs a new instance of the Server class
370 369
          *
@@ -409,8 +408,7 @@  discard block
 block discarded – undo
409 408
      * Class ServerCredentials
410 409
      * @see https://github.com/grpc/grpc/tree/master/src/php/ext/grpc
411 410
      */
412
-    class ServerCredentials
413
-    {
411
+    class ServerCredentials {
414 412
         /**
415 413
          * Create SSL credentials.
416 414
          *
@@ -432,8 +430,7 @@  discard block
 block discarded – undo
432 430
      * Class Channel
433 431
      * @see https://github.com/grpc/grpc/tree/master/src/php/ext/grpc
434 432
      */
435
-    class Channel
436
-    {
433
+    class Channel {
437 434
         /**
438 435
          * Construct an instance of the Channel class. If the $args array contains a
439 436
          * "credentials" key mapping to a ChannelCredentials object, a secure channel
@@ -485,8 +482,7 @@  discard block
 block discarded – undo
485 482
      * Class ChannelCredentials
486 483
      * @see https://github.com/grpc/grpc/tree/master/src/php/ext/grpc
487 484
      */
488
-    class ChannelCredentials
489
-    {
485
+    class ChannelCredentials {
490 486
         /**
491 487
          * Set default roots pem.
492 488
          *
@@ -545,8 +541,7 @@  discard block
 block discarded – undo
545 541
      * Class Call
546 542
      * @see https://github.com/grpc/grpc/tree/master/src/php/ext/grpc
547 543
      */
548
-    class Call
549
-    {
544
+    class Call {
550 545
         /**
551 546
          * Constructs a new instance of the Call class.
552 547
          *
@@ -604,8 +599,7 @@  discard block
 block discarded – undo
604 599
      * Class CallCredentials
605 600
      * @see https://github.com/grpc/grpc/tree/master/src/php/ext/grpc
606 601
      */
607
-    class CallCredentials
608
-    {
602
+    class CallCredentials {
609 603
         /**
610 604
          * Create composite credentials from two existing credentials.
611 605
          *
@@ -636,8 +630,7 @@  discard block
 block discarded – undo
636 630
      *
637 631
      * @see https://github.com/grpc/grpc/tree/master/src/php/ext/grpc
638 632
      */
639
-    class Timeval
640
-    {
633
+    class Timeval {
641 634
         /**
642 635
          * Constructs a new instance of the Timeval class
643 636
          *
Please login to merge, or discard this patch.
vendor-bin/php-scoper/vendor/jetbrains/phpstorm-stubs/svn/svn.php 3 patches
Indentation   +79 added lines, -79 removed lines patch added patch discarded remove patch
@@ -4,97 +4,97 @@
 block discarded – undo
4 4
 
5 5
 class Svn
6 6
 {
7
-    public const NON_RECURSIVE = 1;
8
-    public const DISCOVER_CHANGED_PATHS = 2;
9
-    public const OMIT_MESSAGES = 4;
10
-    public const STOP_ON_COPY = 8;
11
-    public const ALL = 16;
12
-    public const SHOW_UPDATES = 32;
13
-    public const NO_IGNORE = 64;
14
-    public const IGNORE_EXTERNALS = 128;
15
-    public const INITIAL = 1;
16
-    public const HEAD = -1;
17
-    public const BASE = -2;
18
-    public const COMMITTED = -3;
19
-    public const PREV = -4;
20
-    public const UNSPECIFIED = -5;
21
-
22
-    public static function checkout() {}
23
-    public static function cat() {}
24
-    public static function ls() {}
25
-    public static function log() {}
26
-    public static function auth_set_parameter() {}
27
-    public static function auth_get_parameter() {}
28
-    public static function client_version() {}
29
-    public static function config_ensure() {}
30
-    public static function diff() {}
31
-    public static function cleanup() {}
32
-    public static function revert() {}
33
-    public static function resolved() {}
34
-    public static function commit() {}
35
-    public static function lock() {}
36
-    public static function unlock() {}
37
-    public static function add() {}
38
-    public static function status() {}
39
-    public static function update() {}
40
-    public static function update2() {}
41
-    public static function import() {}
42
-    public static function info() {}
43
-    public static function export() {}
44
-    public static function copy() {}
45
-    public static function switch() {}
46
-    public static function blame() {}
47
-    public static function delete() {}
48
-    public static function mkdir() {}
49
-    public static function move() {}
50
-    public static function proplist() {}
51
-    public static function propget() {}
52
-    public static function propset() {}
53
-    public static function prop_delete() {}
54
-    public static function revprop_get() {}
55
-    public static function revprop_set() {}
56
-    public static function revprop_delete() {}
57
-    public static function repos_create() {}
58
-    public static function repos_recover() {}
59
-    public static function repos_hotcopy() {}
60
-    public static function repos_open() {}
61
-    public static function repos_fs() {}
62
-    public static function repos_fs_begin_txn_for_commit() {}
63
-    public static function repos_fs_commit_txn() {}
7
+	public const NON_RECURSIVE = 1;
8
+	public const DISCOVER_CHANGED_PATHS = 2;
9
+	public const OMIT_MESSAGES = 4;
10
+	public const STOP_ON_COPY = 8;
11
+	public const ALL = 16;
12
+	public const SHOW_UPDATES = 32;
13
+	public const NO_IGNORE = 64;
14
+	public const IGNORE_EXTERNALS = 128;
15
+	public const INITIAL = 1;
16
+	public const HEAD = -1;
17
+	public const BASE = -2;
18
+	public const COMMITTED = -3;
19
+	public const PREV = -4;
20
+	public const UNSPECIFIED = -5;
21
+
22
+	public static function checkout() {}
23
+	public static function cat() {}
24
+	public static function ls() {}
25
+	public static function log() {}
26
+	public static function auth_set_parameter() {}
27
+	public static function auth_get_parameter() {}
28
+	public static function client_version() {}
29
+	public static function config_ensure() {}
30
+	public static function diff() {}
31
+	public static function cleanup() {}
32
+	public static function revert() {}
33
+	public static function resolved() {}
34
+	public static function commit() {}
35
+	public static function lock() {}
36
+	public static function unlock() {}
37
+	public static function add() {}
38
+	public static function status() {}
39
+	public static function update() {}
40
+	public static function update2() {}
41
+	public static function import() {}
42
+	public static function info() {}
43
+	public static function export() {}
44
+	public static function copy() {}
45
+	public static function switch() {}
46
+	public static function blame() {}
47
+	public static function delete() {}
48
+	public static function mkdir() {}
49
+	public static function move() {}
50
+	public static function proplist() {}
51
+	public static function propget() {}
52
+	public static function propset() {}
53
+	public static function prop_delete() {}
54
+	public static function revprop_get() {}
55
+	public static function revprop_set() {}
56
+	public static function revprop_delete() {}
57
+	public static function repos_create() {}
58
+	public static function repos_recover() {}
59
+	public static function repos_hotcopy() {}
60
+	public static function repos_open() {}
61
+	public static function repos_fs() {}
62
+	public static function repos_fs_begin_txn_for_commit() {}
63
+	public static function repos_fs_commit_txn() {}
64 64
 }
65 65
 
66 66
 class SvnWc
67 67
 {
68
-    public const NONE = 1;
69
-    public const UNVERSIONED = 2;
70
-    public const NORMAL = 3;
71
-    public const ADDED = 4;
72
-    public const MISSING = 5;
73
-    public const DELETED = 6;
74
-    public const REPLACED = 7;
75
-    public const MODIFIED = 8;
76
-    public const MERGED = 9;
77
-    public const CONFLICTED = 10;
78
-    public const IGNORED = 11;
79
-    public const OBSTRUCTED = 12;
80
-    public const EXTERNAL = 13;
81
-    public const INCOMPLETE = 14;
68
+	public const NONE = 1;
69
+	public const UNVERSIONED = 2;
70
+	public const NORMAL = 3;
71
+	public const ADDED = 4;
72
+	public const MISSING = 5;
73
+	public const DELETED = 6;
74
+	public const REPLACED = 7;
75
+	public const MODIFIED = 8;
76
+	public const MERGED = 9;
77
+	public const CONFLICTED = 10;
78
+	public const IGNORED = 11;
79
+	public const OBSTRUCTED = 12;
80
+	public const EXTERNAL = 13;
81
+	public const INCOMPLETE = 14;
82 82
 }
83 83
 
84 84
 class SvnWcSchedule
85 85
 {
86
-    public const NORMAL = 0;
87
-    public const ADD = 1;
88
-    public const DELETE = 2;
89
-    public const REPLACE = 3;
86
+	public const NORMAL = 0;
87
+	public const ADD = 1;
88
+	public const DELETE = 2;
89
+	public const REPLACE = 3;
90 90
 }
91 91
 
92 92
 class SvnNode
93 93
 {
94
-    public const NONE = 0;
95
-    public const FILE = 1;
96
-    public const DIR = 2;
97
-    public const UNKNOWN = 3;
94
+	public const NONE = 0;
95
+	public const FILE = 1;
96
+	public const DIR = 2;
97
+	public const UNKNOWN = 3;
98 98
 }
99 99
 
100 100
 /**
Please login to merge, or discard this patch.
Spacing   +2 added lines, -2 removed lines patch added patch discarded remove patch
@@ -42,7 +42,7 @@  discard block
 block discarded – undo
42 42
     public static function info() {}
43 43
     public static function export() {}
44 44
     public static function copy() {}
45
-    public static function switch() {}
45
+    public static function switch () {}
46 46
     public static function blame() {}
47 47
     public static function delete() {}
48 48
     public static function mkdir() {}
@@ -247,7 +247,7 @@  discard block
 block discarded – undo
247 247
  * <p>
248 248
  * If no changes were made to the item, an empty array is returned.
249 249
  */
250
-function svn_log($repos_url, $start_revision = null, $end_revision = null, $limit = 0, $flags = SVN_DISCOVER_CHANGED_PATHS|SVN_STOP_ON_COPY) {}
250
+function svn_log($repos_url, $start_revision = null, $end_revision = null, $limit = 0, $flags = SVN_DISCOVER_CHANGED_PATHS | SVN_STOP_ON_COPY) {}
251 251
 
252 252
 /**
253 253
  * (PECL svn &gt;= 0.1.0)<br/>
Please login to merge, or discard this patch.
Braces   +4 added lines, -8 removed lines patch added patch discarded remove patch
@@ -2,8 +2,7 @@  discard block
 block discarded – undo
2 2
 
3 3
 // Start of svn v.1.0.1
4 4
 
5
-class Svn
6
-{
5
+class Svn {
7 6
     public const NON_RECURSIVE = 1;
8 7
     public const DISCOVER_CHANGED_PATHS = 2;
9 8
     public const OMIT_MESSAGES = 4;
@@ -63,8 +62,7 @@  discard block
 block discarded – undo
63 62
     public static function repos_fs_commit_txn() {}
64 63
 }
65 64
 
66
-class SvnWc
67
-{
65
+class SvnWc {
68 66
     public const NONE = 1;
69 67
     public const UNVERSIONED = 2;
70 68
     public const NORMAL = 3;
@@ -81,16 +79,14 @@  discard block
 block discarded – undo
81 79
     public const INCOMPLETE = 14;
82 80
 }
83 81
 
84
-class SvnWcSchedule
85
-{
82
+class SvnWcSchedule {
86 83
     public const NORMAL = 0;
87 84
     public const ADD = 1;
88 85
     public const DELETE = 2;
89 86
     public const REPLACE = 3;
90 87
 }
91 88
 
92
-class SvnNode
93
-{
89
+class SvnNode {
94 90
     public const NONE = 0;
95 91
     public const FILE = 1;
96 92
     public const DIR = 2;
Please login to merge, or discard this patch.
vendor-bin/php-scoper/vendor/jetbrains/phpstorm-stubs/tidy/tidy.php 2 patches
Indentation   +430 added lines, -430 removed lines patch added patch discarded remove patch
@@ -8,310 +8,310 @@  discard block
 block discarded – undo
8 8
  */
9 9
 class tidy
10 10
 {
11
-    /**
12
-     * @var string  The last warnings and errors from TidyLib
13
-     */
14
-    public $errorBuffer;
15
-
16
-    /**
17
-     * (PHP 5, PECL tidy &gt;= 0.5.2)<br/>
18
-     * Returns the value of the specified configuration option for the tidy document
19
-     * @link https://php.net/manual/en/tidy.getopt.php
20
-     * @param string $option <p>
21
-     * You will find a list with each configuration option and their types
22
-     * at: http://tidy.sourceforge.net/docs/quickref.html.
23
-     * </p>
24
-     * @return mixed the value of the specified <i>option</i>.
25
-     * The return type depends on the type of the specified one.
26
-     */
27
-    public function getOpt($option) {}
28
-
29
-    /**
30
-     * (PHP 5, PECL tidy &gt;= 0.5.2)<br/>
31
-     * Execute configured cleanup and repair operations on parsed markup
32
-     * @link https://php.net/manual/en/tidy.cleanrepair.php
33
-     * @return bool <b>TRUE</b> on success or <b>FALSE</b> on failure.
34
-     */
35
-    public function cleanRepair() {}
36
-
37
-    /**
38
-     * (PHP 5, PECL tidy &gt;= 0.5.2)<br/>
39
-     * Parse markup in file or URI
40
-     * @link https://php.net/manual/en/tidy.parsefile.php
41
-     * @param string $filename <p>
42
-     * If the <i>filename</i> parameter is given, this function
43
-     * will also read that file and initialize the object with the file,
44
-     * acting like <b>tidy_parse_file</b>.
45
-     * </p>
46
-     * @param mixed $config [optional] <p>
47
-     * The config <i>config</i> can be passed either as an
48
-     * array or as a string. If a string is passed, it is interpreted as the
49
-     * name of the configuration file, otherwise, it is interpreted as the
50
-     * options themselves.
51
-     * </p>
52
-     * <p>
53
-     * For an explanation about each option, see
54
-     * http://tidy.sourceforge.net/docs/quickref.html.
55
-     * </p>
56
-     * @param string|null $encoding [optional] <p>
57
-     * The <i>encoding</i> parameter sets the encoding for
58
-     * input/output documents. The possible values for encoding are:
59
-     * ascii, latin0, latin1,
60
-     * raw, utf8, iso2022,
61
-     * mac, win1252, ibm858,
62
-     * utf16, utf16le, utf16be,
63
-     * big5, and shiftjis.
64
-     * </p>
65
-     * @param bool $use_include_path [optional] <p>
66
-     * Search for the file in the include_path.
67
-     * </p>
68
-     * @return bool <b>TRUE</b> on success or <b>FALSE</b> on failure.
69
-     */
70
-    public function parseFile($filename, $config = null, $encoding = null, $use_include_path = false) {}
71
-
72
-    /**
73
-     * (PHP 5, PECL tidy &gt;= 0.5.2)<br/>
74
-     * Parse a document stored in a string
75
-     * @link https://php.net/manual/en/tidy.parsestring.php
76
-     * @param string $input <p>
77
-     * The data to be parsed.
78
-     * </p>
79
-     * @param mixed $config [optional] <p>
80
-     * The config <i>config</i> can be passed either as an
81
-     * array or as a string. If a string is passed, it is interpreted as the
82
-     * name of the configuration file, otherwise, it is interpreted as the
83
-     * options themselves.
84
-     * </p>
85
-     * <p>
86
-     * For an explanation about each option, visit http://tidy.sourceforge.net/docs/quickref.html.
87
-     * </p>
88
-     * @param string|null $encoding [optional] <p>
89
-     * The <i>encoding</i> parameter sets the encoding for
90
-     * input/output documents. The possible values for encoding are:
91
-     * ascii, latin0, latin1,
92
-     * raw, utf8, iso2022,
93
-     * mac, win1252, ibm858,
94
-     * utf16, utf16le, utf16be,
95
-     * big5, and shiftjis.
96
-     * </p>
97
-     * @return bool a new <b>tidy</b> instance.
98
-     */
99
-    public function parseString($input, $config = null, $encoding = null) {}
100
-
101
-    /**
102
-     * (PHP 5, PECL tidy &gt;= 0.7.0)<br/>
103
-     * Repair a string using an optionally provided configuration file
104
-     * @link https://php.net/manual/en/tidy.repairstring.php
105
-     * @param string $data <p>
106
-     * The data to be repaired.
107
-     * </p>
108
-     * @param mixed $config [optional] <p>
109
-     * The config <i>config</i> can be passed either as an
110
-     * array or as a string. If a string is passed, it is interpreted as the
111
-     * name of the configuration file, otherwise, it is interpreted as the
112
-     * options themselves.
113
-     * </p>
114
-     * <p>
115
-     * Check http://tidy.sourceforge.net/docs/quickref.html for
116
-     * an explanation about each option.
117
-     * </p>
118
-     * @param string|null $encoding [optional] <p>
119
-     * The <i>encoding</i> parameter sets the encoding for
120
-     * input/output documents. The possible values for encoding are:
121
-     * ascii, latin0, latin1,
122
-     * raw, utf8, iso2022,
123
-     * mac, win1252, ibm858,
124
-     * utf16, utf16le, utf16be,
125
-     * big5, and shiftjis.
126
-     * </p>
127
-     * @return string the repaired string.
128
-     */
129
-    public function repairString($data, $config = null, $encoding = null) {}
130
-
131
-    /**
132
-     * (PHP 5, PECL tidy &gt;= 0.7.0)<br/>
133
-     * Repair a file and return it as a string
134
-     * @link https://php.net/manual/en/tidy.repairfile.php
135
-     * @param string $filename <p>
136
-     * The file to be repaired.
137
-     * </p>
138
-     * @param mixed $config [optional] <p>
139
-     * The config <i>config</i> can be passed either as an
140
-     * array or as a string. If a string is passed, it is interpreted as the
141
-     * name of the configuration file, otherwise, it is interpreted as the
142
-     * options themselves.
143
-     * </p>
144
-     * <p>
145
-     * Check http://tidy.sourceforge.net/docs/quickref.html for an
146
-     * explanation about each option.
147
-     * </p>
148
-     * @param string|null $encoding [optional] <p>
149
-     * The <i>encoding</i> parameter sets the encoding for
150
-     * input/output documents. The possible values for encoding are:
151
-     * ascii, latin0, latin1,
152
-     * raw, utf8, iso2022,
153
-     * mac, win1252, ibm858,
154
-     * utf16, utf16le, utf16be,
155
-     * big5, and shiftjis.
156
-     * </p>
157
-     * @param bool $use_include_path [optional] <p>
158
-     * Search for the file in the include_path.
159
-     * </p>
160
-     * @return string the repaired contents as a string.
161
-     */
162
-    public function repairFile($filename, $config = null, $encoding = null, $use_include_path = false) {}
163
-
164
-    /**
165
-     * (PHP 5, PECL tidy &gt;= 0.5.2)<br/>
166
-     * Run configured diagnostics on parsed and repaired markup
167
-     * @link https://php.net/manual/en/tidy.diagnose.php
168
-     * @return bool <b>TRUE</b> on success or <b>FALSE</b> on failure.
169
-     */
170
-    public function diagnose() {}
171
-
172
-    /**
173
-     * (PHP 5, PECL tidy &gt;= 0.5.2)<br/>
174
-     * Get release date (version) for Tidy library
175
-     * @link https://php.net/manual/en/tidy.getrelease.php
176
-     * @return string a string with the release date of the Tidy library.
177
-     */
178
-    public function getRelease() {}
179
-
180
-    /**
181
-     * (PHP 5, PECL tidy &gt;= 0.7.0)<br/>
182
-     * Get current Tidy configuration
183
-     * @link https://php.net/manual/en/tidy.getconfig.php
184
-     * @return array an array of configuration options.
185
-     * </p>
186
-     * <p>
187
-     * For an explanation about each option, visit http://tidy.sourceforge.net/docs/quickref.html.
188
-     */
189
-    public function getConfig() {}
190
-
191
-    /**
192
-     * (PHP 5, PECL tidy &gt;= 0.5.2)<br/>
193
-     * Get status of specified document
194
-     * @link https://php.net/manual/en/tidy.getstatus.php
195
-     * @return int 0 if no error/warning was raised, 1 for warnings or accessibility
196
-     * errors, or 2 for errors.
197
-     */
198
-    public function getStatus() {}
199
-
200
-    /**
201
-     * (PHP 5, PECL tidy &gt;= 0.5.2)<br/>
202
-     * Get the Detected HTML version for the specified document
203
-     * @link https://php.net/manual/en/tidy.gethtmlver.php
204
-     * @return int the detected HTML version.
205
-     * </p>
206
-     * <p>
207
-     * This function is not yet implemented in the Tidylib itself, so it always
208
-     * return 0.
209
-     */
210
-    public function getHtmlVer() {}
211
-
212
-    /**
213
-     * Returns the documentation for the given option name
214
-     * @link https://php.net/manual/en/tidy.getoptdoc.php
215
-     * @param string $optname <p>
216
-     * The option name
217
-     * </p>
218
-     * @return string a string if the option exists and has documentation available, or
219
-     * <b>FALSE</b> otherwise.
220
-     */
221
-    public function getOptDoc($optname) {}
222
-
223
-    /**
224
-     * (PHP 5, PECL tidy &gt;= 0.5.2)<br/>
225
-     * Indicates if the document is a XHTML document
226
-     * @link https://php.net/manual/en/tidy.isxhtml.php
227
-     * @return bool This function returns <b>TRUE</b> if the specified tidy
228
-     * <i>object</i> is a XHTML document, or <b>FALSE</b> otherwise.
229
-     * </p>
230
-     * <p>
231
-     * This function is not yet implemented in the Tidylib itself, so it always
232
-     * return <b>FALSE</b>.
233
-     */
234
-    public function isXhtml() {}
235
-
236
-    /**
237
-     * (PHP 5, PECL tidy &gt;= 0.5.2)<br/>
238
-     * Indicates if the document is a generic (non HTML/XHTML) XML document
239
-     * @link https://php.net/manual/en/tidy.isxml.php
240
-     * @return bool This function returns <b>TRUE</b> if the specified tidy
241
-     * <i>object</i> is a generic XML document (non HTML/XHTML),
242
-     * or <b>FALSE</b> otherwise.
243
-     * </p>
244
-     * <p>
245
-     * This function is not yet implemented in the Tidylib itself, so it always
246
-     * return <b>FALSE</b>.
247
-     */
248
-    public function isXml() {}
249
-
250
-    /**
251
-     * (PHP 5, PECL tidy 0.5.2-1.0.0)<br/>
252
-     * Returns a <b>tidyNode</b> object representing the root of the tidy parse tree
253
-     * @link https://php.net/manual/en/tidy.root.php
254
-     * @return tidyNode the <b>tidyNode</b> object.
255
-     */
256
-    public function root() {}
257
-
258
-    /**
259
-     * (PHP 5, PECL tidy 0.5.2-1.0.0)<br/>
260
-     * Returns a <b>tidyNode</b> object starting from the &lt;head&gt; tag of the tidy parse tree
261
-     * @link https://php.net/manual/en/tidy.head.php
262
-     * @return tidyNode the <b>tidyNode</b> object.
263
-     */
264
-    public function head() {}
265
-
266
-    /**
267
-     * (PHP 5, PECL tidy 0.5.2-1.0.0)<br/>
268
-     * Returns a <b>tidyNode</b> object starting from the &lt;html&gt; tag of the tidy parse tree
269
-     * @link https://php.net/manual/en/tidy.html.php
270
-     * @return tidyNode the <b>tidyNode</b> object.
271
-     */
272
-    public function html() {}
273
-
274
-    /**
275
-     * (PHP 5, PECL tidy 0.5.2-1.0)<br/>
276
-     * Returns a <b>tidyNode</b> object starting from the &lt;body&gt; tag of the tidy parse tree
277
-     * @link https://php.net/manual/en/tidy.body.php
278
-     * @return tidyNode a <b>tidyNode</b> object starting from the
279
-     * &lt;body&gt; tag of the tidy parse tree.
280
-     */
281
-    public function body() {}
282
-
283
-    /**
284
-     * (PHP 5, PECL tidy &gt;= 0.5.2)<br/>
285
-     * Constructs a new <b>tidy</b> object
286
-     * @link https://php.net/manual/en/tidy.construct.php
287
-     * @param string $filename [optional] <p>
288
-     * If the <i>filename</i> parameter is given, this function
289
-     * will also read that file and initialize the object with the file,
290
-     * acting like <b>tidy_parse_file</b>.
291
-     * </p>
292
-     * @param mixed $config [optional] <p>
293
-     * The config <i>config</i> can be passed either as an
294
-     * array or as a string. If a string is passed, it is interpreted as the
295
-     * name of the configuration file, otherwise, it is interpreted as the
296
-     * options themselves.
297
-     * </p>
298
-     * <p>
299
-     * For an explanation about each option, visit http://tidy.sourceforge.net/docs/quickref.html.
300
-     * </p>
301
-     * @param string|null $encoding [optional] <p>
302
-     * The <i>encoding</i> parameter sets the encoding for
303
-     * input/output documents. The possible values for encoding are:
304
-     * ascii, latin0, latin1,
305
-     * raw, utf8, iso2022,
306
-     * mac, win1252, ibm858,
307
-     * utf16, utf16le, utf16be,
308
-     * big5, and shiftjis.
309
-     * </p>
310
-     * @param bool $use_include_path [optional] <p>
311
-     * Search for the file in the include_path.
312
-     * </p>
313
-     */
314
-    public function __construct($filename = null, $config = null, $encoding = null, $use_include_path = null) {}
11
+	/**
12
+	 * @var string  The last warnings and errors from TidyLib
13
+	 */
14
+	public $errorBuffer;
15
+
16
+	/**
17
+	 * (PHP 5, PECL tidy &gt;= 0.5.2)<br/>
18
+	 * Returns the value of the specified configuration option for the tidy document
19
+	 * @link https://php.net/manual/en/tidy.getopt.php
20
+	 * @param string $option <p>
21
+	 * You will find a list with each configuration option and their types
22
+	 * at: http://tidy.sourceforge.net/docs/quickref.html.
23
+	 * </p>
24
+	 * @return mixed the value of the specified <i>option</i>.
25
+	 * The return type depends on the type of the specified one.
26
+	 */
27
+	public function getOpt($option) {}
28
+
29
+	/**
30
+	 * (PHP 5, PECL tidy &gt;= 0.5.2)<br/>
31
+	 * Execute configured cleanup and repair operations on parsed markup
32
+	 * @link https://php.net/manual/en/tidy.cleanrepair.php
33
+	 * @return bool <b>TRUE</b> on success or <b>FALSE</b> on failure.
34
+	 */
35
+	public function cleanRepair() {}
36
+
37
+	/**
38
+	 * (PHP 5, PECL tidy &gt;= 0.5.2)<br/>
39
+	 * Parse markup in file or URI
40
+	 * @link https://php.net/manual/en/tidy.parsefile.php
41
+	 * @param string $filename <p>
42
+	 * If the <i>filename</i> parameter is given, this function
43
+	 * will also read that file and initialize the object with the file,
44
+	 * acting like <b>tidy_parse_file</b>.
45
+	 * </p>
46
+	 * @param mixed $config [optional] <p>
47
+	 * The config <i>config</i> can be passed either as an
48
+	 * array or as a string. If a string is passed, it is interpreted as the
49
+	 * name of the configuration file, otherwise, it is interpreted as the
50
+	 * options themselves.
51
+	 * </p>
52
+	 * <p>
53
+	 * For an explanation about each option, see
54
+	 * http://tidy.sourceforge.net/docs/quickref.html.
55
+	 * </p>
56
+	 * @param string|null $encoding [optional] <p>
57
+	 * The <i>encoding</i> parameter sets the encoding for
58
+	 * input/output documents. The possible values for encoding are:
59
+	 * ascii, latin0, latin1,
60
+	 * raw, utf8, iso2022,
61
+	 * mac, win1252, ibm858,
62
+	 * utf16, utf16le, utf16be,
63
+	 * big5, and shiftjis.
64
+	 * </p>
65
+	 * @param bool $use_include_path [optional] <p>
66
+	 * Search for the file in the include_path.
67
+	 * </p>
68
+	 * @return bool <b>TRUE</b> on success or <b>FALSE</b> on failure.
69
+	 */
70
+	public function parseFile($filename, $config = null, $encoding = null, $use_include_path = false) {}
71
+
72
+	/**
73
+	 * (PHP 5, PECL tidy &gt;= 0.5.2)<br/>
74
+	 * Parse a document stored in a string
75
+	 * @link https://php.net/manual/en/tidy.parsestring.php
76
+	 * @param string $input <p>
77
+	 * The data to be parsed.
78
+	 * </p>
79
+	 * @param mixed $config [optional] <p>
80
+	 * The config <i>config</i> can be passed either as an
81
+	 * array or as a string. If a string is passed, it is interpreted as the
82
+	 * name of the configuration file, otherwise, it is interpreted as the
83
+	 * options themselves.
84
+	 * </p>
85
+	 * <p>
86
+	 * For an explanation about each option, visit http://tidy.sourceforge.net/docs/quickref.html.
87
+	 * </p>
88
+	 * @param string|null $encoding [optional] <p>
89
+	 * The <i>encoding</i> parameter sets the encoding for
90
+	 * input/output documents. The possible values for encoding are:
91
+	 * ascii, latin0, latin1,
92
+	 * raw, utf8, iso2022,
93
+	 * mac, win1252, ibm858,
94
+	 * utf16, utf16le, utf16be,
95
+	 * big5, and shiftjis.
96
+	 * </p>
97
+	 * @return bool a new <b>tidy</b> instance.
98
+	 */
99
+	public function parseString($input, $config = null, $encoding = null) {}
100
+
101
+	/**
102
+	 * (PHP 5, PECL tidy &gt;= 0.7.0)<br/>
103
+	 * Repair a string using an optionally provided configuration file
104
+	 * @link https://php.net/manual/en/tidy.repairstring.php
105
+	 * @param string $data <p>
106
+	 * The data to be repaired.
107
+	 * </p>
108
+	 * @param mixed $config [optional] <p>
109
+	 * The config <i>config</i> can be passed either as an
110
+	 * array or as a string. If a string is passed, it is interpreted as the
111
+	 * name of the configuration file, otherwise, it is interpreted as the
112
+	 * options themselves.
113
+	 * </p>
114
+	 * <p>
115
+	 * Check http://tidy.sourceforge.net/docs/quickref.html for
116
+	 * an explanation about each option.
117
+	 * </p>
118
+	 * @param string|null $encoding [optional] <p>
119
+	 * The <i>encoding</i> parameter sets the encoding for
120
+	 * input/output documents. The possible values for encoding are:
121
+	 * ascii, latin0, latin1,
122
+	 * raw, utf8, iso2022,
123
+	 * mac, win1252, ibm858,
124
+	 * utf16, utf16le, utf16be,
125
+	 * big5, and shiftjis.
126
+	 * </p>
127
+	 * @return string the repaired string.
128
+	 */
129
+	public function repairString($data, $config = null, $encoding = null) {}
130
+
131
+	/**
132
+	 * (PHP 5, PECL tidy &gt;= 0.7.0)<br/>
133
+	 * Repair a file and return it as a string
134
+	 * @link https://php.net/manual/en/tidy.repairfile.php
135
+	 * @param string $filename <p>
136
+	 * The file to be repaired.
137
+	 * </p>
138
+	 * @param mixed $config [optional] <p>
139
+	 * The config <i>config</i> can be passed either as an
140
+	 * array or as a string. If a string is passed, it is interpreted as the
141
+	 * name of the configuration file, otherwise, it is interpreted as the
142
+	 * options themselves.
143
+	 * </p>
144
+	 * <p>
145
+	 * Check http://tidy.sourceforge.net/docs/quickref.html for an
146
+	 * explanation about each option.
147
+	 * </p>
148
+	 * @param string|null $encoding [optional] <p>
149
+	 * The <i>encoding</i> parameter sets the encoding for
150
+	 * input/output documents. The possible values for encoding are:
151
+	 * ascii, latin0, latin1,
152
+	 * raw, utf8, iso2022,
153
+	 * mac, win1252, ibm858,
154
+	 * utf16, utf16le, utf16be,
155
+	 * big5, and shiftjis.
156
+	 * </p>
157
+	 * @param bool $use_include_path [optional] <p>
158
+	 * Search for the file in the include_path.
159
+	 * </p>
160
+	 * @return string the repaired contents as a string.
161
+	 */
162
+	public function repairFile($filename, $config = null, $encoding = null, $use_include_path = false) {}
163
+
164
+	/**
165
+	 * (PHP 5, PECL tidy &gt;= 0.5.2)<br/>
166
+	 * Run configured diagnostics on parsed and repaired markup
167
+	 * @link https://php.net/manual/en/tidy.diagnose.php
168
+	 * @return bool <b>TRUE</b> on success or <b>FALSE</b> on failure.
169
+	 */
170
+	public function diagnose() {}
171
+
172
+	/**
173
+	 * (PHP 5, PECL tidy &gt;= 0.5.2)<br/>
174
+	 * Get release date (version) for Tidy library
175
+	 * @link https://php.net/manual/en/tidy.getrelease.php
176
+	 * @return string a string with the release date of the Tidy library.
177
+	 */
178
+	public function getRelease() {}
179
+
180
+	/**
181
+	 * (PHP 5, PECL tidy &gt;= 0.7.0)<br/>
182
+	 * Get current Tidy configuration
183
+	 * @link https://php.net/manual/en/tidy.getconfig.php
184
+	 * @return array an array of configuration options.
185
+	 * </p>
186
+	 * <p>
187
+	 * For an explanation about each option, visit http://tidy.sourceforge.net/docs/quickref.html.
188
+	 */
189
+	public function getConfig() {}
190
+
191
+	/**
192
+	 * (PHP 5, PECL tidy &gt;= 0.5.2)<br/>
193
+	 * Get status of specified document
194
+	 * @link https://php.net/manual/en/tidy.getstatus.php
195
+	 * @return int 0 if no error/warning was raised, 1 for warnings or accessibility
196
+	 * errors, or 2 for errors.
197
+	 */
198
+	public function getStatus() {}
199
+
200
+	/**
201
+	 * (PHP 5, PECL tidy &gt;= 0.5.2)<br/>
202
+	 * Get the Detected HTML version for the specified document
203
+	 * @link https://php.net/manual/en/tidy.gethtmlver.php
204
+	 * @return int the detected HTML version.
205
+	 * </p>
206
+	 * <p>
207
+	 * This function is not yet implemented in the Tidylib itself, so it always
208
+	 * return 0.
209
+	 */
210
+	public function getHtmlVer() {}
211
+
212
+	/**
213
+	 * Returns the documentation for the given option name
214
+	 * @link https://php.net/manual/en/tidy.getoptdoc.php
215
+	 * @param string $optname <p>
216
+	 * The option name
217
+	 * </p>
218
+	 * @return string a string if the option exists and has documentation available, or
219
+	 * <b>FALSE</b> otherwise.
220
+	 */
221
+	public function getOptDoc($optname) {}
222
+
223
+	/**
224
+	 * (PHP 5, PECL tidy &gt;= 0.5.2)<br/>
225
+	 * Indicates if the document is a XHTML document
226
+	 * @link https://php.net/manual/en/tidy.isxhtml.php
227
+	 * @return bool This function returns <b>TRUE</b> if the specified tidy
228
+	 * <i>object</i> is a XHTML document, or <b>FALSE</b> otherwise.
229
+	 * </p>
230
+	 * <p>
231
+	 * This function is not yet implemented in the Tidylib itself, so it always
232
+	 * return <b>FALSE</b>.
233
+	 */
234
+	public function isXhtml() {}
235
+
236
+	/**
237
+	 * (PHP 5, PECL tidy &gt;= 0.5.2)<br/>
238
+	 * Indicates if the document is a generic (non HTML/XHTML) XML document
239
+	 * @link https://php.net/manual/en/tidy.isxml.php
240
+	 * @return bool This function returns <b>TRUE</b> if the specified tidy
241
+	 * <i>object</i> is a generic XML document (non HTML/XHTML),
242
+	 * or <b>FALSE</b> otherwise.
243
+	 * </p>
244
+	 * <p>
245
+	 * This function is not yet implemented in the Tidylib itself, so it always
246
+	 * return <b>FALSE</b>.
247
+	 */
248
+	public function isXml() {}
249
+
250
+	/**
251
+	 * (PHP 5, PECL tidy 0.5.2-1.0.0)<br/>
252
+	 * Returns a <b>tidyNode</b> object representing the root of the tidy parse tree
253
+	 * @link https://php.net/manual/en/tidy.root.php
254
+	 * @return tidyNode the <b>tidyNode</b> object.
255
+	 */
256
+	public function root() {}
257
+
258
+	/**
259
+	 * (PHP 5, PECL tidy 0.5.2-1.0.0)<br/>
260
+	 * Returns a <b>tidyNode</b> object starting from the &lt;head&gt; tag of the tidy parse tree
261
+	 * @link https://php.net/manual/en/tidy.head.php
262
+	 * @return tidyNode the <b>tidyNode</b> object.
263
+	 */
264
+	public function head() {}
265
+
266
+	/**
267
+	 * (PHP 5, PECL tidy 0.5.2-1.0.0)<br/>
268
+	 * Returns a <b>tidyNode</b> object starting from the &lt;html&gt; tag of the tidy parse tree
269
+	 * @link https://php.net/manual/en/tidy.html.php
270
+	 * @return tidyNode the <b>tidyNode</b> object.
271
+	 */
272
+	public function html() {}
273
+
274
+	/**
275
+	 * (PHP 5, PECL tidy 0.5.2-1.0)<br/>
276
+	 * Returns a <b>tidyNode</b> object starting from the &lt;body&gt; tag of the tidy parse tree
277
+	 * @link https://php.net/manual/en/tidy.body.php
278
+	 * @return tidyNode a <b>tidyNode</b> object starting from the
279
+	 * &lt;body&gt; tag of the tidy parse tree.
280
+	 */
281
+	public function body() {}
282
+
283
+	/**
284
+	 * (PHP 5, PECL tidy &gt;= 0.5.2)<br/>
285
+	 * Constructs a new <b>tidy</b> object
286
+	 * @link https://php.net/manual/en/tidy.construct.php
287
+	 * @param string $filename [optional] <p>
288
+	 * If the <i>filename</i> parameter is given, this function
289
+	 * will also read that file and initialize the object with the file,
290
+	 * acting like <b>tidy_parse_file</b>.
291
+	 * </p>
292
+	 * @param mixed $config [optional] <p>
293
+	 * The config <i>config</i> can be passed either as an
294
+	 * array or as a string. If a string is passed, it is interpreted as the
295
+	 * name of the configuration file, otherwise, it is interpreted as the
296
+	 * options themselves.
297
+	 * </p>
298
+	 * <p>
299
+	 * For an explanation about each option, visit http://tidy.sourceforge.net/docs/quickref.html.
300
+	 * </p>
301
+	 * @param string|null $encoding [optional] <p>
302
+	 * The <i>encoding</i> parameter sets the encoding for
303
+	 * input/output documents. The possible values for encoding are:
304
+	 * ascii, latin0, latin1,
305
+	 * raw, utf8, iso2022,
306
+	 * mac, win1252, ibm858,
307
+	 * utf16, utf16le, utf16be,
308
+	 * big5, and shiftjis.
309
+	 * </p>
310
+	 * @param bool $use_include_path [optional] <p>
311
+	 * Search for the file in the include_path.
312
+	 * </p>
313
+	 */
314
+	public function __construct($filename = null, $config = null, $encoding = null, $use_include_path = null) {}
315 315
 }
316 316
 
317 317
 /**
@@ -320,132 +320,132 @@  discard block
 block discarded – undo
320 320
  */
321 321
 final class tidyNode
322 322
 {
323
-    /**
324
-     * <p style="margin-top:0;">The HTML representation of the node, including the surrounding tags.</p>
325
-     * @var string
326
-     */
327
-    public $value;
328
-    /**
329
-     * <p style="margin-top:0;">The name of the HTML node</p>
330
-     * @var string
331
-     */
332
-    public $name;
333
-    /**
334
-     * <p style="margin-top:0;">The type of the tag (one of the constants above, e.g. <b><code>TIDY_NODETYPE_PHP</code></b>)</p>
335
-     * @var int
336
-     */
337
-    public $type;
338
-    /**
339
-     * <p style="margin-top:0;">The line number at which the tags is located in the file</p>
340
-     * @var int
341
-     */
342
-    public $line;
343
-    /**
344
-     * <p style="margin-top:0;">The column number at which the tags is located in the file</p>
345
-     * @var int
346
-     */
347
-    public $column;
348
-    /**
349
-     * <p style="margin-top:0;">Indicates if the node is a proprietary tag</p>
350
-     * @var bool
351
-     */
352
-    public $proprietary;
353
-    /**
354
-     * <p style="margin-top:0;">The ID of the tag (one of the constants above, e.g. <b><code>TIDY_TAG_FRAME</code></b>)</p>
355
-     * @var int
356
-     */
357
-    public $id;
358
-    /**
359
-     * <p style="margin-top:0;">
360
-     * An array of string, representing
361
-     * the attributes names (as keys) of the current node.
362
-     * </p>
363
-     * @var array
364
-     */
365
-    public $attribute;
366
-    /**
367
-     * <p style="margin-top:0;">
368
-     * An array of <b>tidyNode</b>, representing
369
-     * the children of the current node.
370
-     * </p>
371
-     * @var array
372
-     */
373
-    public $child;
374
-
375
-    /**
376
-     * Checks if a node has children
377
-     * @link https://php.net/manual/en/tidynode.haschildren.php
378
-     * @return bool <b>TRUE</b> if the node has children, <b>FALSE</b> otherwise.
379
-     * @since 5.0.1
380
-     */
381
-    public function hasChildren() {}
382
-
383
-    /**
384
-     * Checks if a node has siblings
385
-     * @link https://php.net/manual/en/tidynode.hassiblings.php
386
-     * @return bool <b>TRUE</b> if the node has siblings, <b>FALSE</b> otherwise.
387
-     * @since 5.0.1
388
-     */
389
-    public function hasSiblings() {}
390
-
391
-    /**
392
-     * Checks if a node represents a comment
393
-     * @link https://php.net/manual/en/tidynode.iscomment.php
394
-     * @return bool <b>TRUE</b> if the node is a comment, <b>FALSE</b> otherwise.
395
-     * @since 5.0.1
396
-     */
397
-    public function isComment() {}
398
-
399
-    /**
400
-     * Checks if a node is part of a HTML document
401
-     * @link https://php.net/manual/en/tidynode.ishtml.php
402
-     * @return bool <b>TRUE</b> if the node is part of a HTML document, <b>FALSE</b> otherwise.
403
-     * @since 5.0.1
404
-     */
405
-    public function isHtml() {}
406
-
407
-    /**
408
-     * Checks if a node represents text (no markup)
409
-     * @link https://php.net/manual/en/tidynode.istext.php
410
-     * @return bool <b>TRUE</b> if the node represent a text, <b>FALSE</b> otherwise.
411
-     * @since 5.0.1
412
-     */
413
-    public function isText() {}
414
-
415
-    /**
416
-     * Checks if this node is JSTE
417
-     * @link https://php.net/manual/en/tidynode.isjste.php
418
-     * @return bool <b>TRUE</b> if the node is JSTE, <b>FALSE</b> otherwise.
419
-     * @since 5.0.1
420
-     */
421
-    public function isJste() {}
422
-
423
-    /**
424
-     * Checks if this node is ASP
425
-     * @link https://php.net/manual/en/tidynode.isasp.php
426
-     * @return bool <b>TRUE</b> if the node is ASP, <b>FALSE</b> otherwise.
427
-     * @since 5.0.1
428
-     */
429
-    public function isAsp() {}
430
-
431
-    /**
432
-     * Checks if a node is PHP
433
-     * @link https://php.net/manual/en/tidynode.isphp.php
434
-     * @return bool <b>TRUE</b> if the current node is PHP code, <b>FALSE</b> otherwise.
435
-     * @since 5.0.1
436
-     */
437
-    public function isPhp() {}
438
-
439
-    /**
440
-     * Returns the parent node of the current node
441
-     * @link https://php.net/manual/en/tidynode.getparent.php
442
-     * @return tidyNode a tidyNode if the node has a parent, or <b>NULL</b>
443
-     * otherwise.
444
-     * @since 5.2.2
445
-     */
446
-    public function getParent() {}
447
-
448
-    private function __construct() {}
323
+	/**
324
+	 * <p style="margin-top:0;">The HTML representation of the node, including the surrounding tags.</p>
325
+	 * @var string
326
+	 */
327
+	public $value;
328
+	/**
329
+	 * <p style="margin-top:0;">The name of the HTML node</p>
330
+	 * @var string
331
+	 */
332
+	public $name;
333
+	/**
334
+	 * <p style="margin-top:0;">The type of the tag (one of the constants above, e.g. <b><code>TIDY_NODETYPE_PHP</code></b>)</p>
335
+	 * @var int
336
+	 */
337
+	public $type;
338
+	/**
339
+	 * <p style="margin-top:0;">The line number at which the tags is located in the file</p>
340
+	 * @var int
341
+	 */
342
+	public $line;
343
+	/**
344
+	 * <p style="margin-top:0;">The column number at which the tags is located in the file</p>
345
+	 * @var int
346
+	 */
347
+	public $column;
348
+	/**
349
+	 * <p style="margin-top:0;">Indicates if the node is a proprietary tag</p>
350
+	 * @var bool
351
+	 */
352
+	public $proprietary;
353
+	/**
354
+	 * <p style="margin-top:0;">The ID of the tag (one of the constants above, e.g. <b><code>TIDY_TAG_FRAME</code></b>)</p>
355
+	 * @var int
356
+	 */
357
+	public $id;
358
+	/**
359
+	 * <p style="margin-top:0;">
360
+	 * An array of string, representing
361
+	 * the attributes names (as keys) of the current node.
362
+	 * </p>
363
+	 * @var array
364
+	 */
365
+	public $attribute;
366
+	/**
367
+	 * <p style="margin-top:0;">
368
+	 * An array of <b>tidyNode</b>, representing
369
+	 * the children of the current node.
370
+	 * </p>
371
+	 * @var array
372
+	 */
373
+	public $child;
374
+
375
+	/**
376
+	 * Checks if a node has children
377
+	 * @link https://php.net/manual/en/tidynode.haschildren.php
378
+	 * @return bool <b>TRUE</b> if the node has children, <b>FALSE</b> otherwise.
379
+	 * @since 5.0.1
380
+	 */
381
+	public function hasChildren() {}
382
+
383
+	/**
384
+	 * Checks if a node has siblings
385
+	 * @link https://php.net/manual/en/tidynode.hassiblings.php
386
+	 * @return bool <b>TRUE</b> if the node has siblings, <b>FALSE</b> otherwise.
387
+	 * @since 5.0.1
388
+	 */
389
+	public function hasSiblings() {}
390
+
391
+	/**
392
+	 * Checks if a node represents a comment
393
+	 * @link https://php.net/manual/en/tidynode.iscomment.php
394
+	 * @return bool <b>TRUE</b> if the node is a comment, <b>FALSE</b> otherwise.
395
+	 * @since 5.0.1
396
+	 */
397
+	public function isComment() {}
398
+
399
+	/**
400
+	 * Checks if a node is part of a HTML document
401
+	 * @link https://php.net/manual/en/tidynode.ishtml.php
402
+	 * @return bool <b>TRUE</b> if the node is part of a HTML document, <b>FALSE</b> otherwise.
403
+	 * @since 5.0.1
404
+	 */
405
+	public function isHtml() {}
406
+
407
+	/**
408
+	 * Checks if a node represents text (no markup)
409
+	 * @link https://php.net/manual/en/tidynode.istext.php
410
+	 * @return bool <b>TRUE</b> if the node represent a text, <b>FALSE</b> otherwise.
411
+	 * @since 5.0.1
412
+	 */
413
+	public function isText() {}
414
+
415
+	/**
416
+	 * Checks if this node is JSTE
417
+	 * @link https://php.net/manual/en/tidynode.isjste.php
418
+	 * @return bool <b>TRUE</b> if the node is JSTE, <b>FALSE</b> otherwise.
419
+	 * @since 5.0.1
420
+	 */
421
+	public function isJste() {}
422
+
423
+	/**
424
+	 * Checks if this node is ASP
425
+	 * @link https://php.net/manual/en/tidynode.isasp.php
426
+	 * @return bool <b>TRUE</b> if the node is ASP, <b>FALSE</b> otherwise.
427
+	 * @since 5.0.1
428
+	 */
429
+	public function isAsp() {}
430
+
431
+	/**
432
+	 * Checks if a node is PHP
433
+	 * @link https://php.net/manual/en/tidynode.isphp.php
434
+	 * @return bool <b>TRUE</b> if the current node is PHP code, <b>FALSE</b> otherwise.
435
+	 * @since 5.0.1
436
+	 */
437
+	public function isPhp() {}
438
+
439
+	/**
440
+	 * Returns the parent node of the current node
441
+	 * @link https://php.net/manual/en/tidynode.getparent.php
442
+	 * @return tidyNode a tidyNode if the node has a parent, or <b>NULL</b>
443
+	 * otherwise.
444
+	 * @since 5.2.2
445
+	 */
446
+	public function getParent() {}
447
+
448
+	private function __construct() {}
449 449
 }
450 450
 
451 451
 /**
Please login to merge, or discard this patch.
Braces   +2 added lines, -4 removed lines patch added patch discarded remove patch
@@ -6,8 +6,7 @@  discard block
 block discarded – undo
6 6
  * An HTML node in an HTML file, as detected by tidy.
7 7
  * @link https://php.net/manual/en/class.tidy.php
8 8
  */
9
-class tidy
10
-{
9
+class tidy {
11 10
     /**
12 11
      * @var string  The last warnings and errors from TidyLib
13 12
      */
@@ -318,8 +317,7 @@  discard block
 block discarded – undo
318 317
  * An HTML node in an HTML file, as detected by tidy.
319 318
  * @link https://php.net/manual/en/class.tidynode.php
320 319
  */
321
-final class tidyNode
322
-{
320
+final class tidyNode {
323 321
     /**
324 322
      * <p style="margin-top:0;">The HTML representation of the node, including the surrounding tags.</p>
325 323
      * @var string
Please login to merge, or discard this patch.
php-scoper/vendor/jetbrains/phpstorm-stubs/redis/RedisSentinel.php 2 patches
Indentation   +150 added lines, -150 removed lines patch added patch discarded remove patch
@@ -34,164 +34,164 @@
 block discarded – undo
34 34
  */
35 35
 class RedisSentinel
36 36
 {
37
-    /**
38
-     * Creates a Redis Sentinel
39
-     *
40
-     * @param string      $host          Sentinel IP address or hostname
41
-     * @param int         $port          Sentinel Port
42
-     * @param float       $timeout       Value in seconds (optional, default is 0 meaning unlimited)
43
-     * @param string|null $persistent    Persistent connection id (optional, default is null meaning not persistent)
44
-     * @param int         $retryInterval Value in milliseconds (optional, default is 0)
45
-     * @param float       $readTimeout   Value in seconds (optional, default is 0 meaning unlimited)
46
-     *
47
-     * @example
48
-     * // 1s timeout, 100ms delay between reconnection attempts.
49
-     * $sentinel = new RedisSentinel('127.0.0.1', 26379, 1, null, 100);
50
-     */
51
-    public function __construct(
52
-        string $host,
53
-        int $port,
54
-        float $timeout = 0,
55
-        ?string $persistent = null,
56
-        int $retryInterval = 0,
57
-        float $readTimeout = 0
58
-    ) {}
37
+	/**
38
+	 * Creates a Redis Sentinel
39
+	 *
40
+	 * @param string      $host          Sentinel IP address or hostname
41
+	 * @param int         $port          Sentinel Port
42
+	 * @param float       $timeout       Value in seconds (optional, default is 0 meaning unlimited)
43
+	 * @param string|null $persistent    Persistent connection id (optional, default is null meaning not persistent)
44
+	 * @param int         $retryInterval Value in milliseconds (optional, default is 0)
45
+	 * @param float       $readTimeout   Value in seconds (optional, default is 0 meaning unlimited)
46
+	 *
47
+	 * @example
48
+	 * // 1s timeout, 100ms delay between reconnection attempts.
49
+	 * $sentinel = new RedisSentinel('127.0.0.1', 26379, 1, null, 100);
50
+	 */
51
+	public function __construct(
52
+		string $host,
53
+		int $port,
54
+		float $timeout = 0,
55
+		?string $persistent = null,
56
+		int $retryInterval = 0,
57
+		float $readTimeout = 0
58
+	) {}
59 59
 
60
-    /**
61
-     * Check if the current Sentinel configuration is able to reach the quorum needed to failover a master, and the
62
-     * majority needed to authorize the failover. This command should be used in monitoring systems to check if a
63
-     * Sentinel deployment is ok.
64
-     *
65
-     * @param string $master Name of master
66
-     *
67
-     * @return bool True in case of success, False in case of failure.
68
-     *
69
-     * @example $sentinel->ckquorum('mymaster');
70
-     *
71
-     * @since   >= 5.2.0
72
-     */
73
-    public function ckquorum(string $master): bool {}
60
+	/**
61
+	 * Check if the current Sentinel configuration is able to reach the quorum needed to failover a master, and the
62
+	 * majority needed to authorize the failover. This command should be used in monitoring systems to check if a
63
+	 * Sentinel deployment is ok.
64
+	 *
65
+	 * @param string $master Name of master
66
+	 *
67
+	 * @return bool True in case of success, False in case of failure.
68
+	 *
69
+	 * @example $sentinel->ckquorum('mymaster');
70
+	 *
71
+	 * @since   >= 5.2.0
72
+	 */
73
+	public function ckquorum(string $master): bool {}
74 74
 
75
-    /**
76
-     * Force a failover as if the master was not reachable, and without asking for agreement to other Sentinels
77
-     * (however a new version of the configuration will be published so that the other Sentinels will update
78
-     * their configurations).
79
-     *
80
-     * @param string $master Name of master
81
-     *
82
-     * @return bool True in case of success, False in case of failure.
83
-     *
84
-     * @example $sentinel->failover('mymaster');
85
-     *
86
-     * @since   >= 5.2.0
87
-     */
88
-    public function failover(string $master): bool {}
75
+	/**
76
+	 * Force a failover as if the master was not reachable, and without asking for agreement to other Sentinels
77
+	 * (however a new version of the configuration will be published so that the other Sentinels will update
78
+	 * their configurations).
79
+	 *
80
+	 * @param string $master Name of master
81
+	 *
82
+	 * @return bool True in case of success, False in case of failure.
83
+	 *
84
+	 * @example $sentinel->failover('mymaster');
85
+	 *
86
+	 * @since   >= 5.2.0
87
+	 */
88
+	public function failover(string $master): bool {}
89 89
 
90
-    /**
91
-     * Force Sentinel to rewrite its configuration on disk, including the current Sentinel state.
92
-     *
93
-     * Normally Sentinel rewrites the configuration every time something changes in its state (in the context of the
94
-     * subset of the state which is persisted on disk across restart). However sometimes it is possible that the
95
-     * configuration file is lost because of operation errors, disk failures, package upgrade scripts or configuration
96
-     * managers. In those cases a way to to force Sentinel to rewrite the configuration file is handy.
97
-     *
98
-     * This command works even if the previous configuration file is completely missing.
99
-     *
100
-     * @return bool True in case of success, False in case of failure.
101
-     *
102
-     * @example $sentinel->flushconfig();
103
-     *
104
-     * @since   >= 5.2.0
105
-     */
106
-    public function flushconfig(): bool {}
90
+	/**
91
+	 * Force Sentinel to rewrite its configuration on disk, including the current Sentinel state.
92
+	 *
93
+	 * Normally Sentinel rewrites the configuration every time something changes in its state (in the context of the
94
+	 * subset of the state which is persisted on disk across restart). However sometimes it is possible that the
95
+	 * configuration file is lost because of operation errors, disk failures, package upgrade scripts or configuration
96
+	 * managers. In those cases a way to to force Sentinel to rewrite the configuration file is handy.
97
+	 *
98
+	 * This command works even if the previous configuration file is completely missing.
99
+	 *
100
+	 * @return bool True in case of success, False in case of failure.
101
+	 *
102
+	 * @example $sentinel->flushconfig();
103
+	 *
104
+	 * @since   >= 5.2.0
105
+	 */
106
+	public function flushconfig(): bool {}
107 107
 
108
-    /**
109
-     * Return the ip and port number of the master with that name. If a failover is in progress or terminated
110
-     * successfully for this master it returns the address and port of the promoted replica.
111
-     *
112
-     * @param string $master Name of master
113
-     *
114
-     * @return array|false ['address', 'port'] in case of success, False in case of failure.
115
-     *
116
-     * @example $sentinel->getMasterAddrByName('mymaster');
117
-     *
118
-     * @since   >= 5.2.0
119
-     */
120
-    public function getMasterAddrByName(string $master) {}
108
+	/**
109
+	 * Return the ip and port number of the master with that name. If a failover is in progress or terminated
110
+	 * successfully for this master it returns the address and port of the promoted replica.
111
+	 *
112
+	 * @param string $master Name of master
113
+	 *
114
+	 * @return array|false ['address', 'port'] in case of success, False in case of failure.
115
+	 *
116
+	 * @example $sentinel->getMasterAddrByName('mymaster');
117
+	 *
118
+	 * @since   >= 5.2.0
119
+	 */
120
+	public function getMasterAddrByName(string $master) {}
121 121
 
122
-    /**
123
-     * Return the state and info of the specified master
124
-     *
125
-     * @param string $master Name of master
126
-     *
127
-     * @return array|false Associative array with info in case of success, False in case of failure.
128
-     *
129
-     * @example $sentinel->master('mymaster');
130
-     *
131
-     * @since   >= 5.2.0
132
-     */
133
-    public function master(string $master) {}
122
+	/**
123
+	 * Return the state and info of the specified master
124
+	 *
125
+	 * @param string $master Name of master
126
+	 *
127
+	 * @return array|false Associative array with info in case of success, False in case of failure.
128
+	 *
129
+	 * @example $sentinel->master('mymaster');
130
+	 *
131
+	 * @since   >= 5.2.0
132
+	 */
133
+	public function master(string $master) {}
134 134
 
135
-    /**
136
-     * Return a list of monitored masters and their state
137
-     *
138
-     * @return array|false Array of arrays with info for each master in case of success, FALSE in case of failure.
139
-     *
140
-     * @example $sentinel->masters();
141
-     *
142
-     * @since   >= 5.2.0
143
-     */
144
-    public function masters() {}
135
+	/**
136
+	 * Return a list of monitored masters and their state
137
+	 *
138
+	 * @return array|false Array of arrays with info for each master in case of success, FALSE in case of failure.
139
+	 *
140
+	 * @example $sentinel->masters();
141
+	 *
142
+	 * @since   >= 5.2.0
143
+	 */
144
+	public function masters() {}
145 145
 
146
-    /**
147
-     * Ping the sentinel
148
-     *
149
-     * @return bool True in case of success, False in case of failure
150
-     *
151
-     * @example $sentinel->ping();
152
-     *
153
-     * @since   >= 5.2.0
154
-     */
155
-    public function ping(): bool {}
146
+	/**
147
+	 * Ping the sentinel
148
+	 *
149
+	 * @return bool True in case of success, False in case of failure
150
+	 *
151
+	 * @example $sentinel->ping();
152
+	 *
153
+	 * @since   >= 5.2.0
154
+	 */
155
+	public function ping(): bool {}
156 156
 
157
-    /**
158
-     * Reset all the masters with matching name. The pattern argument is a glob-style pattern.
159
-     * The reset process clears any previous state in a master (including a failover in progress), and removes every
160
-     * replica and sentinel already discovered and associated with the master.
161
-     *
162
-     * @param string $pattern Glob-style pattern
163
-     *
164
-     * @return bool True in case of success, False in case of failure
165
-     *
166
-     * @example $sentinel->reset('*');
167
-     *
168
-     * @since   >= 5.2.0
169
-     */
170
-    public function reset(string $pattern): bool {}
157
+	/**
158
+	 * Reset all the masters with matching name. The pattern argument is a glob-style pattern.
159
+	 * The reset process clears any previous state in a master (including a failover in progress), and removes every
160
+	 * replica and sentinel already discovered and associated with the master.
161
+	 *
162
+	 * @param string $pattern Glob-style pattern
163
+	 *
164
+	 * @return bool True in case of success, False in case of failure
165
+	 *
166
+	 * @example $sentinel->reset('*');
167
+	 *
168
+	 * @since   >= 5.2.0
169
+	 */
170
+	public function reset(string $pattern): bool {}
171 171
 
172
-    /**
173
-     * Return a list of sentinel instances for this master, and their state
174
-     *
175
-     * @param string $master Name of master
176
-     *
177
-     * @return array|false Array of arrays with info for each sentinel in case of success, False in case of failure
178
-     *
179
-     * @example $sentinel->sentinels('mymaster');
180
-     *
181
-     * @since   >= 5.2.0
182
-     */
183
-    public function sentinels(string $master) {}
172
+	/**
173
+	 * Return a list of sentinel instances for this master, and their state
174
+	 *
175
+	 * @param string $master Name of master
176
+	 *
177
+	 * @return array|false Array of arrays with info for each sentinel in case of success, False in case of failure
178
+	 *
179
+	 * @example $sentinel->sentinels('mymaster');
180
+	 *
181
+	 * @since   >= 5.2.0
182
+	 */
183
+	public function sentinels(string $master) {}
184 184
 
185
-    /**
186
-     * Return a list of sentinel instances for this master, and their state
187
-     *
188
-     * @param string $master Name of master
189
-     *
190
-     * @return array|false Array of arrays with info for each replica in case of success, False in case of failure
191
-     *
192
-     * @example $sentinel->slaves('mymaster');
193
-     *
194
-     * @since   >= 5.2.0
195
-     */
196
-    public function slaves(string $master) {}
185
+	/**
186
+	 * Return a list of sentinel instances for this master, and their state
187
+	 *
188
+	 * @param string $master Name of master
189
+	 *
190
+	 * @return array|false Array of arrays with info for each replica in case of success, False in case of failure
191
+	 *
192
+	 * @example $sentinel->slaves('mymaster');
193
+	 *
194
+	 * @since   >= 5.2.0
195
+	 */
196
+	public function slaves(string $master) {}
197 197
 }
Please login to merge, or discard this patch.
Braces   +1 added lines, -2 removed lines patch added patch discarded remove patch
@@ -32,8 +32,7 @@
 block discarded – undo
32 32
  * @author  Tawana Musewe <[email protected]>
33 33
  * @link    https://github.com/tbtmuse/phpredis-sentinel-phpdoc
34 34
  */
35
-class RedisSentinel
36
-{
35
+class RedisSentinel {
37 36
     /**
38 37
      * Creates a Redis Sentinel
39 38
      *
Please login to merge, or discard this patch.
php-scoper/vendor/jetbrains/phpstorm-stubs/redis/RedisCluster.php 2 patches
Indentation   +3555 added lines, -3555 removed lines patch added patch discarded remove patch
@@ -11,3561 +11,3561 @@
 block discarded – undo
11 11
  */
12 12
 class RedisCluster
13 13
 {
14
-    public const AFTER = 'after';
15
-    public const BEFORE = 'before';
16
-
17
-    /**
18
-     * Options
19
-     */
20
-    public const OPT_SERIALIZER = 1;
21
-    public const OPT_PREFIX = 2;
22
-    public const OPT_READ_TIMEOUT = 3;
23
-    public const OPT_SCAN = 4;
24
-    public const OPT_SLAVE_FAILOVER = 5;
25
-
26
-    /**
27
-     * Cluster options
28
-     */
29
-    public const FAILOVER_NONE = 0;
30
-    public const FAILOVER_ERROR = 1;
31
-    public const FAILOVER_DISTRIBUTE = 2;
32
-    public const FAILOVER_DISTRIBUTE_SLAVES = 3;
33
-
34
-    /**
35
-     * SCAN options
36
-     */
37
-    public const SCAN_NORETRY = 0;
38
-    public const SCAN_RETRY = 1;
39
-
40
-    /**
41
-     * @since 5.3.0
42
-     */
43
-    public const SCAN_PREFIX = 2;
44
-
45
-    /**
46
-     * @since 5.3.0
47
-     */
48
-    public const SCAN_NOPREFIX = 3;
49
-
50
-    /**
51
-     * Serializers
52
-     */
53
-    public const SERIALIZER_NONE = 0;
54
-    public const SERIALIZER_PHP = 1;
55
-    public const SERIALIZER_IGBINARY = 2;
56
-    public const SERIALIZER_MSGPACK = 3;
57
-    public const SERIALIZER_JSON = 4;
58
-
59
-    /**
60
-     * Multi
61
-     */
62
-    public const ATOMIC = 0;
63
-    public const MULTI = 1;
64
-    public const PIPELINE = 2;
65
-
66
-    /**
67
-     * Type
68
-     */
69
-    public const REDIS_NOT_FOUND = 0;
70
-    public const REDIS_STRING = 1;
71
-    public const REDIS_SET = 2;
72
-    public const REDIS_LIST = 3;
73
-    public const REDIS_ZSET = 4;
74
-    public const REDIS_HASH = 5;
75
-
76
-    /**
77
-     * Creates a Redis Cluster client
78
-     *
79
-     * @param string|null   $name
80
-     * @param array         $seeds
81
-     * @param float         $timeout
82
-     * @param float         $readTimeout
83
-     * @param bool          $persistent
84
-     * @param string|null   $auth
85
-     * @throws RedisClusterException
86
-     *
87
-     * @example
88
-     * <pre>
89
-     * // Declaring a cluster with an array of seeds
90
-     * $redisCluster = new RedisCluster(null,['127.0.0.1:6379']);
91
-     *
92
-     * // Loading a cluster configuration by name
93
-     * // In order to load a named array, one must first define the seed nodes in redis.ini.
94
-     * // The following lines would define the cluster 'mycluster', and be loaded automatically by phpredis.
95
-     *
96
-     * // # In redis.ini
97
-     * // redis.clusters.seeds = "mycluster[]=localhost:7000&test[]=localhost:7001"
98
-     * // redis.clusters.timeout = "mycluster=5"
99
-     * // redis.clusters.read_timeout = "mycluster=10"
100
-     *
101
-     * //Then, this cluster can be loaded by doing the following
102
-     *
103
-     * $redisClusterPro = new RedisCluster('mycluster');
104
-     * $redisClusterDev = new RedisCluster('test');
105
-     * </pre>
106
-     */
107
-    public function __construct($name, $seeds, $timeout = null, $readTimeout = null, $persistent = false, $auth = null) {}
108
-
109
-    /**
110
-     * Disconnects from the Redis instance, except when pconnect is used.
111
-     */
112
-    public function close() {}
113
-
114
-    /**
115
-     * Get the value related to the specified key
116
-     *
117
-     * @param   string $key
118
-     *
119
-     * @return  string|false If key didn't exist, FALSE is returned. Otherwise, the value related to this key is
120
-     *                       returned.
121
-     *
122
-     * @link    https://redis.io/commands/get
123
-     * @example
124
-     * <pre>
125
-     * $redisCluster->get('key');
126
-     * </pre>
127
-     */
128
-    public function get($key) {}
129
-
130
-    /**
131
-     * Set the string value in argument as value of the key.
132
-     *
133
-     * @since    If you're using Redis >= 2.6.12, you can pass extended options as explained in example
134
-     *
135
-     * @param   string    $key
136
-     * @param   string    $value
137
-     * @param   int|array $timeout If you pass an integer, phpredis will redirect to SETEX, and will try to use Redis
138
-     *                             >= 2.6.12 extended options if you pass an array with valid values.
139
-     *
140
-     * @return  bool TRUE if the command is successful.
141
-     *
142
-     * @link     https://redis.io/commands/set
143
-     * @example
144
-     * <pre>
145
-     * // Simple key -> value set
146
-     * $redisCluster->set('key', 'value');
147
-     *
148
-     * // Will redirect, and actually make an SETEX call
149
-     * $redisCluster->set('key','value', 10);
150
-     *
151
-     * // Will set the key, if it doesn't exist, with a ttl of 10 seconds
152
-     * $redisCluster->set('key', 'value', Array('nx', 'ex'=>10));
153
-     *
154
-     * // Will set a key, if it does exist, with a ttl of 1000 milliseconds
155
-     * $redisCluster->set('key', 'value', Array('xx', 'px'=>1000));
156
-     * </pre>
157
-     */
158
-    public function set($key, $value, $timeout = null) {}
159
-
160
-    /**
161
-     * Returns the values of all specified keys.
162
-     *
163
-     * For every key that does not hold a string value or does not exist,
164
-     * the special value false is returned. Because of this, the operation never fails.
165
-     *
166
-     * @param array $array
167
-     *
168
-     * @return array
169
-     *
170
-     * @link https://redis.io/commands/mget
171
-     * @example
172
-     * <pre>
173
-     * $redisCluster->del('x', 'y', 'z', 'h');    // remove x y z
174
-     * $redisCluster->mset(array('x' => 'a', 'y' => 'b', 'z' => 'c'));
175
-     * $redisCluster->hset('h', 'field', 'value');
176
-     * var_dump($redisCluster->mget(array('x', 'y', 'z', 'h')));
177
-     * // Output:
178
-     * // array(3) {
179
-     * // [0]=>
180
-     * // string(1) "a"
181
-     * // [1]=>
182
-     * // string(1) "b"
183
-     * // [2]=>
184
-     * // string(1) "c"
185
-     * // [3]=>
186
-     * // bool(false)
187
-     * // }
188
-     * </pre>
189
-     */
190
-    public function mget(array $array) {}
191
-
192
-    /**
193
-     * Sets multiple key-value pairs in one atomic command.
194
-     * MSETNX only returns TRUE if all the keys were set (see SETNX).
195
-     *
196
-     * @param   array $array Pairs: array(key => value, ...)
197
-     *
198
-     * @return  bool    TRUE in case of success, FALSE in case of failure.
199
-     * @link    https://redis.io/commands/mset
200
-     * @example
201
-     * <pre>
202
-     * $redisCluster->mset(array('key0' => 'value0', 'key1' => 'value1'));
203
-     * var_dump($redisCluster->get('key0'));
204
-     * var_dump($redisCluster->get('key1'));
205
-     * // Output:
206
-     * // string(6) "value0"
207
-     * // string(6) "value1"
208
-     * </pre>
209
-     */
210
-    public function mset(array $array) {}
211
-
212
-    /**
213
-     * @see     mset()
214
-     *
215
-     * @param   array $array
216
-     *
217
-     * @return  int 1 (if the keys were set) or 0 (no key was set)
218
-     * @link    https://redis.io/commands/msetnx
219
-     */
220
-    public function msetnx(array $array) {}
221
-
222
-    /**
223
-     * Remove specified keys.
224
-     *
225
-     * @param int|string|array $key1 An array of keys, or an undefined number of parameters, each a key: key1 key2 key3
226
-     *                            ... keyN
227
-     * @param int|string ...$otherKeys
228
-     *
229
-     * @return int Number of keys deleted.
230
-     * @link    https://redis.io/commands/del
231
-     * @example
232
-     * <pre>
233
-     * $redisCluster->set('key1', 'val1');
234
-     * $redisCluster->set('key2', 'val2');
235
-     * $redisCluster->set('key3', 'val3');
236
-     * $redisCluster->set('key4', 'val4');
237
-     * $redisCluster->del('key1', 'key2');          // return 2
238
-     * $redisCluster->del(array('key3', 'key4'));   // return 2
239
-     * </pre>
240
-     */
241
-    public function del($key1, ...$otherKeys) {}
242
-
243
-    /**
244
-     * Set the string value in argument as value of the key, with a time to live.
245
-     *
246
-     * @param   string $key
247
-     * @param   int    $ttl
248
-     * @param   string $value
249
-     *
250
-     * @return  bool   TRUE if the command is successful.
251
-     * @link    https://redis.io/commands/setex
252
-     * @example
253
-     * <pre>
254
-     * $redisCluster->setex('key', 3600, 'value'); // sets key → value, with 1h TTL.
255
-     * </pre>
256
-     */
257
-    public function setex($key, $ttl, $value) {}
258
-
259
-    /**
260
-     * PSETEX works exactly like SETEX with the sole difference that the expire time is specified in milliseconds
261
-     * instead of seconds.
262
-     *
263
-     * @param   string $key
264
-     * @param   int    $ttl
265
-     * @param   string $value
266
-     *
267
-     * @return  bool   TRUE if the command is successful.
268
-     * @link    https://redis.io/commands/psetex
269
-     * @example
270
-     * <pre>
271
-     * $redisCluster->psetex('key', 1000, 'value'); // sets key → value, with 1s TTL.
272
-     * </pre>
273
-     */
274
-    public function psetex($key, $ttl, $value) {}
275
-
276
-    /**
277
-     * Set the string value in argument as value of the key if the key doesn't already exist in the database.
278
-     *
279
-     * @param   string $key
280
-     * @param   string $value
281
-     *
282
-     * @return  bool   TRUE in case of success, FALSE in case of failure.
283
-     * @link    https://redis.io/commands/setnx
284
-     * @example
285
-     * <pre>
286
-     * $redisCluster->setnx('key', 'value');   // return TRUE
287
-     * $redisCluster->setnx('key', 'value');   // return FALSE
288
-     * </pre>
289
-     */
290
-    public function setnx($key, $value) {}
291
-
292
-    /**
293
-     * Sets a value and returns the previous entry at that key.
294
-     *
295
-     * @param   string $key
296
-     * @param   string $value
297
-     *
298
-     * @return  string  A string, the previous value located at this key.
299
-     * @link    https://redis.io/commands/getset
300
-     * @example
301
-     * <pre>
302
-     * $redisCluster->set('x', '42');
303
-     * $exValue = $redisCluster->getSet('x', 'lol');   // return '42', replaces x by 'lol'
304
-     * $newValue = $redisCluster->get('x');            // return 'lol'
305
-     * </pre>
306
-     */
307
-    public function getSet($key, $value) {}
308
-
309
-    /**
310
-     * Verify if the specified key exists.
311
-     *
312
-     * @param   string $key
313
-     *
314
-     * @return  bool If the key exists, return TRUE, otherwise return FALSE.
315
-     * @link    https://redis.io/commands/exists
316
-     * @example
317
-     * <pre>
318
-     * $redisCluster->set('key', 'value');
319
-     * $redisCluster->exists('key');               //  TRUE
320
-     * $redisCluster->exists('NonExistingKey');    // FALSE
321
-     * </pre>
322
-     */
323
-    public function exists($key) {}
324
-
325
-    /**
326
-     * Returns the keys that match a certain pattern.
327
-     *
328
-     * @param   string $pattern pattern, using '*' as a wildcard.
329
-     *
330
-     * @return  array   of STRING: The keys that match a certain pattern.
331
-     * @link    https://redis.io/commands/keys
332
-     * @example
333
-     * <pre>
334
-     * $allKeys = $redisCluster->keys('*');   // all keys will match this.
335
-     * $keyWithUserPrefix = $redisCluster->keys('user*');
336
-     * </pre>
337
-     */
338
-    public function keys($pattern) {}
339
-
340
-    /**
341
-     * Returns the type of data pointed by a given key.
342
-     *
343
-     * @param   string $key
344
-     *
345
-     * @return  int
346
-     *
347
-     * Depending on the type of the data pointed by the key,
348
-     * this method will return the following value:
349
-     * - string: RedisCluster::REDIS_STRING
350
-     * - set:   RedisCluster::REDIS_SET
351
-     * - list:  RedisCluster::REDIS_LIST
352
-     * - zset:  RedisCluster::REDIS_ZSET
353
-     * - hash:  RedisCluster::REDIS_HASH
354
-     * - other: RedisCluster::REDIS_NOT_FOUND
355
-     * @link    https://redis.io/commands/type
356
-     * @example $redisCluster->type('key');
357
-     */
358
-    public function type($key) {}
359
-
360
-    /**
361
-     * Returns and removes the first element of the list.
362
-     *
363
-     * @param   string $key
364
-     *
365
-     * @return  string|false if command executed successfully BOOL FALSE in case of failure (empty list)
366
-     * @link    https://redis.io/commands/lpop
367
-     * @example
368
-     * <pre>
369
-     * $redisCluster->rPush('key1', 'A');
370
-     * $redisCluster->rPush('key1', 'B');
371
-     * $redisCluster->rPush('key1', 'C');
372
-     * var_dump( $redisCluster->lRange('key1', 0, -1) );
373
-     * // Output:
374
-     * // array(3) {
375
-     * //   [0]=> string(1) "A"
376
-     * //   [1]=> string(1) "B"
377
-     * //   [2]=> string(1) "C"
378
-     * // }
379
-     * $redisCluster->lPop('key1');
380
-     * var_dump( $redisCluster->lRange('key1', 0, -1) );
381
-     * // Output:
382
-     * // array(2) {
383
-     * //   [0]=> string(1) "B"
384
-     * //   [1]=> string(1) "C"
385
-     * // }
386
-     * </pre>
387
-     */
388
-    public function lPop($key) {}
389
-
390
-    /**
391
-     * Returns and removes the last element of the list.
392
-     *
393
-     * @param   string $key
394
-     *
395
-     * @return  string|false if command executed successfully BOOL FALSE in case of failure (empty list)
396
-     * @link    https://redis.io/commands/rpop
397
-     * @example
398
-     * <pre>
399
-     * $redisCluster->rPush('key1', 'A');
400
-     * $redisCluster->rPush('key1', 'B');
401
-     * $redisCluster->rPush('key1', 'C');
402
-     * var_dump( $redisCluster->lRange('key1', 0, -1) );
403
-     * // Output:
404
-     * // array(3) {
405
-     * //   [0]=> string(1) "A"
406
-     * //   [1]=> string(1) "B"
407
-     * //   [2]=> string(1) "C"
408
-     * // }
409
-     * $redisCluster->rPop('key1');
410
-     * var_dump( $redisCluster->lRange('key1', 0, -1) );
411
-     * // Output:
412
-     * // array(2) {
413
-     * //   [0]=> string(1) "A"
414
-     * //   [1]=> string(1) "B"
415
-     * // }
416
-     * </pre>
417
-     */
418
-    public function rPop($key) {}
419
-
420
-    /**
421
-     * Set the list at index with the new value.
422
-     *
423
-     * @param string $key
424
-     * @param int    $index
425
-     * @param string $value
426
-     *
427
-     * @return bool TRUE if the new value is setted. FALSE if the index is out of range, or data type identified by key
428
-     * is not a list.
429
-     * @link    https://redis.io/commands/lset
430
-     * @example
431
-     * <pre>
432
-     * $redisCluster->rPush('key1', 'A');
433
-     * $redisCluster->rPush('key1', 'B');
434
-     * $redisCluster->rPush('key1', 'C');  // key1 => [ 'A', 'B', 'C' ]
435
-     * $redisCluster->lGet('key1', 0);     // 'A'
436
-     * $redisCluster->lSet('key1', 0, 'X');
437
-     * $redisCluster->lGet('key1', 0);     // 'X'
438
-     * </pre>
439
-     */
440
-    public function lSet($key, $index, $value) {}
441
-
442
-    /**
443
-     * Removes and returns a random element from the set value at Key.
444
-     *
445
-     * @param   string $key
446
-     *
447
-     * @return  string  "popped" value
448
-     * bool FALSE if set identified by key is empty or doesn't exist.
449
-     * @link    https://redis.io/commands/spop
450
-     * @example
451
-     * <pre>
452
-     * $redisCluster->sAdd('key1' , 'set1');
453
-     * $redisCluster->sAdd('key1' , 'set2');
454
-     * $redisCluster->sAdd('key1' , 'set3');
455
-     * var_dump($redisCluster->sMembers('key1'));// 'key1' => {'set3', 'set1', 'set2'}
456
-     * $redisCluster->sPop('key1');// 'set1'
457
-     * var_dump($redisCluster->sMembers('key1'));// 'key1' => {'set3', 'set2'}
458
-     * $redisCluster->sPop('key1');// 'set3',
459
-     * var_dump($redisCluster->sMembers('key1'));// 'key1' => {'set2'}
460
-     * </pre>
461
-     */
462
-    public function sPop($key) {}
463
-
464
-    /**
465
-     * Adds the string values to the head (left) of the list. Creates the list if the key didn't exist.
466
-     * If the key exists and is not a list, FALSE is returned.
467
-     *
468
-     * @param   string $key
469
-     * @param   string $value1 String, value to push in key
470
-     * @param   string $value2 Optional
471
-     * @param   string $valueN Optional
472
-     *
473
-     * @return  int|false    The new length of the list in case of success, FALSE in case of Failure.
474
-     * @link    https://redis.io/commands/lpush
475
-     * @example
476
-     * <pre>
477
-     * $redisCluster->lPush('l', 'v1', 'v2', 'v3', 'v4')   // int(4)
478
-     * var_dump( $redisCluster->lRange('l', 0, -1) );
479
-     * //// Output:
480
-     * // array(4) {
481
-     * //   [0]=> string(2) "v4"
482
-     * //   [1]=> string(2) "v3"
483
-     * //   [2]=> string(2) "v2"
484
-     * //   [3]=> string(2) "v1"
485
-     * // }
486
-     * </pre>
487
-     */
488
-    public function lPush($key, $value1, $value2 = null, $valueN = null) {}
489
-
490
-    /**
491
-     * Adds the string values to the tail (right) of the list. Creates the list if the key didn't exist.
492
-     * If the key exists and is not a list, FALSE is returned.
493
-     *
494
-     * @param   string $key
495
-     * @param   string $value1 String, value to push in key
496
-     * @param   string $value2 Optional
497
-     * @param   string $valueN Optional
498
-     *
499
-     * @return  int|false     The new length of the list in case of success, FALSE in case of Failure.
500
-     * @link    https://redis.io/commands/rpush
501
-     * @example
502
-     * <pre>
503
-     * $redisCluster->rPush('r', 'v1', 'v2', 'v3', 'v4');    // int(4)
504
-     * var_dump( $redisCluster->lRange('r', 0, -1) );
505
-     * //// Output:
506
-     * // array(4) {
507
-     * //   [0]=> string(2) "v1"
508
-     * //   [1]=> string(2) "v2"
509
-     * //   [2]=> string(2) "v3"
510
-     * //   [3]=> string(2) "v4"
511
-     * // }
512
-     * </pre>
513
-     */
514
-    public function rPush($key, $value1, $value2 = null, $valueN = null) {}
515
-
516
-    /**
517
-     * BLPOP is a blocking list pop primitive.
518
-     * It is the blocking version of LPOP because it blocks the connection when
519
-     * there are no elements to pop from any of the given lists.
520
-     * An element is popped from the head of the first list that is non-empty,
521
-     * with the given keys being checked in the order that they are given.
522
-     *
523
-     * @param array $keys    Array containing the keys of the lists
524
-     *                       Or STRING Key1 STRING Key2 STRING Key3 ... STRING Keyn
525
-     * @param int   $timeout Timeout
526
-     *
527
-     * @return  array array('listName', 'element')
528
-     * @link    https://redis.io/commands/blpop
529
-     * @example
530
-     * <pre>
531
-     * // Non blocking feature
532
-     * $redisCluster->lPush('key1', 'A');
533
-     * $redisCluster->del('key2');
534
-     *
535
-     * $redisCluster->blPop('key1', 'key2', 10); // array('key1', 'A')
536
-     * // OR
537
-     * $redisCluster->blPop(array('key1', 'key2'), 10); // array('key1', 'A')
538
-     *
539
-     * $redisCluster->brPop('key1', 'key2', 10); // array('key1', 'A')
540
-     * // OR
541
-     * $redisCluster->brPop(array('key1', 'key2'), 10); // array('key1', 'A')
542
-     *
543
-     * // Blocking feature
544
-     *
545
-     * // process 1
546
-     * $redisCluster->del('key1');
547
-     * $redisCluster->blPop('key1', 10);
548
-     * // blocking for 10 seconds
549
-     *
550
-     * // process 2
551
-     * $redisCluster->lPush('key1', 'A');
552
-     *
553
-     * // process 1
554
-     * // array('key1', 'A') is returned
555
-     * </pre>
556
-     */
557
-    public function blPop(array $keys, $timeout) {}
558
-
559
-    /**
560
-     * BRPOP is a blocking list pop primitive.
561
-     * It is the blocking version of RPOP because it blocks the connection when
562
-     * there are no elements to pop from any of the given lists.
563
-     * An element is popped from the tail of the first list that is non-empty,
564
-     * with the given keys being checked in the order that they are given.
565
-     * See the BLPOP documentation(https://redis.io/commands/blpop) for the exact semantics,
566
-     * since BRPOP is identical to BLPOP with the only difference being that
567
-     * it pops elements from the tail of a list instead of popping from the head.
568
-     *
569
-     * @param array $keys    Array containing the keys of the lists
570
-     *                       Or STRING Key1 STRING Key2 STRING Key3 ... STRING Keyn
571
-     * @param int   $timeout Timeout
572
-     *
573
-     * @return  array array('listName', 'element')
574
-     * @link    https://redis.io/commands/brpop
575
-     * @example
576
-     * <pre>
577
-     * // Non blocking feature
578
-     * $redisCluster->lPush('key1', 'A');
579
-     * $redisCluster->del('key2');
580
-     *
581
-     * $redisCluster->blPop('key1', 'key2', 10); // array('key1', 'A')
582
-     * // OR
583
-     * $redisCluster->blPop(array('key1', 'key2'), 10); // array('key1', 'A')
584
-     *
585
-     * $redisCluster->brPop('key1', 'key2', 10); // array('key1', 'A')
586
-     * // OR
587
-     * $redisCluster->brPop(array('key1', 'key2'), 10); // array('key1', 'A')
588
-     *
589
-     * // Blocking feature
590
-     *
591
-     * // process 1
592
-     * $redisCluster->del('key1');
593
-     * $redisCluster->blPop('key1', 10);
594
-     * // blocking for 10 seconds
595
-     *
596
-     * // process 2
597
-     * $redisCluster->lPush('key1', 'A');
598
-     *
599
-     * // process 1
600
-     * // array('key1', 'A') is returned
601
-     * </pre>
602
-     */
603
-    public function brPop(array $keys, $timeout) {}
604
-
605
-    /**
606
-     * Adds the string value to the tail (right) of the list if the ist exists. FALSE in case of Failure.
607
-     *
608
-     * @param   string $key
609
-     * @param   string $value String, value to push in key
610
-     *
611
-     * @return  int|false     The new length of the list in case of success, FALSE in case of Failure.
612
-     * @link    https://redis.io/commands/rpushx
613
-     * @example
614
-     * <pre>
615
-     * $redisCluster->del('key1');
616
-     * $redisCluster->rPushx('key1', 'A'); // returns 0
617
-     * $redisCluster->rPush('key1', 'A'); // returns 1
618
-     * $redisCluster->rPushx('key1', 'B'); // returns 2
619
-     * $redisCluster->rPushx('key1', 'C'); // returns 3
620
-     * // key1 now points to the following list: [ 'A', 'B', 'C' ]
621
-     * </pre>
622
-     */
623
-    public function rPushx($key, $value) {}
624
-
625
-    /**
626
-     * Adds the string value to the head (left) of the list if the list exists.
627
-     *
628
-     * @param   string $key
629
-     * @param   string $value String, value to push in key
630
-     *
631
-     * @return  int|false     The new length of the list in case of success, FALSE in case of Failure.
632
-     * @link    https://redis.io/commands/lpushx
633
-     * @example
634
-     * <pre>
635
-     * $redisCluster->del('key1');
636
-     * $redisCluster->lPushx('key1', 'A');     // returns 0
637
-     * $redisCluster->lPush('key1', 'A');      // returns 1
638
-     * $redisCluster->lPushx('key1', 'B');     // returns 2
639
-     * $redisCluster->lPushx('key1', 'C');     // returns 3
640
-     * // key1 now points to the following list: [ 'C', 'B', 'A' ]
641
-     * </pre>
642
-     */
643
-    public function lPushx($key, $value) {}
644
-
645
-    /**
646
-     * Insert value in the list before or after the pivot value. the parameter options
647
-     * specify the position of the insert (before or after). If the list didn't exists,
648
-     * or the pivot didn't exists, the value is not inserted.
649
-     *
650
-     * @param   string $key
651
-     * @param   int    $position RedisCluster::BEFORE | RedisCluster::AFTER
652
-     * @param   string $pivot
653
-     * @param   string $value
654
-     *
655
-     * @return  int     The number of the elements in the list, -1 if the pivot didn't exists.
656
-     * @link    https://redis.io/commands/linsert
657
-     * @example
658
-     * <pre>
659
-     * $redisCluster->del('key1');
660
-     * $redisCluster->lInsert('key1', RedisCluster::AFTER, 'A', 'X');    // 0
661
-     *
662
-     * $redisCluster->lPush('key1', 'A');
663
-     * $redisCluster->lPush('key1', 'B');
664
-     * $redisCluster->lPush('key1', 'C');
665
-     *
666
-     * $redisCluster->lInsert('key1', RedisCluster::BEFORE, 'C', 'X');   // 4
667
-     * $redisCluster->lRange('key1', 0, -1);                      // array('X', 'C', 'B', 'A')
668
-     *
669
-     * $redisCluster->lInsert('key1', RedisCluster::AFTER, 'C', 'Y');    // 5
670
-     * $redisCluster->lRange('key1', 0, -1);                      // array('X', 'C', 'Y', 'B', 'A')
671
-     *
672
-     * $redisCluster->lInsert('key1', RedisCluster::AFTER, 'W', 'value'); // -1
673
-     * </pre>
674
-     */
675
-    public function lInsert($key, $position, $pivot, $value) {}
676
-
677
-    /**
678
-     * Return the specified element of the list stored at the specified key.
679
-     * 0 the first element, 1 the second ... -1 the last element, -2 the penultimate ...
680
-     * Return FALSE in case of a bad index or a key that doesn't point to a list.
681
-     *
682
-     * @param string $key
683
-     * @param int    $index
684
-     *
685
-     * @return string|false the element at this index
686
-     * Bool FALSE if the key identifies a non-string data type, or no value corresponds to this index in the list Key.
687
-     * @link    https://redis.io/commands/lindex
688
-     * @example
689
-     * <pre>
690
-     * $redisCluster->rPush('key1', 'A');
691
-     * $redisCluster->rPush('key1', 'B');
692
-     * $redisCluster->rPush('key1', 'C');  // key1 => [ 'A', 'B', 'C' ]
693
-     * $redisCluster->lGet('key1', 0);     // 'A'
694
-     * $redisCluster->lGet('key1', -1);    // 'C'
695
-     * $redisCluster->lGet('key1', 10);    // `FALSE`
696
-     * </pre>
697
-     */
698
-    public function lIndex($key, $index) {}
699
-
700
-    /**
701
-     * Removes the first count occurrences of the value element from the list.
702
-     * If count is zero, all the matching elements are removed. If count is negative,
703
-     * elements are removed from tail to head.
704
-     *
705
-     * @param   string $key
706
-     * @param   string $value
707
-     * @param   int    $count
708
-     *
709
-     * @return  int     the number of elements to remove
710
-     * bool FALSE if the value identified by key is not a list.
711
-     * @link    https://redis.io/commands/lrem
712
-     * @example
713
-     * <pre>
714
-     * $redisCluster->lPush('key1', 'A');
715
-     * $redisCluster->lPush('key1', 'B');
716
-     * $redisCluster->lPush('key1', 'C');
717
-     * $redisCluster->lPush('key1', 'A');
718
-     * $redisCluster->lPush('key1', 'A');
719
-     *
720
-     * $redisCluster->lRange('key1', 0, -1);   // array('A', 'A', 'C', 'B', 'A')
721
-     * $redisCluster->lRem('key1', 'A', 2);    // 2
722
-     * $redisCluster->lRange('key1', 0, -1);   // array('C', 'B', 'A')
723
-     * </pre>
724
-     */
725
-    public function lRem($key, $value, $count) {}
726
-
727
-    /**
728
-     * A blocking version of rpoplpush, with an integral timeout in the third parameter.
729
-     *
730
-     * @param   string $srcKey
731
-     * @param   string $dstKey
732
-     * @param   int    $timeout
733
-     *
734
-     * @return  string|false  The element that was moved in case of success, FALSE in case of timeout.
735
-     * @link    https://redis.io/commands/brpoplpush
736
-     */
737
-    public function brpoplpush($srcKey, $dstKey, $timeout) {}
738
-
739
-    /**
740
-     * Pops a value from the tail of a list, and pushes it to the front of another list.
741
-     * Also return this value.
742
-     *
743
-     * @since   redis >= 1.2
744
-     *
745
-     * @param   string $srcKey
746
-     * @param   string $dstKey
747
-     *
748
-     * @return  string|false  The element that was moved in case of success, FALSE in case of failure.
749
-     * @link    https://redis.io/commands/rpoplpush
750
-     * @example
751
-     * <pre>
752
-     * $redisCluster->del('x', 'y');
753
-     *
754
-     * $redisCluster->lPush('x', 'abc');
755
-     * $redisCluster->lPush('x', 'def');
756
-     * $redisCluster->lPush('y', '123');
757
-     * $redisCluster->lPush('y', '456');
758
-     *
759
-     * // move the last of x to the front of y.
760
-     * var_dump($redisCluster->rpoplpush('x', 'y'));
761
-     * var_dump($redisCluster->lRange('x', 0, -1));
762
-     * var_dump($redisCluster->lRange('y', 0, -1));
763
-     *
764
-     * ////Output:
765
-     * //
766
-     * //string(3) "abc"
767
-     * //array(1) {
768
-     * //  [0]=>
769
-     * //  string(3) "def"
770
-     * //}
771
-     * //array(3) {
772
-     * //  [0]=>
773
-     * //  string(3) "abc"
774
-     * //  [1]=>
775
-     * //  string(3) "456"
776
-     * //  [2]=>
777
-     * //  string(3) "123"
778
-     * //}
779
-     * </pre>
780
-     */
781
-    public function rpoplpush($srcKey, $dstKey) {}
782
-
783
-    /**
784
-     * Returns the size of a list identified by Key. If the list didn't exist or is empty,
785
-     * the command returns 0. If the data type identified by Key is not a list, the command return FALSE.
786
-     *
787
-     * @param   string $key
788
-     *
789
-     * @return  int     The size of the list identified by Key exists.
790
-     * bool FALSE if the data type identified by Key is not list
791
-     * @link    https://redis.io/commands/llen
792
-     * @example
793
-     * <pre>
794
-     * $redisCluster->rPush('key1', 'A');
795
-     * $redisCluster->rPush('key1', 'B');
796
-     * $redisCluster->rPush('key1', 'C');  // key1 => [ 'A', 'B', 'C' ]
797
-     * $redisCluster->lLen('key1');       // 3
798
-     * $redisCluster->rPop('key1');
799
-     * $redisCluster->lLen('key1');       // 2
800
-     * </pre>
801
-     */
802
-    public function lLen($key) {}
803
-
804
-    /**
805
-     * Returns the set cardinality (number of elements) of the set stored at key.
806
-     *
807
-     * @param   string $key
808
-     *
809
-     * @return  int   the cardinality (number of elements) of the set, or 0 if key does not exist.
810
-     * @link    https://redis.io/commands/scard
811
-     * @example
812
-     * <pre>
813
-     * $redisCluster->sAdd('key1' , 'set1');
814
-     * $redisCluster->sAdd('key1' , 'set2');
815
-     * $redisCluster->sAdd('key1' , 'set3');   // 'key1' => {'set1', 'set2', 'set3'}
816
-     * $redisCluster->sCard('key1');           // 3
817
-     * $redisCluster->sCard('keyX');           // 0
818
-     * </pre>
819
-     */
820
-    public function sCard($key) {}
821
-
822
-    /**
823
-     * Returns all the members of the set value stored at key.
824
-     * This has the same effect as running SINTER with one argument key.
825
-     *
826
-     * @param   string $key
827
-     *
828
-     * @return  array   All elements of the set.
829
-     * @link    https://redis.io/commands/smembers
830
-     * @example
831
-     * <pre>
832
-     * $redisCluster->del('s');
833
-     * $redisCluster->sAdd('s', 'a');
834
-     * $redisCluster->sAdd('s', 'b');
835
-     * $redisCluster->sAdd('s', 'a');
836
-     * $redisCluster->sAdd('s', 'c');
837
-     * var_dump($redisCluster->sMembers('s'));
838
-     *
839
-     * ////Output:
840
-     * //
841
-     * //array(3) {
842
-     * //  [0]=>
843
-     * //  string(1) "b"
844
-     * //  [1]=>
845
-     * //  string(1) "c"
846
-     * //  [2]=>
847
-     * //  string(1) "a"
848
-     * //}
849
-     * // The order is random and corresponds to redis' own internal representation of the set structure.
850
-     * </pre>
851
-     */
852
-    public function sMembers($key) {}
853
-
854
-    /**
855
-     * Returns if member is a member of the set stored at key.
856
-     *
857
-     * @param   string $key
858
-     * @param   string $value
859
-     *
860
-     * @return  bool    TRUE if value is a member of the set at key key, FALSE otherwise.
861
-     * @link    https://redis.io/commands/sismember
862
-     * @example
863
-     * <pre>
864
-     * $redisCluster->sAdd('key1' , 'set1');
865
-     * $redisCluster->sAdd('key1' , 'set2');
866
-     * $redisCluster->sAdd('key1' , 'set3'); // 'key1' => {'set1', 'set2', 'set3'}
867
-     *
868
-     * $redisCluster->sIsMember('key1', 'set1'); // TRUE
869
-     * $redisCluster->sIsMember('key1', 'setX'); // FALSE
870
-     * </pre>
871
-     */
872
-    public function sIsMember($key, $value) {}
873
-
874
-    /**
875
-     * Adds a values to the set value stored at key.
876
-     * If this value is already in the set, FALSE is returned.
877
-     *
878
-     * @param   string $key    Required key
879
-     * @param   string $value1 Required value
880
-     * @param   string $value2 Optional value
881
-     * @param   string $valueN Optional value
882
-     *
883
-     * @return  int|false     The number of elements added to the set
884
-     * @link    https://redis.io/commands/sadd
885
-     * @example
886
-     * <pre>
887
-     * $redisCluster->sAdd('k', 'v1');                // int(1)
888
-     * $redisCluster->sAdd('k', 'v1', 'v2', 'v3');    // int(2)
889
-     * </pre>
890
-     */
891
-    public function sAdd($key, $value1, $value2 = null, $valueN = null) {}
892
-
893
-    /**
894
-     * Adds a values to the set value stored at key.
895
-     * If this value is already in the set, FALSE is returned.
896
-     *
897
-     * @param   string $key Required key
898
-     * @param   array  $valueArray
899
-     *
900
-     * @return  int|false     The number of elements added to the set
901
-     * @example
902
-     * <pre>
903
-     * $redisCluster->sAddArray('k', ['v1', 'v2', 'v3']);
904
-     * //This is a feature in php only. Same as $redisCluster->sAdd('k', 'v1', 'v2', 'v3');
905
-     * </pre>
906
-     */
907
-    public function sAddArray($key, array $valueArray) {}
908
-
909
-    /**
910
-     * Removes the specified members from the set value stored at key.
911
-     *
912
-     * @param   string $key
913
-     * @param   string $member1
914
-     * @param   string $member2
915
-     * @param   string $memberN
916
-     *
917
-     * @return  int     The number of elements removed from the set.
918
-     * @link    https://redis.io/commands/srem
919
-     * @example
920
-     * <pre>
921
-     * var_dump( $redisCluster->sAdd('k', 'v1', 'v2', 'v3') );    // int(3)
922
-     * var_dump( $redisCluster->sRem('k', 'v2', 'v3') );          // int(2)
923
-     * var_dump( $redisCluster->sMembers('k') );
924
-     * //// Output:
925
-     * // array(1) {
926
-     * //   [0]=> string(2) "v1"
927
-     * // }
928
-     * </pre>
929
-     */
930
-    public function sRem($key, $member1, $member2 = null, $memberN = null) {}
931
-
932
-    /**
933
-     * Performs the union between N sets and returns it.
934
-     *
935
-     * @param   string $key1 Any number of keys corresponding to sets in redis.
936
-     * @param   string $key2 ...
937
-     * @param   string $keyN ...
938
-     *
939
-     * @return  array   of strings: The union of all these sets.
940
-     * @link    https://redis.io/commands/sunionstore
941
-     * @example
942
-     * <pre>
943
-     * $redisCluster->del('s0', 's1', 's2');
944
-     *
945
-     * $redisCluster->sAdd('s0', '1');
946
-     * $redisCluster->sAdd('s0', '2');
947
-     * $redisCluster->sAdd('s1', '3');
948
-     * $redisCluster->sAdd('s1', '1');
949
-     * $redisCluster->sAdd('s2', '3');
950
-     * $redisCluster->sAdd('s2', '4');
951
-     *
952
-     * var_dump($redisCluster->sUnion('s0', 's1', 's2'));
953
-     *
954
-     * //// Output:
955
-     * //
956
-     * //array(4) {
957
-     * //  [0]=>
958
-     * //  string(1) "3"
959
-     * //  [1]=>
960
-     * //  string(1) "4"
961
-     * //  [2]=>
962
-     * //  string(1) "1"
963
-     * //  [3]=>
964
-     * //  string(1) "2"
965
-     * //}
966
-     * </pre>
967
-     */
968
-    public function sUnion($key1, $key2, $keyN = null) {}
969
-
970
-    /**
971
-     * Performs the same action as sUnion, but stores the result in the first key
972
-     *
973
-     * @param   string $dstKey the key to store the diff into.
974
-     * @param   string $key1   Any number of keys corresponding to sets in redis.
975
-     * @param   string $key2   ...
976
-     * @param   string $keyN   ...
977
-     *
978
-     * @return  int     Any number of keys corresponding to sets in redis.
979
-     * @link    https://redis.io/commands/sunionstore
980
-     * @example
981
-     * <pre>
982
-     * $redisCluster->del('s0', 's1', 's2');
983
-     *
984
-     * $redisCluster->sAdd('s0', '1');
985
-     * $redisCluster->sAdd('s0', '2');
986
-     * $redisCluster->sAdd('s1', '3');
987
-     * $redisCluster->sAdd('s1', '1');
988
-     * $redisCluster->sAdd('s2', '3');
989
-     * $redisCluster->sAdd('s2', '4');
990
-     *
991
-     * var_dump($redisCluster->sUnionStore('dst', 's0', 's1', 's2'));
992
-     * var_dump($redisCluster->sMembers('dst'));
993
-     *
994
-     * //// Output:
995
-     * //
996
-     * //int(4)
997
-     * //array(4) {
998
-     * //  [0]=>
999
-     * //  string(1) "3"
1000
-     * //  [1]=>
1001
-     * //  string(1) "4"
1002
-     * //  [2]=>
1003
-     * //  string(1) "1"
1004
-     * //  [3]=>
1005
-     * //  string(1) "2"
1006
-     * //}
1007
-     * </pre>
1008
-     */
1009
-    public function sUnionStore($dstKey, $key1, $key2, $keyN = null) {}
1010
-
1011
-    /**
1012
-     * Returns the members of a set resulting from the intersection of all the sets
1013
-     * held at the specified keys. If just a single key is specified, then this command
1014
-     * produces the members of this set. If one of the keys is missing, FALSE is returned.
1015
-     *
1016
-     * @param   string $key1 keys identifying the different sets on which we will apply the intersection.
1017
-     * @param   string $key2 ...
1018
-     * @param   string $keyN ...
1019
-     *
1020
-     * @return  array contain the result of the intersection between those keys.
1021
-     * If the intersection between the different sets is empty, the return value will be empty array.
1022
-     * @link    https://redis.io/commands/sinterstore
1023
-     * @example
1024
-     * <pre>
1025
-     * $redisCluster->sAdd('key1', 'val1');
1026
-     * $redisCluster->sAdd('key1', 'val2');
1027
-     * $redisCluster->sAdd('key1', 'val3');
1028
-     * $redisCluster->sAdd('key1', 'val4');
1029
-     *
1030
-     * $redisCluster->sAdd('key2', 'val3');
1031
-     * $redisCluster->sAdd('key2', 'val4');
1032
-     *
1033
-     * $redisCluster->sAdd('key3', 'val3');
1034
-     * $redisCluster->sAdd('key3', 'val4');
1035
-     *
1036
-     * var_dump($redisCluster->sInter('key1', 'key2', 'key3'));
1037
-     *
1038
-     * // Output:
1039
-     * //
1040
-     * //array(2) {
1041
-     * //  [0]=>
1042
-     * //  string(4) "val4"
1043
-     * //  [1]=>
1044
-     * //  string(4) "val3"
1045
-     * //}
1046
-     * </pre>
1047
-     */
1048
-    public function sInter($key1, $key2, $keyN = null) {}
1049
-
1050
-    /**
1051
-     * Performs a sInter command and stores the result in a new set.
1052
-     *
1053
-     * @param   string $dstKey the key to store the diff into.
1054
-     * @param   string $key1   are intersected as in sInter.
1055
-     * @param   string $key2   ...
1056
-     * @param   string $keyN   ...
1057
-     *
1058
-     * @return  int|false    The cardinality of the resulting set, or FALSE in case of a missing key.
1059
-     * @link    https://redis.io/commands/sinterstore
1060
-     * @example
1061
-     * <pre>
1062
-     * $redisCluster->sAdd('key1', 'val1');
1063
-     * $redisCluster->sAdd('key1', 'val2');
1064
-     * $redisCluster->sAdd('key1', 'val3');
1065
-     * $redisCluster->sAdd('key1', 'val4');
1066
-     *
1067
-     * $redisCluster->sAdd('key2', 'val3');
1068
-     * $redisCluster->sAdd('key2', 'val4');
1069
-     *
1070
-     * $redisCluster->sAdd('key3', 'val3');
1071
-     * $redisCluster->sAdd('key3', 'val4');
1072
-     *
1073
-     * var_dump($redisCluster->sInterStore('output', 'key1', 'key2', 'key3'));
1074
-     * var_dump($redisCluster->sMembers('output'));
1075
-     *
1076
-     * //// Output:
1077
-     * //
1078
-     * //int(2)
1079
-     * //array(2) {
1080
-     * //  [0]=>
1081
-     * //  string(4) "val4"
1082
-     * //  [1]=>
1083
-     * //  string(4) "val3"
1084
-     * //}
1085
-     * </pre>
1086
-     */
1087
-    public function sInterStore($dstKey, $key1, $key2, $keyN = null) {}
1088
-
1089
-    /**
1090
-     * Performs the difference between N sets and returns it.
1091
-     *
1092
-     * @param   string $key1 Any number of keys corresponding to sets in redis.
1093
-     * @param   string $key2 ...
1094
-     * @param   string $keyN ...
1095
-     *
1096
-     * @return  array   of strings: The difference of the first set will all the others.
1097
-     * @link    https://redis.io/commands/sdiff
1098
-     * @example
1099
-     * <pre>
1100
-     * $redisCluster->del('s0', 's1', 's2');
1101
-     *
1102
-     * $redisCluster->sAdd('s0', '1');
1103
-     * $redisCluster->sAdd('s0', '2');
1104
-     * $redisCluster->sAdd('s0', '3');
1105
-     * $redisCluster->sAdd('s0', '4');
1106
-     *
1107
-     * $redisCluster->sAdd('s1', '1');
1108
-     * $redisCluster->sAdd('s2', '3');
1109
-     *
1110
-     * var_dump($redisCluster->sDiff('s0', 's1', 's2'));
1111
-     *
1112
-     * //// Output:
1113
-     * //
1114
-     * //array(2) {
1115
-     * //  [0]=>
1116
-     * //  string(1) "4"
1117
-     * //  [1]=>
1118
-     * //  string(1) "2"
1119
-     * //}
1120
-     * </pre>
1121
-     */
1122
-    public function sDiff($key1, $key2, $keyN = null) {}
1123
-
1124
-    /**
1125
-     * Performs the same action as sDiff, but stores the result in the first key
1126
-     *
1127
-     * @param   string $dstKey the key to store the diff into.
1128
-     * @param   string $key1   Any number of keys corresponding to sets in redis
1129
-     * @param   string $key2   ...
1130
-     * @param   string $keyN   ...
1131
-     *
1132
-     * @return  int|false    The cardinality of the resulting set, or FALSE in case of a missing key.
1133
-     * @link    https://redis.io/commands/sdiffstore
1134
-     * @example
1135
-     * <pre>
1136
-     * $redisCluster->del('s0', 's1', 's2');
1137
-     *
1138
-     * $redisCluster->sAdd('s0', '1');
1139
-     * $redisCluster->sAdd('s0', '2');
1140
-     * $redisCluster->sAdd('s0', '3');
1141
-     * $redisCluster->sAdd('s0', '4');
1142
-     *
1143
-     * $redisCluster->sAdd('s1', '1');
1144
-     * $redisCluster->sAdd('s2', '3');
1145
-     *
1146
-     * var_dump($redisCluster->sDiffStore('dst', 's0', 's1', 's2'));
1147
-     * var_dump($redisCluster->sMembers('dst'));
1148
-     *
1149
-     * //// Output:
1150
-     * //
1151
-     * //int(2)
1152
-     * //array(2) {
1153
-     * //  [0]=>
1154
-     * //  string(1) "4"
1155
-     * //  [1]=>
1156
-     * //  string(1) "2"
1157
-     * //}
1158
-     * </pre>
1159
-     */
1160
-    public function sDiffStore($dstKey, $key1, $key2, $keyN = null) {}
1161
-
1162
-    /**
1163
-     * Returns a random element(s) from the set value at Key, without removing it.
1164
-     *
1165
-     * @param   string $key
1166
-     * @param   int    $count [optional]
1167
-     *
1168
-     * @return  string|array  value(s) from the set
1169
-     * bool FALSE if set identified by key is empty or doesn't exist and count argument isn't passed.
1170
-     * @link    https://redis.io/commands/srandmember
1171
-     * @example
1172
-     * <pre>
1173
-     * $redisCluster->sAdd('key1' , 'one');
1174
-     * $redisCluster->sAdd('key1' , 'two');
1175
-     * $redisCluster->sAdd('key1' , 'three');              // 'key1' => {'one', 'two', 'three'}
1176
-     *
1177
-     * var_dump( $redisCluster->sRandMember('key1') );     // 'key1' => {'one', 'two', 'three'}
1178
-     *
1179
-     * // string(5) "three"
1180
-     *
1181
-     * var_dump( $redisCluster->sRandMember('key1', 2) );  // 'key1' => {'one', 'two', 'three'}
1182
-     *
1183
-     * // array(2) {
1184
-     * //   [0]=> string(2) "one"
1185
-     * //   [1]=> string(2) "three"
1186
-     * // }
1187
-     * </pre>
1188
-     */
1189
-    public function sRandMember($key, $count = null) {}
1190
-
1191
-    /**
1192
-     * Get the length of a string value.
1193
-     *
1194
-     * @param   string $key
1195
-     *
1196
-     * @return  int
1197
-     * @link    https://redis.io/commands/strlen
1198
-     * @example
1199
-     * <pre>
1200
-     * $redisCluster->set('key', 'value');
1201
-     * $redisCluster->strlen('key'); // 5
1202
-     * </pre>
1203
-     */
1204
-    public function strlen($key) {}
1205
-
1206
-    /**
1207
-     * Remove the expiration timer from a key.
1208
-     *
1209
-     * @param   string $key
1210
-     *
1211
-     * @return  bool   TRUE if a timeout was removed, FALSE if the key didn’t exist or didn’t have an expiration timer.
1212
-     * @link    https://redis.io/commands/persist
1213
-     * @example $redisCluster->persist('key');
1214
-     */
1215
-    public function persist($key) {}
1216
-
1217
-    /**
1218
-     * Returns the remaining time to live of a key that has a timeout.
1219
-     * This introspection capability allows a Redis client to check how many seconds a given key will continue to be
1220
-     * part of the dataset. In Redis 2.6 or older the command returns -1 if the key does not exist or if the key exist
1221
-     * but has no associated expire. Starting with Redis 2.8 the return value in case of error changed: Returns -2 if
1222
-     * the key does not exist. Returns -1 if the key exists but has no associated expire.
1223
-     *
1224
-     * @param   string $key
1225
-     *
1226
-     * @return  int    the time left to live in seconds.
1227
-     * @link    https://redis.io/commands/ttl
1228
-     * @example $redisCluster->ttl('key');
1229
-     */
1230
-    public function ttl($key) {}
1231
-
1232
-    /**
1233
-     * Returns the remaining time to live of a key that has an expire set,
1234
-     * with the sole difference that TTL returns the amount of remaining time in seconds while PTTL returns it in
1235
-     * milliseconds. In Redis 2.6 or older the command returns -1 if the key does not exist or if the key exist but has
1236
-     * no associated expire. Starting with Redis 2.8 the return value in case of error changed: Returns -2 if the key
1237
-     * does not exist. Returns -1 if the key exists but has no associated expire.
1238
-     *
1239
-     * @param   string $key
1240
-     *
1241
-     * @return  int     the time left to live in milliseconds.
1242
-     * @link    https://redis.io/commands/pttl
1243
-     * @example $redisCluster->pttl('key');
1244
-     */
1245
-    public function pttl($key) {}
1246
-
1247
-    /**
1248
-     * Returns the cardinality of an ordered set.
1249
-     *
1250
-     * @param   string $key
1251
-     *
1252
-     * @return  int     the set's cardinality
1253
-     * @link    https://redis.io/commands/zsize
1254
-     * @example
1255
-     * <pre>
1256
-     * $redisCluster->zAdd('key', 0, 'val0');
1257
-     * $redisCluster->zAdd('key', 2, 'val2');
1258
-     * $redisCluster->zAdd('key', 10, 'val10');
1259
-     * $redisCluster->zCard('key');            // 3
1260
-     * </pre>
1261
-     */
1262
-    public function zCard($key) {}
1263
-
1264
-    /**
1265
-     * Returns the number of elements of the sorted set stored at the specified key which have
1266
-     * scores in the range [start,end]. Adding a parenthesis before start or end excludes it
1267
-     * from the range. +inf and -inf are also valid limits.
1268
-     *
1269
-     * @param   string $key
1270
-     * @param   string $start
1271
-     * @param   string $end
1272
-     *
1273
-     * @return  int     the size of a corresponding zRangeByScore.
1274
-     * @link    https://redis.io/commands/zcount
1275
-     * @example
1276
-     * <pre>
1277
-     * $redisCluster->zAdd('key', 0, 'val0');
1278
-     * $redisCluster->zAdd('key', 2, 'val2');
1279
-     * $redisCluster->zAdd('key', 10, 'val10');
1280
-     * $redisCluster->zCount('key', 0, 3); // 2, corresponding to array('val0', 'val2')
1281
-     * </pre>
1282
-     */
1283
-    public function zCount($key, $start, $end) {}
1284
-
1285
-    /**
1286
-     * Deletes the elements of the sorted set stored at the specified key which have scores in the range [start,end].
1287
-     *
1288
-     * @param   string $key
1289
-     * @param   string $start double or "+inf" or "-inf" as a string
1290
-     * @param   string $end double or "+inf" or "-inf" as a string
1291
-     *
1292
-     * @return  int             The number of values deleted from the sorted set
1293
-     * @link    https://redis.io/commands/zremrangebyscore
1294
-     * @example
1295
-     * <pre>
1296
-     * $redisCluster->zAdd('key', 0, 'val0');
1297
-     * $redisCluster->zAdd('key', 2, 'val2');
1298
-     * $redisCluster->zAdd('key', 10, 'val10');
1299
-     * $redisCluster->zRemRangeByScore('key', '0', '3'); // 2
1300
-     * </pre>
1301
-     */
1302
-    public function zRemRangeByScore($key, $start, $end) {}
1303
-
1304
-    /**
1305
-     * Returns the score of a given member in the specified sorted set.
1306
-     *
1307
-     * @param   string $key
1308
-     * @param   string $member
1309
-     *
1310
-     * @return  float
1311
-     * @link    https://redis.io/commands/zscore
1312
-     * @example
1313
-     * <pre>
1314
-     * $redisCluster->zAdd('key', 2.5, 'val2');
1315
-     * $redisCluster->zScore('key', 'val2'); // 2.5
1316
-     * </pre>
1317
-     */
1318
-    public function zScore($key, $member) {}
1319
-
1320
-    /**
1321
-     * Adds the specified member with a given score to the sorted set stored at key.
1322
-     *
1323
-     * @param   string $key    Required key
1324
-     * @param   float  $score1 Required score
1325
-     * @param   string $value1 Required value
1326
-     * @param   float  $score2 Optional score
1327
-     * @param   string $value2 Optional value
1328
-     * @param   float  $scoreN Optional score
1329
-     * @param   string $valueN Optional value
1330
-     *
1331
-     * @return  int     Number of values added
1332
-     * @link    https://redis.io/commands/zadd
1333
-     * @example
1334
-     * <pre>
1335
-     * $redisCluster->zAdd('z', 1, 'v2', 2, 'v2', 3, 'v3', 4, 'v4' );  // int(3)
1336
-     * $redisCluster->zRem('z', 'v2', 'v3');                           // int(2)
1337
-     * var_dump( $redisCluster->zRange('z', 0, -1) );
1338
-     *
1339
-     * //// Output:
1340
-     * // array(1) {
1341
-     * //   [0]=> string(2) "v4"
1342
-     * // }
1343
-     * </pre>
1344
-     */
1345
-    public function zAdd($key, $score1, $value1, $score2 = null, $value2 = null, $scoreN = null, $valueN = null) {}
1346
-
1347
-    /**
1348
-     * Increments the score of a member from a sorted set by a given amount.
1349
-     *
1350
-     * @param   string $key
1351
-     * @param   float  $value (double) value that will be added to the member's score
1352
-     * @param   string $member
1353
-     *
1354
-     * @return  float   the new value
1355
-     * @link    https://redis.io/commands/zincrby
1356
-     * @example
1357
-     * <pre>
1358
-     * $redisCluster->del('key');
1359
-     * $redisCluster->zIncrBy('key', 2.5, 'member1');// key or member1 didn't exist, so member1's score is to 0 ;
1360
-     *                                              //before the increment and now has the value 2.5
1361
-     * $redisCluster->zIncrBy('key', 1, 'member1');    // 3.5
1362
-     * </pre>
1363
-     */
1364
-    public function zIncrBy($key, $value, $member) {}
1365
-
1366
-    /**
1367
-     * Returns the length of a hash, in number of items
1368
-     *
1369
-     * @param   string $key
1370
-     *
1371
-     * @return  int|false     the number of items in a hash, FALSE if the key doesn't exist or isn't a hash.
1372
-     * @link    https://redis.io/commands/hlen
1373
-     * @example
1374
-     * <pre>
1375
-     * $redisCluster->del('h');
1376
-     * $redisCluster->hSet('h', 'key1', 'hello');
1377
-     * $redisCluster->hSet('h', 'key2', 'plop');
1378
-     * $redisCluster->hLen('h'); // returns 2
1379
-     * </pre>
1380
-     */
1381
-    public function hLen($key) {}
1382
-
1383
-    /**
1384
-     * Returns the keys in a hash, as an array of strings.
1385
-     *
1386
-     * @param   string $key
1387
-     *
1388
-     * @return  array   An array of elements, the keys of the hash. This works like PHP's array_keys().
1389
-     * @link    https://redis.io/commands/hkeys
1390
-     * @example
1391
-     * <pre>
1392
-     * $redisCluster->del('h');
1393
-     * $redisCluster->hSet('h', 'a', 'x');
1394
-     * $redisCluster->hSet('h', 'b', 'y');
1395
-     * $redisCluster->hSet('h', 'c', 'z');
1396
-     * $redisCluster->hSet('h', 'd', 't');
1397
-     * var_dump($redisCluster->hKeys('h'));
1398
-     *
1399
-     * //// Output:
1400
-     * //
1401
-     * // array(4) {
1402
-     * // [0]=>
1403
-     * // string(1) "a"
1404
-     * // [1]=>
1405
-     * // string(1) "b"
1406
-     * // [2]=>
1407
-     * // string(1) "c"
1408
-     * // [3]=>
1409
-     * // string(1) "d"
1410
-     * // }
1411
-     * // The order is random and corresponds to redis' own internal representation of the set structure.
1412
-     * </pre>
1413
-     */
1414
-    public function hKeys($key) {}
1415
-
1416
-    /**
1417
-     * Returns the values in a hash, as an array of strings.
1418
-     *
1419
-     * @param   string $key
1420
-     *
1421
-     * @return  array   An array of elements, the values of the hash. This works like PHP's array_values().
1422
-     * @link    https://redis.io/commands/hvals
1423
-     * @example
1424
-     * <pre>
1425
-     * $redisCluster->del('h');
1426
-     * $redisCluster->hSet('h', 'a', 'x');
1427
-     * $redisCluster->hSet('h', 'b', 'y');
1428
-     * $redisCluster->hSet('h', 'c', 'z');
1429
-     * $redisCluster->hSet('h', 'd', 't');
1430
-     * var_dump($redisCluster->hVals('h'));
1431
-     *
1432
-     * //// Output:
1433
-     * //
1434
-     * // array(4) {
1435
-     * //   [0]=>
1436
-     * //   string(1) "x"
1437
-     * //   [1]=>
1438
-     * //   string(1) "y"
1439
-     * //   [2]=>
1440
-     * //   string(1) "z"
1441
-     * //   [3]=>
1442
-     * //   string(1) "t"
1443
-     * // }
1444
-     * // The order is random and corresponds to redis' own internal representation of the set structure.
1445
-     * </pre>
1446
-     */
1447
-    public function hVals($key) {}
1448
-
1449
-    /**
1450
-     * Gets a value from the hash stored at key.
1451
-     * If the hash table doesn't exist, or the key doesn't exist, FALSE is returned.
1452
-     *
1453
-     * @param   string $key
1454
-     * @param   string $hashKey
1455
-     *
1456
-     * @return  string|false  The value, if the command executed successfully BOOL FALSE in case of failure
1457
-     * @link    https://redis.io/commands/hget
1458
-     * @example
1459
-     * <pre>
1460
-     * $redisCluster->del('h');
1461
-     * $redisCluster->hSet('h', 'a', 'x');
1462
-     * $redisCluster->hGet('h', 'a'); // 'X'
1463
-     * </pre>
1464
-     */
1465
-    public function hGet($key, $hashKey) {}
1466
-
1467
-    /**
1468
-     * Returns the whole hash, as an array of strings indexed by strings.
1469
-     *
1470
-     * @param   string $key
1471
-     *
1472
-     * @return  array   An array of elements, the contents of the hash.
1473
-     * @link    https://redis.io/commands/hgetall
1474
-     * @example
1475
-     * <pre>
1476
-     * $redisCluster->del('h');
1477
-     * $redisCluster->hSet('h', 'a', 'x');
1478
-     * $redisCluster->hSet('h', 'b', 'y');
1479
-     * $redisCluster->hSet('h', 'c', 'z');
1480
-     * $redisCluster->hSet('h', 'd', 't');
1481
-     * var_dump($redisCluster->hGetAll('h'));
1482
-     *
1483
-     * //// Output:
1484
-     * //
1485
-     * // array(4) {
1486
-     * //   ["a"]=>
1487
-     * //   string(1) "x"
1488
-     * //   ["b"]=>
1489
-     * //   string(1) "y"
1490
-     * //   ["c"]=>
1491
-     * //   string(1) "z"
1492
-     * //   ["d"]=>
1493
-     * //   string(1) "t"
1494
-     * // }
1495
-     * // The order is random and corresponds to redis' own internal representation of the set structure.
1496
-     * </pre>
1497
-     */
1498
-    public function hGetAll($key) {}
1499
-
1500
-    /**
1501
-     * Verify if the specified member exists in a key.
1502
-     *
1503
-     * @param   string $key
1504
-     * @param   string $hashKey
1505
-     *
1506
-     * @return  bool   If the member exists in the hash table, return TRUE, otherwise return FALSE.
1507
-     * @link    https://redis.io/commands/hexists
1508
-     * @example
1509
-     * <pre>
1510
-     * $redisCluster->hSet('h', 'a', 'x');
1511
-     * $redisCluster->hExists('h', 'a');               //  TRUE
1512
-     * $redisCluster->hExists('h', 'NonExistingKey');  // FALSE
1513
-     * </pre>
1514
-     */
1515
-    public function hExists($key, $hashKey) {}
1516
-
1517
-    /**
1518
-     * Increments the value of a member from a hash by a given amount.
1519
-     *
1520
-     * @param   string $key
1521
-     * @param   string $hashKey
1522
-     * @param   int    $value (integer) value that will be added to the member's value
1523
-     *
1524
-     * @return  int     the new value
1525
-     * @link    https://redis.io/commands/hincrby
1526
-     * @example
1527
-     * <pre>
1528
-     * $redisCluster->del('h');
1529
-     * $redisCluster->hIncrBy('h', 'x', 2); // returns 2: h[x] = 2 now.
1530
-     * $redisCluster->hIncrBy('h', 'x', 1); // h[x] ← 2 + 1. Returns 3
1531
-     * </pre>
1532
-     */
1533
-    public function hIncrBy($key, $hashKey, $value) {}
1534
-
1535
-    /**
1536
-     * Adds a value to the hash stored at key. If this value is already in the hash, FALSE is returned.
1537
-     *
1538
-     * @param string $key
1539
-     * @param string $hashKey
1540
-     * @param string $value
1541
-     *
1542
-     * @return int
1543
-     * 1 if value didn't exist and was added successfully,
1544
-     * 0 if the value was already present and was replaced, FALSE if there was an error.
1545
-     * @link    https://redis.io/commands/hset
1546
-     * @example
1547
-     * <pre>
1548
-     * $redisCluster->del('h')
1549
-     * $redisCluster->hSet('h', 'key1', 'hello');  // 1, 'key1' => 'hello' in the hash at "h"
1550
-     * $redisCluster->hGet('h', 'key1');           // returns "hello"
1551
-     *
1552
-     * $redisCluster->hSet('h', 'key1', 'plop');   // 0, value was replaced.
1553
-     * $redisCluster->hGet('h', 'key1');           // returns "plop"
1554
-     * </pre>
1555
-     */
1556
-    public function hSet($key, $hashKey, $value) {}
1557
-
1558
-    /**
1559
-     * Adds a value to the hash stored at key only if this field isn't already in the hash.
1560
-     *
1561
-     * @param   string $key
1562
-     * @param   string $hashKey
1563
-     * @param   string $value
1564
-     *
1565
-     * @return  bool    TRUE if the field was set, FALSE if it was already present.
1566
-     * @link    https://redis.io/commands/hsetnx
1567
-     * @example
1568
-     * <pre>
1569
-     * $redisCluster->del('h')
1570
-     * $redisCluster->hSetNx('h', 'key1', 'hello'); // TRUE, 'key1' => 'hello' in the hash at "h"
1571
-     * $redisCluster->hSetNx('h', 'key1', 'world'); // FALSE, 'key1' => 'hello' in the hash at "h". No change since the
1572
-     * field wasn't replaced.
1573
-     * </pre>
1574
-     */
1575
-    public function hSetNx($key, $hashKey, $value) {}
1576
-
1577
-    /**
1578
-     * Retrieve the values associated to the specified fields in the hash.
1579
-     *
1580
-     * @param   string $key
1581
-     * @param   array  $hashKeys
1582
-     *
1583
-     * @return  array   Array An array of elements, the values of the specified fields in the hash,
1584
-     * with the hash keys as array keys.
1585
-     * @link    https://redis.io/commands/hmget
1586
-     * @example
1587
-     * <pre>
1588
-     * $redisCluster->del('h');
1589
-     * $redisCluster->hSet('h', 'field1', 'value1');
1590
-     * $redisCluster->hSet('h', 'field2', 'value2');
1591
-     * $redisCluster->hMGet('h', array('field1', 'field2')); // returns array('field1' => 'value1', 'field2' =>
1592
-     * 'value2')
1593
-     * </pre>
1594
-     */
1595
-    public function hMGet($key, $hashKeys) {}
1596
-
1597
-    /**
1598
-     * Fills in a whole hash. Non-string values are converted to string, using the standard (string) cast.
1599
-     * NULL values are stored as empty strings
1600
-     *
1601
-     * @param   string $key
1602
-     * @param   array  $hashKeys key → value array
1603
-     *
1604
-     * @return  bool
1605
-     * @link    https://redis.io/commands/hmset
1606
-     * @example
1607
-     * <pre>
1608
-     * $redisCluster->del('user:1');
1609
-     * $redisCluster->hMSet('user:1', array('name' => 'Joe', 'salary' => 2000));
1610
-     * $redisCluster->hIncrBy('user:1', 'salary', 100); // Joe earns 100 more now.
1611
-     * </pre>
1612
-     */
1613
-    public function hMSet($key, $hashKeys) {}
1614
-
1615
-    /**
1616
-     * Removes a values from the hash stored at key.
1617
-     * If the hash table doesn't exist, or the key doesn't exist, FALSE is returned.
1618
-     *
1619
-     * @param   string $key
1620
-     * @param   string $hashKey1
1621
-     * @param   string $hashKey2
1622
-     * @param   string $hashKeyN
1623
-     *
1624
-     * @return  int     Number of deleted fields
1625
-     * @link    https://redis.io/commands/hdel
1626
-     * @example
1627
-     * <pre>
1628
-     * $redisCluster->hMSet('h',
1629
-     *               array(
1630
-     *                    'f1' => 'v1',
1631
-     *                    'f2' => 'v2',
1632
-     *                    'f3' => 'v3',
1633
-     *                    'f4' => 'v4',
1634
-     *               ));
1635
-     *
1636
-     * var_dump( $redisCluster->hDel('h', 'f1') );        // int(1)
1637
-     * var_dump( $redisCluster->hDel('h', 'f2', 'f3') );  // int(2)
1638
-     *
1639
-     * var_dump( $redisCluster->hGetAll('h') );
1640
-     *
1641
-     * //// Output:
1642
-     * //
1643
-     * //  array(1) {
1644
-     * //    ["f4"]=> string(2) "v4"
1645
-     * //  }
1646
-     * </pre>
1647
-     */
1648
-    public function hDel($key, $hashKey1, $hashKey2 = null, $hashKeyN = null) {}
1649
-
1650
-    /**
1651
-     * Increment the float value of a hash field by the given amount
1652
-     *
1653
-     * @param   string $key
1654
-     * @param   string $field
1655
-     * @param   float  $increment
1656
-     *
1657
-     * @return  float
1658
-     * @link    https://redis.io/commands/hincrbyfloat
1659
-     * @example
1660
-     * <pre>
1661
-     * $redisCluster->hset('h', 'float', 3);
1662
-     * $redisCluster->hset('h', 'int',   3);
1663
-     * var_dump( $redisCluster->hIncrByFloat('h', 'float', 1.5) ); // float(4.5)
1664
-     *
1665
-     * var_dump( $redisCluster->hGetAll('h') );
1666
-     *
1667
-     * //// Output:
1668
-     * //
1669
-     * // array(2) {
1670
-     * //   ["float"]=>
1671
-     * //   string(3) "4.5"
1672
-     * //   ["int"]=>
1673
-     * //   string(1) "3"
1674
-     * // }
1675
-     * </pre>
1676
-     */
1677
-    public function hIncrByFloat($key, $field, $increment) {}
1678
-
1679
-    /**
1680
-     * Dump a key out of a redis database, the value of which can later be passed into redis using the RESTORE command.
1681
-     * The data that comes out of DUMP is a binary representation of the key as Redis stores it.
1682
-     *
1683
-     * @param   string $key
1684
-     *
1685
-     * @return  string|false  The Redis encoded value of the key, or FALSE if the key doesn't exist
1686
-     * @link    https://redis.io/commands/dump
1687
-     * @example
1688
-     * <pre>
1689
-     * $redisCluster->set('foo', 'bar');
1690
-     * $val = $redisCluster->dump('foo'); // $val will be the Redis encoded key value
1691
-     * </pre>
1692
-     */
1693
-    public function dump($key) {}
1694
-
1695
-    /**
1696
-     * Returns the rank of a given member in the specified sorted set, starting at 0 for the item
1697
-     * with the smallest score. zRevRank starts at 0 for the item with the largest score.
1698
-     *
1699
-     * @param   string $key
1700
-     * @param   string $member
1701
-     *
1702
-     * @return  int     the item's score.
1703
-     * @link    https://redis.io/commands/zrank
1704
-     * @example
1705
-     * <pre>
1706
-     * $redisCluster->del('z');
1707
-     * $redisCluster->zAdd('key', 1, 'one');
1708
-     * $redisCluster->zAdd('key', 2, 'two');
1709
-     * $redisCluster->zRank('key', 'one');     // 0
1710
-     * $redisCluster->zRank('key', 'two');     // 1
1711
-     * $redisCluster->zRevRank('key', 'one');  // 1
1712
-     * $redisCluster->zRevRank('key', 'two');  // 0
1713
-     * </pre>
1714
-     */
1715
-    public function zRank($key, $member) {}
1716
-
1717
-    /**
1718
-     * @see    zRank()
1719
-     *
1720
-     * @param  string $key
1721
-     * @param  string $member
1722
-     *
1723
-     * @return int    the item's score
1724
-     * @link   https://redis.io/commands/zrevrank
1725
-     */
1726
-    public function zRevRank($key, $member) {}
1727
-
1728
-    /**
1729
-     * Increment the number stored at key by one.
1730
-     *
1731
-     * @param   string $key
1732
-     *
1733
-     * @return  int    the new value
1734
-     * @link    https://redis.io/commands/incr
1735
-     * @example
1736
-     * <pre>
1737
-     * $redisCluster->incr('key1'); // key1 didn't exists, set to 0 before the increment and now has the value 1
1738
-     * $redisCluster->incr('key1'); // 2
1739
-     * $redisCluster->incr('key1'); // 3
1740
-     * $redisCluster->incr('key1'); // 4
1741
-     * </pre>
1742
-     */
1743
-    public function incr($key) {}
1744
-
1745
-    /**
1746
-     * Decrement the number stored at key by one.
1747
-     *
1748
-     * @param   string $key
1749
-     *
1750
-     * @return  int    the new value
1751
-     * @link    https://redis.io/commands/decr
1752
-     * @example
1753
-     * <pre>
1754
-     * $redisCluster->decr('key1'); // key1 didn't exists, set to 0 before the increment and now has the value -1
1755
-     * $redisCluster->decr('key1'); // -2
1756
-     * $redisCluster->decr('key1'); // -3
1757
-     * </pre>
1758
-     */
1759
-    public function decr($key) {}
1760
-
1761
-    /**
1762
-     * Increment the number stored at key by one. If the second argument is filled, it will be used as the integer
1763
-     * value of the increment.
1764
-     *
1765
-     * @param   string $key   key
1766
-     * @param   int    $value value that will be added to key (only for incrBy)
1767
-     *
1768
-     * @return  int         the new value
1769
-     * @link    https://redis.io/commands/incrby
1770
-     * @example
1771
-     * <pre>
1772
-     * $redisCluster->incr('key1');        // key1 didn't exists, set to 0 before the increment and now has the value 1
1773
-     * $redisCluster->incr('key1');        // 2
1774
-     * $redisCluster->incr('key1');        // 3
1775
-     * $redisCluster->incr('key1');        // 4
1776
-     * $redisCluster->incrBy('key1', 10);  // 14
1777
-     * </pre>
1778
-     */
1779
-    public function incrBy($key, $value) {}
1780
-
1781
-    /**
1782
-     * Decrement the number stored at key by one. If the second argument is filled, it will be used as the integer
1783
-     * value of the decrement.
1784
-     *
1785
-     * @param   string $key
1786
-     * @param   int    $value that will be subtracted to key (only for decrBy)
1787
-     *
1788
-     * @return  int       the new value
1789
-     * @link    https://redis.io/commands/decrby
1790
-     * @example
1791
-     * <pre>
1792
-     * $redisCluster->decr('key1');        // key1 didn't exists, set to 0 before the increment and now has the value -1
1793
-     * $redisCluster->decr('key1');        // -2
1794
-     * $redisCluster->decr('key1');        // -3
1795
-     * $redisCluster->decrBy('key1', 10);  // -13
1796
-     * </pre>
1797
-     */
1798
-    public function decrBy($key, $value) {}
1799
-
1800
-    /**
1801
-     * Increment the float value of a key by the given amount
1802
-     *
1803
-     * @param   string $key
1804
-     * @param   float  $increment
1805
-     *
1806
-     * @return  float
1807
-     * @link    https://redis.io/commands/incrbyfloat
1808
-     * @example
1809
-     * <pre>
1810
-     * $redisCluster->set('x', 3);
1811
-     * var_dump( $redisCluster->incrByFloat('x', 1.5) );   // float(4.5)
1812
-     *
1813
-     * var_dump( $redisCluster->get('x') );                // string(3) "4.5"
1814
-     * </pre>
1815
-     */
1816
-    public function incrByFloat($key, $increment) {}
1817
-
1818
-    /**
1819
-     * Sets an expiration date (a timeout) on an item.
1820
-     *
1821
-     * @param   string $key The key that will disappear.
1822
-     * @param   int    $ttl The key's remaining Time To Live, in seconds.
1823
-     *
1824
-     * @return  bool   TRUE in case of success, FALSE in case of failure.
1825
-     * @link    https://redis.io/commands/expire
1826
-     * @example
1827
-     * <pre>
1828
-     * $redisCluster->set('x', '42');
1829
-     * $redisCluster->expire('x', 3);  // x will disappear in 3 seconds.
1830
-     * sleep(5);                    // wait 5 seconds
1831
-     * $redisCluster->get('x');            // will return `FALSE`, as 'x' has expired.
1832
-     * </pre>
1833
-     */
1834
-    public function expire($key, $ttl) {}
1835
-
1836
-    /**
1837
-     * Sets an expiration date (a timeout in milliseconds) on an item.
1838
-     *
1839
-     * @param   string $key The key that will disappear.
1840
-     * @param   int    $ttl The key's remaining Time To Live, in milliseconds.
1841
-     *
1842
-     * @return  bool   TRUE in case of success, FALSE in case of failure.
1843
-     * @link    https://redis.io/commands/pexpire
1844
-     * @example
1845
-     * <pre>
1846
-     * $redisCluster->set('x', '42');
1847
-     * $redisCluster->pExpire('x', 11500); // x will disappear in 11500 milliseconds.
1848
-     * $redisCluster->ttl('x');            // 12
1849
-     * $redisCluster->pttl('x');           // 11500
1850
-     * </pre>
1851
-     */
1852
-    public function pExpire($key, $ttl) {}
1853
-
1854
-    /**
1855
-     * Sets an expiration date (a timestamp) on an item.
1856
-     *
1857
-     * @param   string $key       The key that will disappear.
1858
-     * @param   int    $timestamp Unix timestamp. The key's date of death, in seconds from Epoch time.
1859
-     *
1860
-     * @return  bool   TRUE in case of success, FALSE in case of failure.
1861
-     * @link    https://redis.io/commands/expireat
1862
-     * @example
1863
-     * <pre>
1864
-     * $redisCluster->set('x', '42');
1865
-     * $now = time();               // current timestamp
1866
-     * $redisCluster->expireAt('x', $now + 3); // x will disappear in 3 seconds.
1867
-     * sleep(5);                        // wait 5 seconds
1868
-     * $redisCluster->get('x');                // will return `FALSE`, as 'x' has expired.
1869
-     * </pre>
1870
-     */
1871
-    public function expireAt($key, $timestamp) {}
1872
-
1873
-    /**
1874
-     * Sets an expiration date (a timestamp) on an item. Requires a timestamp in milliseconds
1875
-     *
1876
-     * @param   string $key       The key that will disappear.
1877
-     * @param   int    $timestamp Unix timestamp. The key's date of death, in seconds from Epoch time.
1878
-     *
1879
-     * @return  bool   TRUE in case of success, FALSE in case of failure.
1880
-     * @link    https://redis.io/commands/pexpireat
1881
-     * @example
1882
-     * <pre>
1883
-     * $redisCluster->set('x', '42');
1884
-     * $redisCluster->pExpireAt('x', 1555555555005);
1885
-     * $redisCluster->ttl('x');                       // 218270121
1886
-     * $redisCluster->pttl('x');                      // 218270120575
1887
-     * </pre>
1888
-     */
1889
-    public function pExpireAt($key, $timestamp) {}
1890
-
1891
-    /**
1892
-     * Append specified string to the string stored in specified key.
1893
-     *
1894
-     * @param   string $key
1895
-     * @param   string $value
1896
-     *
1897
-     * @return  int    Size of the value after the append
1898
-     * @link    https://redis.io/commands/append
1899
-     * @example
1900
-     * <pre>
1901
-     * $redisCluster->set('key', 'value1');
1902
-     * $redisCluster->append('key', 'value2'); // 12
1903
-     * $redisCluster->get('key');              // 'value1value2'
1904
-     * </pre>
1905
-     */
1906
-    public function append($key, $value) {}
1907
-
1908
-    /**
1909
-     * Return a single bit out of a larger string
1910
-     *
1911
-     * @param   string $key
1912
-     * @param   int    $offset
1913
-     *
1914
-     * @return  int    the bit value (0 or 1)
1915
-     * @link    https://redis.io/commands/getbit
1916
-     * @example
1917
-     * <pre>
1918
-     * $redisCluster->set('key', "\x7f");  // this is 0111 1111
1919
-     * $redisCluster->getBit('key', 0);    // 0
1920
-     * $redisCluster->getBit('key', 1);    // 1
1921
-     * </pre>
1922
-     */
1923
-    public function getBit($key, $offset) {}
1924
-
1925
-    /**
1926
-     * Changes a single bit of a string.
1927
-     *
1928
-     * @param   string   $key
1929
-     * @param   int      $offset
1930
-     * @param   bool|int $value bool or int (1 or 0)
1931
-     *
1932
-     * @return  int    0 or 1, the value of the bit before it was set.
1933
-     * @link    https://redis.io/commands/setbit
1934
-     * @example
1935
-     * <pre>
1936
-     * $redisCluster->set('key', "*");     // ord("*") = 42 = 0x2f = "0010 1010"
1937
-     * $redisCluster->setBit('key', 5, 1); // returns 0
1938
-     * $redisCluster->setBit('key', 7, 1); // returns 0
1939
-     * $redisCluster->get('key');          // chr(0x2f) = "/" = b("0010 1111")
1940
-     * </pre>
1941
-     */
1942
-    public function setBit($key, $offset, $value) {}
1943
-
1944
-    /**
1945
-     * Bitwise operation on multiple keys.
1946
-     *
1947
-     * @param   string $operation either "AND", "OR", "NOT", "XOR"
1948
-     * @param   string $retKey    return key
1949
-     * @param   string $key1
1950
-     * @param   string $key2
1951
-     * @param   string $key3
1952
-     *
1953
-     * @return  int     The size of the string stored in the destination key.
1954
-     * @link    https://redis.io/commands/bitop
1955
-     * @example
1956
-     * <pre>
1957
-     * $redisCluster->set('bit1', '1'); // 11 0001
1958
-     * $redisCluster->set('bit2', '2'); // 11 0010
1959
-     *
1960
-     * $redisCluster->bitOp('AND', 'bit', 'bit1', 'bit2'); // bit = 110000
1961
-     * $redisCluster->bitOp('OR',  'bit', 'bit1', 'bit2'); // bit = 110011
1962
-     * $redisCluster->bitOp('NOT', 'bit', 'bit1', 'bit2'); // bit = 110011
1963
-     * $redisCluster->bitOp('XOR', 'bit', 'bit1', 'bit2'); // bit = 11
1964
-     * </pre>
1965
-     */
1966
-    public function bitOp($operation, $retKey, $key1, $key2, $key3 = null) {}
1967
-
1968
-    /**
1969
-     * Return the position of the first bit set to 1 or 0 in a string. The position is returned, thinking of the
1970
-     * string as an array of bits from left to right, where the first byte's most significant bit is at position 0,
1971
-     * the second byte's most significant bit is at position 8, and so forth.
1972
-     *
1973
-     * @param   string $key
1974
-     * @param   int    $bit
1975
-     * @param   int    $start
1976
-     * @param   int    $end
1977
-     *
1978
-     * @return  int     The command returns the position of the first bit set to 1 or 0 according to the request.
1979
-     *                  If we look for set bits (the bit argument is 1) and the string is empty or composed of just
1980
-     *                  zero bytes, -1 is returned. If we look for clear bits (the bit argument is 0) and the string
1981
-     *                  only contains bit set to 1, the function returns the first bit not part of the string on the
1982
-     *                  right. So if the string is three bytes set to the value 0xff the command BITPOS key 0 will
1983
-     *                  return 24, since up to bit 23 all the bits are 1. Basically, the function considers the right
1984
-     *                  of the string as padded with zeros if you look for clear bits and specify no range or the
1985
-     *                  start argument only. However, this behavior changes if you are looking for clear bits and
1986
-     *                  specify a range with both start and end. If no clear bit is found in the specified range, the
1987
-     *                  function returns -1 as the user specified a clear range and there are no 0 bits in that range.
1988
-     * @link    https://redis.io/commands/bitpos
1989
-     * @example
1990
-     * <pre>
1991
-     * $redisCluster->set('key', '\xff\xff');
1992
-     * $redisCluster->bitpos('key', 1); // int(0)
1993
-     * $redisCluster->bitpos('key', 1, 1); // int(8)
1994
-     * $redisCluster->bitpos('key', 1, 3); // int(-1)
1995
-     * $redisCluster->bitpos('key', 0); // int(16)
1996
-     * $redisCluster->bitpos('key', 0, 1); // int(16)
1997
-     * $redisCluster->bitpos('key', 0, 1, 5); // int(-1)
1998
-     * </pre>
1999
-     */
2000
-    public function bitpos($key, $bit, $start = 0, $end = null) {}
2001
-
2002
-    /**
2003
-     * Count bits in a string.
2004
-     *
2005
-     * @param   string $key
2006
-     *
2007
-     * @return  int     The number of bits set to 1 in the value behind the input key.
2008
-     * @link    https://redis.io/commands/bitcount
2009
-     * @example
2010
-     * <pre>
2011
-     * $redisCluster->set('bit', '345'); // // 11 0011  0011 0100  0011 0101
2012
-     * var_dump( $redisCluster->bitCount('bit', 0, 0) ); // int(4)
2013
-     * var_dump( $redisCluster->bitCount('bit', 1, 1) ); // int(3)
2014
-     * var_dump( $redisCluster->bitCount('bit', 2, 2) ); // int(4)
2015
-     * var_dump( $redisCluster->bitCount('bit', 0, 2) ); // int(11)
2016
-     * </pre>
2017
-     */
2018
-    public function bitCount($key) {}
2019
-
2020
-    /**
2021
-     * @see     lIndex()
2022
-     *
2023
-     * @param   string $key
2024
-     * @param   int    $index
2025
-     *
2026
-     * @link    https://redis.io/commands/lindex
2027
-     */
2028
-    public function lGet($key, $index) {}
2029
-
2030
-    /**
2031
-     * Return a substring of a larger string
2032
-     *
2033
-     * @param   string $key
2034
-     * @param   int    $start
2035
-     * @param   int    $end
2036
-     *
2037
-     * @return  string the substring
2038
-     * @link    https://redis.io/commands/getrange
2039
-     * @example
2040
-     * <pre>
2041
-     * $redisCluster->set('key', 'string value');
2042
-     * $redisCluster->getRange('key', 0, 5);   // 'string'
2043
-     * $redisCluster->getRange('key', -5, -1); // 'value'
2044
-     * </pre>
2045
-     */
2046
-    public function getRange($key, $start, $end) {}
2047
-
2048
-    /**
2049
-     * Trims an existing list so that it will contain only a specified range of elements.
2050
-     *
2051
-     * @param string $key
2052
-     * @param int    $start
2053
-     * @param int    $stop
2054
-     *
2055
-     * @return array|false    Bool return FALSE if the key identify a non-list value.
2056
-     * @link        https://redis.io/commands/ltrim
2057
-     * @example
2058
-     * <pre>
2059
-     * $redisCluster->rPush('key1', 'A');
2060
-     * $redisCluster->rPush('key1', 'B');
2061
-     * $redisCluster->rPush('key1', 'C');
2062
-     * $redisCluster->lRange('key1', 0, -1); // array('A', 'B', 'C')
2063
-     * $redisCluster->lTrim('key1', 0, 1);
2064
-     * $redisCluster->lRange('key1', 0, -1); // array('A', 'B')
2065
-     * </pre>
2066
-     */
2067
-    public function lTrim($key, $start, $stop) {}
2068
-
2069
-    /**
2070
-     * Returns the specified elements of the list stored at the specified key in
2071
-     * the range [start, end]. start and stop are interpretated as indices: 0 the first element,
2072
-     * 1 the second ... -1 the last element, -2 the penultimate ...
2073
-     *
2074
-     * @param   string $key
2075
-     * @param   int    $start
2076
-     * @param   int    $end
2077
-     *
2078
-     * @return  array containing the values in specified range.
2079
-     * @link    https://redis.io/commands/lrange
2080
-     * @example
2081
-     * <pre>
2082
-     * $redisCluster->rPush('key1', 'A');
2083
-     * $redisCluster->rPush('key1', 'B');
2084
-     * $redisCluster->rPush('key1', 'C');
2085
-     * $redisCluster->lRange('key1', 0, -1); // array('A', 'B', 'C')
2086
-     * </pre>
2087
-     */
2088
-    public function lRange($key, $start, $end) {}
2089
-
2090
-    /**
2091
-     * Deletes the elements of the sorted set stored at the specified key which have rank in the range [start,end].
2092
-     *
2093
-     * @param   string $key
2094
-     * @param   int    $start
2095
-     * @param   int    $end
2096
-     *
2097
-     * @return  int     The number of values deleted from the sorted set
2098
-     * @link    https://redis.io/commands/zremrangebyrank
2099
-     * @example
2100
-     * <pre>
2101
-     * $redisCluster->zAdd('key', 1, 'one');
2102
-     * $redisCluster->zAdd('key', 2, 'two');
2103
-     * $redisCluster->zAdd('key', 3, 'three');
2104
-     * $redisCluster->zRemRangeByRank('key', 0, 1); // 2
2105
-     * $redisCluster->zRange('key', 0, -1, true); // array('three' => 3)
2106
-     * </pre>
2107
-     */
2108
-    public function zRemRangeByRank($key, $start, $end) {}
2109
-
2110
-    /**
2111
-     * Publish messages to channels. Warning: this function will probably change in the future.
2112
-     *
2113
-     * @param   string $channel a channel to publish to
2114
-     * @param   string $message string
2115
-     *
2116
-     * @link    https://redis.io/commands/publish
2117
-     * @return  int Number of clients that received the message
2118
-     * @example $redisCluster->publish('chan-1', 'hello, world!'); // send message.
2119
-     */
2120
-    public function publish($channel, $message) {}
2121
-
2122
-    /**
2123
-     * Renames a key.
2124
-     *
2125
-     * @param   string $srcKey
2126
-     * @param   string $dstKey
2127
-     *
2128
-     * @return  bool   TRUE in case of success, FALSE in case of failure.
2129
-     * @link    https://redis.io/commands/rename
2130
-     * @example
2131
-     * <pre>
2132
-     * $redisCluster->set('x', '42');
2133
-     * $redisCluster->rename('x', 'y');
2134
-     * $redisCluster->get('y');   // → 42
2135
-     * $redisCluster->get('x');   // → `FALSE`
2136
-     * </pre>
2137
-     */
2138
-    public function rename($srcKey, $dstKey) {}
2139
-
2140
-    /**
2141
-     * Renames a key.
2142
-     *
2143
-     * Same as rename, but will not replace a key if the destination already exists.
2144
-     * This is the same behaviour as setNx.
2145
-     *
2146
-     * @param   string $srcKey
2147
-     * @param   string $dstKey
2148
-     *
2149
-     * @return  bool   TRUE in case of success, FALSE in case of failure.
2150
-     * @link    https://redis.io/commands/renamenx
2151
-     * @example
2152
-     * <pre>
2153
-     * $redisCluster->set('x', '42');
2154
-     * $redisCluster->renameNx('x', 'y');
2155
-     * $redisCluster->get('y');   // → 42
2156
-     * $redisCluster->get('x');   // → `FALSE`
2157
-     * </pre>
2158
-     */
2159
-    public function renameNx($srcKey, $dstKey) {}
2160
-
2161
-    /**
2162
-     * When called with a single key, returns the approximated cardinality computed by the HyperLogLog data
2163
-     * structure stored at the specified variable, which is 0 if the variable does not exist.
2164
-     *
2165
-     * @param   string|array $key
2166
-     *
2167
-     * @return  int
2168
-     * @link    https://redis.io/commands/pfcount
2169
-     * @example
2170
-     * <pre>
2171
-     * $redisCluster->pfAdd('key1', array('elem1', 'elem2'));
2172
-     * $redisCluster->pfAdd('key2', array('elem3', 'elem2'));
2173
-     * $redisCluster->pfCount('key1'); // int(2)
2174
-     * $redisCluster->pfCount(array('key1', 'key2')); // int(3)
2175
-     * </pre>
2176
-     */
2177
-    public function pfCount($key) {}
2178
-
2179
-    /**
2180
-     * Adds all the element arguments to the HyperLogLog data structure stored at the key.
2181
-     *
2182
-     * @param   string $key
2183
-     * @param   array  $elements
2184
-     *
2185
-     * @return  bool
2186
-     * @link    https://redis.io/commands/pfadd
2187
-     * @example $redisCluster->pfAdd('key', array('elem1', 'elem2'))
2188
-     */
2189
-    public function pfAdd($key, array $elements) {}
2190
-
2191
-    /**
2192
-     * Merge multiple HyperLogLog values into an unique value that will approximate the cardinality
2193
-     * of the union of the observed Sets of the source HyperLogLog structures.
2194
-     *
2195
-     * @param   string $destKey
2196
-     * @param   array  $sourceKeys
2197
-     *
2198
-     * @return  bool
2199
-     * @link    https://redis.io/commands/pfmerge
2200
-     * @example
2201
-     * <pre>
2202
-     * $redisCluster->pfAdd('key1', array('elem1', 'elem2'));
2203
-     * $redisCluster->pfAdd('key2', array('elem3', 'elem2'));
2204
-     * $redisCluster->pfMerge('key3', array('key1', 'key2'));
2205
-     * $redisCluster->pfCount('key3'); // int(3)
2206
-     * </pre>
2207
-     */
2208
-    public function pfMerge($destKey, array $sourceKeys) {}
2209
-
2210
-    /**
2211
-     * Changes a substring of a larger string.
2212
-     *
2213
-     * @param   string $key
2214
-     * @param   int    $offset
2215
-     * @param   string $value
2216
-     *
2217
-     * @return  string the length of the string after it was modified.
2218
-     * @link    https://redis.io/commands/setrange
2219
-     * @example
2220
-     * <pre>
2221
-     * $redisCluster->set('key', 'Hello world');
2222
-     * $redisCluster->setRange('key', 6, "redis"); // returns 11
2223
-     * $redisCluster->get('key');                  // "Hello redis"
2224
-     * </pre>
2225
-     */
2226
-    public function setRange($key, $offset, $value) {}
2227
-
2228
-    /**
2229
-     * Restore a key from the result of a DUMP operation.
2230
-     *
2231
-     * @param   string $key   The key name
2232
-     * @param   int    $ttl   How long the key should live (if zero, no expire will be set on the key)
2233
-     * @param   string $value (binary).  The Redis encoded key value (from DUMP)
2234
-     *
2235
-     * @return  bool
2236
-     * @link    https://redis.io/commands/restore
2237
-     * @example
2238
-     * <pre>
2239
-     * $redisCluster->set('foo', 'bar');
2240
-     * $val = $redisCluster->dump('foo');
2241
-     * $redisCluster->restore('bar', 0, $val); // The key 'bar', will now be equal to the key 'foo'
2242
-     * </pre>
2243
-     */
2244
-    public function restore($key, $ttl, $value) {}
2245
-
2246
-    /**
2247
-     * Moves the specified member from the set at srcKey to the set at dstKey.
2248
-     *
2249
-     * @param   string $srcKey
2250
-     * @param   string $dstKey
2251
-     * @param   string $member
2252
-     *
2253
-     * @return  bool    If the operation is successful, return TRUE.
2254
-     * If the srcKey and/or dstKey didn't exist, and/or the member didn't exist in srcKey, FALSE is returned.
2255
-     * @link    https://redis.io/commands/smove
2256
-     * @example
2257
-     * <pre>
2258
-     * $redisCluster->sAdd('key1' , 'set11');
2259
-     * $redisCluster->sAdd('key1' , 'set12');
2260
-     * $redisCluster->sAdd('key1' , 'set13');          // 'key1' => {'set11', 'set12', 'set13'}
2261
-     * $redisCluster->sAdd('key2' , 'set21');
2262
-     * $redisCluster->sAdd('key2' , 'set22');          // 'key2' => {'set21', 'set22'}
2263
-     * $redisCluster->sMove('key1', 'key2', 'set13');  // 'key1' =>  {'set11', 'set12'}
2264
-     *                                          // 'key2' =>  {'set21', 'set22', 'set13'}
2265
-     * </pre>
2266
-     */
2267
-    public function sMove($srcKey, $dstKey, $member) {}
2268
-
2269
-    /**
2270
-     * Returns a range of elements from the ordered set stored at the specified key,
2271
-     * with values in the range [start, end]. start and stop are interpreted as zero-based indices:
2272
-     * 0 the first element,
2273
-     * 1 the second ...
2274
-     * -1 the last element,
2275
-     * -2 the penultimate ...
2276
-     *
2277
-     * @param   string $key
2278
-     * @param   int    $start
2279
-     * @param   int    $end
2280
-     * @param   bool   $withscores
2281
-     *
2282
-     * @return  array   Array containing the values in specified range.
2283
-     * @link    https://redis.io/commands/zrange
2284
-     * @example
2285
-     * <pre>
2286
-     * $redisCluster->zAdd('key1', 0, 'val0');
2287
-     * $redisCluster->zAdd('key1', 2, 'val2');
2288
-     * $redisCluster->zAdd('key1', 10, 'val10');
2289
-     * $redisCluster->zRange('key1', 0, -1); // array('val0', 'val2', 'val10')
2290
-     * // with scores
2291
-     * $redisCluster->zRange('key1', 0, -1, true); // array('val0' => 0, 'val2' => 2, 'val10' => 10)
2292
-     * </pre>
2293
-     */
2294
-    public function zRange($key, $start, $end, $withscores = null) {}
2295
-
2296
-    /**
2297
-     * Returns the elements of the sorted set stored at the specified key in the range [start, end]
2298
-     * in reverse order. start and stop are interpretated as zero-based indices:
2299
-     * 0 the first element,
2300
-     * 1 the second ...
2301
-     * -1 the last element,
2302
-     * -2 the penultimate ...
2303
-     *
2304
-     * @param   string $key
2305
-     * @param   int    $start
2306
-     * @param   int    $end
2307
-     * @param   bool   $withscore
2308
-     *
2309
-     * @return  array   Array containing the values in specified range.
2310
-     * @link    https://redis.io/commands/zrevrange
2311
-     * @example
2312
-     * <pre>
2313
-     * $redisCluster->zAdd('key', 0, 'val0');
2314
-     * $redisCluster->zAdd('key', 2, 'val2');
2315
-     * $redisCluster->zAdd('key', 10, 'val10');
2316
-     * $redisCluster->zRevRange('key', 0, -1); // array('val10', 'val2', 'val0')
2317
-     *
2318
-     * // with scores
2319
-     * $redisCluster->zRevRange('key', 0, -1, true); // array('val10' => 10, 'val2' => 2, 'val0' => 0)
2320
-     * </pre>
2321
-     */
2322
-    public function zRevRange($key, $start, $end, $withscore = null) {}
2323
-
2324
-    /**
2325
-     * Returns the elements of the sorted set stored at the specified key which have scores in the
2326
-     * range [start,end]. Adding a parenthesis before start or end excludes it from the range.
2327
-     * +inf and -inf are also valid limits.
2328
-     *
2329
-     * zRevRangeByScore returns the same items in reverse order, when the start and end parameters are swapped.
2330
-     *
2331
-     * @param   string $key
2332
-     * @param   int    $start
2333
-     * @param   int    $end
2334
-     * @param   array  $options Two options are available:
2335
-     *                          - withscores => TRUE,
2336
-     *                          - and limit => array($offset, $count)
2337
-     *
2338
-     * @return  array   Array containing the values in specified range.
2339
-     * @link    https://redis.io/commands/zrangebyscore
2340
-     * @example
2341
-     * <pre>
2342
-     * $redisCluster->zAdd('key', 0, 'val0');
2343
-     * $redisCluster->zAdd('key', 2, 'val2');
2344
-     * $redisCluster->zAdd('key', 10, 'val10');
2345
-     * $redisCluster->zRangeByScore('key', 0, 3);
2346
-     * // array('val0', 'val2')
2347
-     * $redisCluster->zRangeByScore('key', 0, 3, array('withscores' => TRUE);
2348
-     * // array('val0' => 0, 'val2' => 2)
2349
-     * $redisCluster->zRangeByScore('key', 0, 3, array('limit' => array(1, 1));
2350
-     * // array('val2' => 2)
2351
-     * $redisCluster->zRangeByScore('key', 0, 3, array('limit' => array(1, 1));
2352
-     * // array('val2')
2353
-     * $redisCluster->zRangeByScore('key', 0, 3, array('withscores' => TRUE, 'limit' => array(1, 1));
2354
-     * // array('val2'=> 2)
2355
-     * </pre>
2356
-     */
2357
-    public function zRangeByScore($key, $start, $end, array $options = []) {}
2358
-
2359
-    /**
2360
-     * @see zRangeByScore()
2361
-     *
2362
-     * @param   string $key
2363
-     * @param   int    $start
2364
-     * @param   int    $end
2365
-     * @param   array  $options
2366
-     *
2367
-     * @return    array
2368
-     */
2369
-    public function zRevRangeByScore($key, $start, $end, array $options = []) {}
2370
-
2371
-    /**
2372
-     * Returns a range of members in a sorted set, by lexicographical range
2373
-     *
2374
-     * @param   string $key    The ZSET you wish to run against.
2375
-     * @param   int    $min    The minimum alphanumeric value you wish to get.
2376
-     * @param   int    $max    The maximum alphanumeric value you wish to get.
2377
-     * @param   int    $offset Optional argument if you wish to start somewhere other than the first element.
2378
-     * @param   int    $limit  Optional argument if you wish to limit the number of elements returned.
2379
-     *
2380
-     * @return  array   Array containing the values in the specified range.
2381
-     * @link    https://redis.io/commands/zrangebylex
2382
-     * @example
2383
-     * <pre>
2384
-     * foreach (array('a', 'b', 'c', 'd', 'e', 'f', 'g') as $k => $char) {
2385
-     *     $redisCluster->zAdd('key', $k, $char);
2386
-     * }
2387
-     *
2388
-     * $redisCluster->zRangeByLex('key', '-', '[c'); // array('a', 'b', 'c')
2389
-     * $redisCluster->zRangeByLex('key', '-', '(c'); // array('a', 'b')
2390
-     * $redisCluster->zRevRangeByLex('key', '(c','-'); // array('b', 'a')
2391
-     * </pre>
2392
-     */
2393
-    public function zRangeByLex($key, $min, $max, $offset = null, $limit = null) {}
2394
-
2395
-    /**
2396
-     * @see     zRangeByLex()
2397
-     *
2398
-     * @param   string $key
2399
-     * @param   int    $min
2400
-     * @param   int    $max
2401
-     * @param   int    $offset
2402
-     * @param   int    $limit
2403
-     *
2404
-     * @return  array
2405
-     * @link    https://redis.io/commands/zrevrangebylex
2406
-     */
2407
-    public function zRevRangeByLex($key, $min, $max, $offset = null, $limit = null) {}
2408
-
2409
-    /**
2410
-     * Count the number of members in a sorted set between a given lexicographical range.
2411
-     *
2412
-     * @param   string $key
2413
-     * @param   int    $min
2414
-     * @param   int    $max
2415
-     *
2416
-     * @return  int The number of elements in the specified score range.
2417
-     * @link    https://redis.io/commands/zlexcount
2418
-     * @example
2419
-     * <pre>
2420
-     * foreach (array('a', 'b', 'c', 'd', 'e', 'f', 'g') as $k => $char) {
2421
-     *     $redisCluster->zAdd('key', $k, $char);
2422
-     * }
2423
-     * $redisCluster->zLexCount('key', '[b', '[f'); // 5
2424
-     * </pre>
2425
-     */
2426
-    public function zLexCount($key, $min, $max) {}
2427
-
2428
-    /**
2429
-     * Remove all members in a sorted set between the given lexicographical range.
2430
-     *
2431
-     * @param   string $key The ZSET you wish to run against.
2432
-     * @param   int    $min The minimum alphanumeric value you wish to get.
2433
-     * @param   int    $max The maximum alphanumeric value you wish to get.
2434
-     *
2435
-     * @return  array    the number of elements removed.
2436
-     * @link    https://redis.io/commands/zremrangebylex
2437
-     * @example
2438
-     * <pre>
2439
-     * foreach (array('a', 'b', 'c', 'd', 'e', 'f', 'g') as $k => $char) {
2440
-     *     $redisCluster->zAdd('key', $k, $char);
2441
-     * }
2442
-     * $redisCluster->zRemRangeByLex('key', '(b','[d'); // 2 , remove element 'c' and 'd'
2443
-     * $redisCluster->zRange('key',0,-1);// array('a','b','e','f','g')
2444
-     * </pre>
2445
-     */
2446
-    public function zRemRangeByLex($key, $min, $max) {}
2447
-
2448
-    /**
2449
-     * Add multiple sorted sets and store the resulting sorted set in a new key
2450
-     *
2451
-     * @param string $Output
2452
-     * @param array  $ZSetKeys
2453
-     * @param null|array $Weights
2454
-     * @param string $aggregateFunction Either "SUM", "MIN", or "MAX": defines the behaviour to use on
2455
-     *                                  duplicate entries during the zUnion.
2456
-     *
2457
-     * @return int The number of values in the new sorted set.
2458
-     * @link    https://redis.io/commands/zunionstore
2459
-     * @example
2460
-     * <pre>
2461
-     * $redisCluster->del('k1');
2462
-     * $redisCluster->del('k2');
2463
-     * $redisCluster->del('k3');
2464
-     * $redisCluster->del('ko1');
2465
-     * $redisCluster->del('ko2');
2466
-     * $redisCluster->del('ko3');
2467
-     *
2468
-     * $redisCluster->zAdd('k1', 0, 'val0');
2469
-     * $redisCluster->zAdd('k1', 1, 'val1');
2470
-     *
2471
-     * $redisCluster->zAdd('k2', 2, 'val2');
2472
-     * $redisCluster->zAdd('k2', 3, 'val3');
2473
-     *
2474
-     * $redisCluster->zUnionStore('ko1', array('k1', 'k2')); // 4, 'ko1' => array('val0', 'val1', 'val2', 'val3')
2475
-     *
2476
-     * // Weighted zUnionStore
2477
-     * $redisCluster->zUnionStore('ko2', array('k1', 'k2'), array(1, 1)); // 4, 'ko2' => array('val0', 'val1', 'val2','val3')
2478
-     * $redisCluster->zUnionStore('ko3', array('k1', 'k2'), array(5, 1)); // 4, 'ko3' => array('val0', 'val2', 'val3','val1')
2479
-     * </pre>
2480
-     */
2481
-    public function zUnionStore($Output, $ZSetKeys, ?array $Weights = null, $aggregateFunction = 'SUM') {}
2482
-
2483
-    /**
2484
-     * Intersect multiple sorted sets and store the resulting sorted set in a new key
2485
-     *
2486
-     * @param   string $Output
2487
-     * @param   array  $ZSetKeys
2488
-     * @param   null|array $Weights
2489
-     * @param   string $aggregateFunction Either "SUM", "MIN", or "MAX":
2490
-     *                                    defines the behaviour to use on duplicate entries during the zInterStore.
2491
-     *
2492
-     * @return  int     The number of values in the new sorted set.
2493
-     * @link    https://redis.io/commands/zinterstore
2494
-     * @example
2495
-     * <pre>
2496
-     * $redisCluster->del('k1');
2497
-     * $redisCluster->del('k2');
2498
-     * $redisCluster->del('k3');
2499
-     *
2500
-     * $redisCluster->del('ko1');
2501
-     * $redisCluster->del('ko2');
2502
-     * $redisCluster->del('ko3');
2503
-     * $redisCluster->del('ko4');
2504
-     *
2505
-     * $redisCluster->zAdd('k1', 0, 'val0');
2506
-     * $redisCluster->zAdd('k1', 1, 'val1');
2507
-     * $redisCluster->zAdd('k1', 3, 'val3');
2508
-     *
2509
-     * $redisCluster->zAdd('k2', 2, 'val1');
2510
-     * $redisCluster->zAdd('k2', 3, 'val3');
2511
-     *
2512
-     * $redisCluster->zInterStore('ko1', array('k1', 'k2'));               // 2, 'ko1' => array('val1', 'val3')
2513
-     * $redisCluster->zInterStore('ko2', array('k1', 'k2'), array(1, 1));  // 2, 'ko2' => array('val1', 'val3')
2514
-     *
2515
-     * // Weighted zInterStore
2516
-     * $redisCluster->zInterStore('ko3', array('k1', 'k2'), array(1, 5), 'min'); // 2, 'ko3' => array('val1', 'val3')
2517
-     * $redisCluster->zInterStore('ko4', array('k1', 'k2'), array(1, 5), 'max'); // 2, 'ko4' => array('val3', 'val1')
2518
-     * </pre>
2519
-     */
2520
-    public function zInterStore($Output, $ZSetKeys, array $Weights = null, $aggregateFunction = 'SUM') {}
2521
-
2522
-    /**
2523
-     * Deletes a specified member from the ordered set.
2524
-     *
2525
-     * @param   string $key
2526
-     * @param   string $member1
2527
-     * @param   string $member2
2528
-     * @param   string $memberN
2529
-     *
2530
-     * @return  int     Number of deleted values
2531
-     * @link    https://redis.io/commands/zrem
2532
-     * @example
2533
-     * <pre>
2534
-     * $redisCluster->zAdd('z', 1, 'v1', 2, 'v2', 3, 'v3', 4, 'v4' );  // int(2)
2535
-     * $redisCluster->zRem('z', 'v2', 'v3');                           // int(2)
2536
-     * var_dump( $redisCluster->zRange('z', 0, -1) );
2537
-     * //// Output:
2538
-     * //
2539
-     * // array(2) {
2540
-     * //   [0]=> string(2) "v1"
2541
-     * //   [1]=> string(2) "v4"
2542
-     * // }
2543
-     * </pre>
2544
-     */
2545
-    public function zRem($key, $member1, $member2 = null, $memberN = null) {}
2546
-
2547
-    /**
2548
-     * Sort
2549
-     *
2550
-     * @param   string $key
2551
-     * @param   array  $option array(key => value, ...) - optional, with the following keys and values:
2552
-     *                         - 'by' => 'some_pattern_*',
2553
-     *                         - 'limit' => array(0, 1),
2554
-     *                         - 'get' => 'some_other_pattern_*' or an array of patterns,
2555
-     *                         - 'sort' => 'asc' or 'desc',
2556
-     *                         - 'alpha' => TRUE,
2557
-     *                         - 'store' => 'external-key'
2558
-     *
2559
-     * @return  array
2560
-     * An array of values, or a number corresponding to the number of elements stored if that was used.
2561
-     * @link    https://redis.io/commands/sort
2562
-     * @example
2563
-     * <pre>
2564
-     * $redisCluster->del('s');
2565
-     * $redisCluster->sadd('s', 5);
2566
-     * $redisCluster->sadd('s', 4);
2567
-     * $redisCluster->sadd('s', 2);
2568
-     * $redisCluster->sadd('s', 1);
2569
-     * $redisCluster->sadd('s', 3);
2570
-     *
2571
-     * var_dump($redisCluster->sort('s')); // 1,2,3,4,5
2572
-     * var_dump($redisCluster->sort('s', array('sort' => 'desc'))); // 5,4,3,2,1
2573
-     * var_dump($redisCluster->sort('s', array('sort' => 'desc', 'store' => 'out'))); // (int)5
2574
-     * </pre>
2575
-     */
2576
-    public function sort($key, $option = null) {}
2577
-
2578
-    /**
2579
-     * Describes the object pointed to by a key.
2580
-     * The information to retrieve (string) and the key (string).
2581
-     * Info can be one of the following:
2582
-     * - "encoding"
2583
-     * - "refcount"
2584
-     * - "idletime"
2585
-     *
2586
-     * @param   string $string
2587
-     * @param   string $key
2588
-     *
2589
-     * @return  string|false  for "encoding", int for "refcount" and "idletime", FALSE if the key doesn't exist.
2590
-     * @link    https://redis.io/commands/object
2591
-     * @example
2592
-     * <pre>
2593
-     * $redisCluster->object("encoding", "l"); // → ziplist
2594
-     * $redisCluster->object("refcount", "l"); // → 1
2595
-     * $redisCluster->object("idletime", "l"); // → 400 (in seconds, with a precision of 10 seconds).
2596
-     * </pre>
2597
-     */
2598
-    public function object($string = '', $key = '') {}
2599
-
2600
-    /**
2601
-     * Subscribe to channels. Warning: this function will probably change in the future.
2602
-     *
2603
-     * @param array        $channels an array of channels to subscribe to
2604
-     * @param string|array $callback either a string or an array($instance, 'method_name').
2605
-     *                                 The callback function receives 3 parameters: the redis instance, the channel
2606
-     *                                 name, and the message.
2607
-     *
2608
-     * @return mixed            Any non-null return value in the callback will be returned to the caller.
2609
-     * @link    https://redis.io/commands/subscribe
2610
-     * @example
2611
-     * <pre>
2612
-     * function f($redisCluster, $chan, $msg) {
2613
-     *  switch($chan) {
2614
-     *      case 'chan-1':
2615
-     *          ...
2616
-     *          break;
2617
-     *
2618
-     *      case 'chan-2':
2619
-     *                     ...
2620
-     *          break;
2621
-     *
2622
-     *      case 'chan-2':
2623
-     *          ...
2624
-     *          break;
2625
-     *      }
2626
-     * }
2627
-     *
2628
-     * $redisCluster->subscribe(array('chan-1', 'chan-2', 'chan-3'), 'f'); // subscribe to 3 chans
2629
-     * </pre>
2630
-     */
2631
-    public function subscribe($channels, $callback) {}
2632
-
2633
-    /**
2634
-     * Subscribe to channels by pattern
2635
-     *
2636
-     * @param   array        $patterns     The number of elements removed from the set.
2637
-     * @param   string|array $callback     Either a string or an array with an object and method.
2638
-     *                                       The callback will get four arguments ($redis, $pattern, $channel, $message)
2639
-     *
2640
-     * @return  mixed           Any non-null return value in the callback will be returned to the caller.
2641
-     *
2642
-     * @link    https://redis.io/commands/psubscribe
2643
-     * @example
2644
-     * <pre>
2645
-     * function psubscribe($redisCluster, $pattern, $chan, $msg) {
2646
-     *  echo "Pattern: $pattern\n";
2647
-     *  echo "Channel: $chan\n";
2648
-     *  echo "Payload: $msg\n";
2649
-     * }
2650
-     * </pre>
2651
-     */
2652
-    public function psubscribe($patterns, $callback) {}
2653
-
2654
-    /**
2655
-     * Unsubscribes the client from the given channels, or from all of them if none is given.
2656
-     *
2657
-     * @param $channels
2658
-     * @param $callback
2659
-     */
2660
-    public function unSubscribe($channels, $callback) {}
2661
-
2662
-    /**
2663
-     * Unsubscribes the client from the given patterns, or from all of them if none is given.
2664
-     *
2665
-     * @param $channels
2666
-     * @param $callback
2667
-     */
2668
-    public function punSubscribe($channels, $callback) {}
2669
-
2670
-    /**
2671
-     * Evaluate a LUA script serverside, from the SHA1 hash of the script instead of the script itself.
2672
-     * In order to run this command Redis will have to have already loaded the script, either by running it or via
2673
-     * the SCRIPT LOAD command.
2674
-     *
2675
-     * @param   string $scriptSha
2676
-     * @param   array  $args
2677
-     * @param   int    $numKeys
2678
-     *
2679
-     * @return  mixed   @see eval()
2680
-     * @see     eval()
2681
-     * @link    https://redis.io/commands/evalsha
2682
-     * @example
2683
-     * <pre>
2684
-     * $script = 'return 1';
2685
-     * $sha = $redisCluster->script('load', $script);
2686
-     * $redisCluster->evalSha($sha); // Returns 1
2687
-     * </pre>
2688
-     */
2689
-    public function evalSha($scriptSha, $args = [], $numKeys = 0) {}
2690
-
2691
-    /**
2692
-     * Scan the keyspace for keys.
2693
-     *
2694
-     * @param  int          &$iterator Iterator, initialized to NULL.
2695
-     * @param  string|array $node      Node identified by key or host/port array
2696
-     * @param  string       $pattern   Pattern to match.
2697
-     * @param  int          $count     Count of keys per iteration (only a suggestion to Redis).
2698
-     *
2699
-     * @return array|false             This function will return an array of keys or FALSE if there are no more keys.
2700
-     * @link   https://redis.io/commands/scan
2701
-     * @example
2702
-     * <pre>
2703
-     * $iterator = null;
2704
-     * while($keys = $redisCluster->scan($iterator)) {
2705
-     *     foreach($keys as $key) {
2706
-     *         echo $key . PHP_EOL;
2707
-     *     }
2708
-     * }
2709
-     * </pre>
2710
-     */
2711
-    public function scan(&$iterator, $node, $pattern = null, $count = 0) {}
2712
-
2713
-    /**
2714
-     * Scan a set for members.
2715
-     *
2716
-     * @param   string $key      The set to search.
2717
-     * @param   int    &$iterator LONG (reference) to the iterator as we go.
2718
-     * @param   null   $pattern  String, optional pattern to match against.
2719
-     * @param   int    $count    How many members to return at a time (Redis might return a different amount).
2720
-     *
2721
-     * @return  array|false   PHPRedis will return an array of keys or FALSE when we're done iterating.
2722
-     * @link    https://redis.io/commands/sscan
2723
-     * @example
2724
-     * <pre>
2725
-     * $iterator = null;
2726
-     * while ($members = $redisCluster->sScan('set', $iterator)) {
2727
-     *     foreach ($members as $member) {
2728
-     *         echo $member . PHP_EOL;
2729
-     *     }
2730
-     * }
2731
-     * </pre>
2732
-     */
2733
-    public function sScan($key, &$iterator, $pattern = null, $count = 0) {}
2734
-
2735
-    /**
2736
-     * Scan a sorted set for members, with optional pattern and count.
2737
-     *
2738
-     * @param   string $key      String, the set to scan.
2739
-     * @param   int    &$iterator Long (reference), initialized to NULL.
2740
-     * @param   string $pattern  String (optional), the pattern to match.
2741
-     * @param   int    $count    How many keys to return per iteration (Redis might return a different number).
2742
-     *
2743
-     * @return  array|false   PHPRedis will return matching keys from Redis, or FALSE when iteration is complete.
2744
-     * @link    https://redis.io/commands/zscan
2745
-     * @example
2746
-     * <pre>
2747
-     * $iterator = null;
2748
-     * while ($members = $redis-zscan('zset', $iterator)) {
2749
-     *     foreach ($members as $member => $score) {
2750
-     *         echo $member . ' => ' . $score . PHP_EOL;
2751
-     *     }
2752
-     * }
2753
-     * </pre>
2754
-     */
2755
-    public function zScan($key, &$iterator, $pattern = null, $count = 0) {}
2756
-
2757
-    /**
2758
-     * Scan a HASH value for members, with an optional pattern and count.
2759
-     *
2760
-     * @param   string $key
2761
-     * @param   int    &$iterator
2762
-     * @param   string $pattern Optional pattern to match against.
2763
-     * @param   int    $count   How many keys to return in a go (only a sugestion to Redis).
2764
-     *
2765
-     * @return  array     An array of members that match our pattern.
2766
-     * @link    https://redis.io/commands/hscan
2767
-     * @example
2768
-     * <pre>
2769
-     * $iterator = null;
2770
-     * while($elements = $redisCluster->hscan('hash', $iterator)) {
2771
-     *    foreach($elements as $key => $value) {
2772
-     *         echo $key . ' => ' . $value . PHP_EOL;
2773
-     *     }
2774
-     * }
2775
-     * </pre>
2776
-     */
2777
-    public function hScan($key, &$iterator, $pattern = null, $count = 0) {}
2778
-
2779
-    /**
2780
-     * Detect whether we're in ATOMIC/MULTI/PIPELINE mode.
2781
-     *
2782
-     * @return  int     Either RedisCluster::ATOMIC, RedisCluster::MULTI or RedisCluster::PIPELINE
2783
-     * @example $redisCluster->getMode();
2784
-     */
2785
-    public function getMode() {}
2786
-
2787
-    /**
2788
-     * The last error message (if any)
2789
-     *
2790
-     * @return  string|null  A string with the last returned script based error message, or NULL if there is no error
2791
-     * @example
2792
-     * <pre>
2793
-     * $redisCluster->eval('this-is-not-lua');
2794
-     * $err = $redisCluster->getLastError();
2795
-     * // "ERR Error compiling script (new function): user_script:1: '=' expected near '-'"
2796
-     * </pre>
2797
-     */
2798
-    public function getLastError() {}
2799
-
2800
-    /**
2801
-     * Clear the last error message
2802
-     *
2803
-     * @return bool true
2804
-     * @example
2805
-     * <pre>
2806
-     * $redisCluster->set('x', 'a');
2807
-     * $redisCluster->incr('x');
2808
-     * $err = $redisCluster->getLastError();
2809
-     * // "ERR value is not an integer or out of range"
2810
-     * $redisCluster->clearLastError();
2811
-     * $err = $redisCluster->getLastError();
2812
-     * // NULL
2813
-     * </pre>
2814
-     */
2815
-    public function clearLastError() {}
2816
-
2817
-    /**
2818
-     * Get client option
2819
-     *
2820
-     * @param   string $name parameter name
2821
-     *
2822
-     * @return  int     Parameter value.
2823
-     * @example
2824
-     * // return RedisCluster::SERIALIZER_NONE, RedisCluster::SERIALIZER_PHP, or RedisCluster::SERIALIZER_IGBINARY.
2825
-     * $redisCluster->getOption(RedisCluster::OPT_SERIALIZER);
2826
-     */
2827
-    public function getOption($name) {}
2828
-
2829
-    /**
2830
-     * Set client option.
2831
-     *
2832
-     * @param   string $name  parameter name
2833
-     * @param   string $value parameter value
2834
-     *
2835
-     * @return  bool   TRUE on success, FALSE on error.
2836
-     * @example
2837
-     * <pre>
2838
-     * $redisCluster->setOption(RedisCluster::OPT_SERIALIZER, RedisCluster::SERIALIZER_NONE);        // don't serialize data
2839
-     * $redisCluster->setOption(RedisCluster::OPT_SERIALIZER, RedisCluster::SERIALIZER_PHP);         // use built-in serialize/unserialize
2840
-     * $redisCluster->setOption(RedisCluster::OPT_SERIALIZER, RedisCluster::SERIALIZER_IGBINARY);    // use igBinary serialize/unserialize
2841
-     * $redisCluster->setOption(RedisCluster::OPT_PREFIX, 'myAppName:');                             // use custom prefix on all keys
2842
-     * </pre>
2843
-     */
2844
-    public function setOption($name, $value) {}
2845
-
2846
-    /**
2847
-     * A utility method to prefix the value with the prefix setting for phpredis.
2848
-     *
2849
-     * @param   mixed $value The value you wish to prefix
2850
-     *
2851
-     * @return  string  If a prefix is set up, the value now prefixed.  If there is no prefix, the value will be returned unchanged.
2852
-     * @example
2853
-     * <pre>
2854
-     * $redisCluster->setOption(RedisCluster::OPT_PREFIX, 'my-prefix:');
2855
-     * $redisCluster->_prefix('my-value'); // Will return 'my-prefix:my-value'
2856
-     * </pre>
2857
-     */
2858
-    public function _prefix($value) {}
2859
-
2860
-    /**
2861
-     * A utility method to serialize values manually. This method allows you to serialize a value with whatever
2862
-     * serializer is configured, manually. This can be useful for serialization/unserialization of data going in
2863
-     * and out of EVAL commands as phpredis can't automatically do this itself.  Note that if no serializer is
2864
-     * set, phpredis will change Array values to 'Array', and Objects to 'Object'.
2865
-     *
2866
-     * @param   mixed $value The value to be serialized.
2867
-     *
2868
-     * @return  mixed
2869
-     * @example
2870
-     * <pre>
2871
-     * $redisCluster->setOption(RedisCluster::OPT_SERIALIZER, RedisCluster::SERIALIZER_NONE);
2872
-     * $redisCluster->_serialize("foo"); // returns "foo"
2873
-     * $redisCluster->_serialize(Array()); // Returns "Array"
2874
-     * $redisCluster->_serialize(new stdClass()); // Returns "Object"
2875
-     *
2876
-     * $redisCluster->setOption(RedisCluster::OPT_SERIALIZER, RedisCluster::SERIALIZER_PHP);
2877
-     * $redisCluster->_serialize("foo"); // Returns 's:3:"foo";'
2878
-     * </pre>
2879
-     */
2880
-    public function _serialize($value) {}
2881
-
2882
-    /**
2883
-     * A utility method to unserialize data with whatever serializer is set up.  If there is no serializer set, the
2884
-     * value will be returned unchanged.  If there is a serializer set up, and the data passed in is malformed, an
2885
-     * exception will be thrown. This can be useful if phpredis is serializing values, and you return something from
2886
-     * redis in a LUA script that is serialized.
2887
-     *
2888
-     * @param   string $value The value to be unserialized
2889
-     *
2890
-     * @return mixed
2891
-     * @example
2892
-     * <pre>
2893
-     * $redisCluster->setOption(RedisCluster::OPT_SERIALIZER, RedisCluster::SERIALIZER_PHP);
2894
-     * $redisCluster->_unserialize('a:3:{i:0;i:1;i:1;i:2;i:2;i:3;}'); // Will return Array(1,2,3)
2895
-     * </pre>
2896
-     */
2897
-    public function _unserialize($value) {}
2898
-
2899
-    /**
2900
-     * Return all redis master nodes
2901
-     *
2902
-     * @return array
2903
-     * @example
2904
-     * <pre>
2905
-     * $redisCluster->_masters(); // Will return [[0=>'127.0.0.1','6379'],[0=>'127.0.0.1','6380']]
2906
-     * </pre>
2907
-     */
2908
-    public function _masters() {}
2909
-
2910
-    /**
2911
-     * Enter and exit transactional mode.
2912
-     *
2913
-     * @param int $mode RedisCluster::MULTI|RedisCluster::PIPELINE
2914
-     *            Defaults to RedisCluster::MULTI.
2915
-     *            A RedisCluster::MULTI block of commands runs as a single transaction;
2916
-     *            a RedisCluster::PIPELINE block is simply transmitted faster to the server, but without any guarantee
2917
-     *            of atomicity. discard cancels a transaction.
2918
-     *
2919
-     * @return Redis returns the Redis instance and enters multi-mode.
2920
-     * Once in multi-mode, all subsequent method calls return the same object until exec() is called.
2921
-     * @link    https://redis.io/commands/multi
2922
-     * @example
2923
-     * <pre>
2924
-     * $ret = $redisCluster->multi()
2925
-     *      ->set('key1', 'val1')
2926
-     *      ->get('key1')
2927
-     *      ->set('key2', 'val2')
2928
-     *      ->get('key2')
2929
-     *      ->exec();
2930
-     *
2931
-     * //$ret == array (
2932
-     * //    0 => TRUE,
2933
-     * //    1 => 'val1',
2934
-     * //    2 => TRUE,
2935
-     * //    3 => 'val2');
2936
-     * </pre>
2937
-     */
2938
-    public function multi($mode = RedisCluster::MULTI) {}
2939
-
2940
-    /**
2941
-     * @see     multi()
2942
-     * @return void|array
2943
-     * @link    https://redis.io/commands/exec
2944
-     */
2945
-    public function exec() {}
2946
-
2947
-    /**
2948
-     * @see     multi()
2949
-     * @link    https://redis.io/commands/discard
2950
-     */
2951
-    public function discard() {}
2952
-
2953
-    /**
2954
-     * Watches a key for modifications by another client. If the key is modified between WATCH and EXEC,
2955
-     * the MULTI/EXEC transaction will fail (return FALSE). unwatch cancels all the watching of all keys by this client.
2956
-     *
2957
-     * @param string|array $key : a list of keys
2958
-     *
2959
-     * @return void
2960
-     * @link    https://redis.io/commands/watch
2961
-     * @example
2962
-     * <pre>
2963
-     * $redisCluster->watch('x');
2964
-     * // long code here during the execution of which other clients could well modify `x`
2965
-     * $ret = $redisCluster->multi()
2966
-     *          ->incr('x')
2967
-     *          ->exec();
2968
-     * // $ret = FALSE if x has been modified between the call to WATCH and the call to EXEC.
2969
-     * </pre>
2970
-     */
2971
-    public function watch($key) {}
2972
-
2973
-    /**
2974
-     * @see     watch()
2975
-     * @link    https://redis.io/commands/unwatch
2976
-     */
2977
-    public function unwatch() {}
2978
-
2979
-    /**
2980
-     * Performs a synchronous save at a specific node.
2981
-     *
2982
-     * @param string|array $nodeParams key or [host,port]
2983
-     *
2984
-     * @return  bool   TRUE in case of success, FALSE in case of failure.
2985
-     * If a save is already running, this command will fail and return FALSE.
2986
-     * @link    https://redis.io/commands/save
2987
-     * @example
2988
-     * $redisCluster->save('x'); //key
2989
-     * $redisCluster->save(['127.0.0.1',6379]); //[host,port]
2990
-     */
2991
-    public function save($nodeParams) {}
2992
-
2993
-    /**
2994
-     * Performs a background save at a specific node.
2995
-     *
2996
-     * @param string|array $nodeParams key or [host,port]
2997
-     *
2998
-     * @return  bool    TRUE in case of success, FALSE in case of failure.
2999
-     * If a save is already running, this command will fail and return FALSE.
3000
-     * @link    https://redis.io/commands/bgsave
3001
-     */
3002
-    public function bgsave($nodeParams) {}
3003
-
3004
-    /**
3005
-     * Removes all entries from the current database at a specific node.
3006
-     *
3007
-     * @param string|array $nodeParams key or [host,port]
3008
-     *
3009
-     * @return  bool Always TRUE.
3010
-     * @link    https://redis.io/commands/flushdb
3011
-     */
3012
-    public function flushDB($nodeParams) {}
3013
-
3014
-    /**
3015
-     * Removes all entries from all databases at a specific node.
3016
-     *
3017
-     * @param string|array $nodeParams key or [host,port]
3018
-     *
3019
-     * @return  bool Always TRUE.
3020
-     * @link    https://redis.io/commands/flushall
3021
-     */
3022
-    public function flushAll($nodeParams) {}
3023
-
3024
-    /**
3025
-     * Returns the current database's size at a specific node.
3026
-     *
3027
-     * @param string|array $nodeParams key or [host,port]
3028
-     *
3029
-     * @return int     DB size, in number of keys.
3030
-     * @link    https://redis.io/commands/dbsize
3031
-     * @example
3032
-     * <pre>
3033
-     * $count = $redisCluster->dbSize('x');
3034
-     * echo "Redis has $count keys\n";
3035
-     * </pre>
3036
-     */
3037
-    public function dbSize($nodeParams) {}
3038
-
3039
-    /**
3040
-     * Starts the background rewrite of AOF (Append-Only File) at a specific node.
3041
-     *
3042
-     * @param string|array $nodeParams key or [host,port]
3043
-     *
3044
-     * @return  bool   TRUE in case of success, FALSE in case of failure.
3045
-     * @link    https://redis.io/commands/bgrewriteaof
3046
-     * @example $redisCluster->bgrewriteaof('x');
3047
-     */
3048
-    public function bgrewriteaof($nodeParams) {}
3049
-
3050
-    /**
3051
-     * Returns the timestamp of the last disk save at a specific node.
3052
-     *
3053
-     * @param string|array $nodeParams key or [host,port]
3054
-     *
3055
-     * @return  int    timestamp.
3056
-     * @link    https://redis.io/commands/lastsave
3057
-     * @example $redisCluster->lastSave('x');
3058
-     */
3059
-    public function lastSave($nodeParams) {}
3060
-
3061
-    /**
3062
-     * Returns an associative array of strings and integers
3063
-     *
3064
-     * @param   string $option Optional. The option to provide redis.
3065
-     *                         SERVER | CLIENTS | MEMORY | PERSISTENCE | STATS | REPLICATION | CPU | CLASTER | KEYSPACE
3066
-     *                         | COMANDSTATS
3067
-     *
3068
-     * Returns an associative array of strings and integers, with the following keys:
3069
-     * - redis_version
3070
-     * - redis_git_sha1
3071
-     * - redis_git_dirty
3072
-     * - redis_build_id
3073
-     * - redis_mode
3074
-     * - os
3075
-     * - arch_bits
3076
-     * - multiplexing_api
3077
-     * - atomicvar_api
3078
-     * - gcc_version
3079
-     * - process_id
3080
-     * - run_id
3081
-     * - tcp_port
3082
-     * - uptime_in_seconds
3083
-     * - uptime_in_days
3084
-     * - hz
3085
-     * - lru_clock
3086
-     * - executable
3087
-     * - config_file
3088
-     * - connected_clients
3089
-     * - client_longest_output_list
3090
-     * - client_biggest_input_buf
3091
-     * - blocked_clients
3092
-     * - used_memory
3093
-     * - used_memory_human
3094
-     * - used_memory_rss
3095
-     * - used_memory_rss_human
3096
-     * - used_memory_peak
3097
-     * - used_memory_peak_human
3098
-     * - used_memory_peak_perc
3099
-     * - used_memory_peak
3100
-     * - used_memory_overhead
3101
-     * - used_memory_startup
3102
-     * - used_memory_dataset
3103
-     * - used_memory_dataset_perc
3104
-     * - total_system_memory
3105
-     * - total_system_memory_human
3106
-     * - used_memory_lua
3107
-     * - used_memory_lua_human
3108
-     * - maxmemory
3109
-     * - maxmemory_human
3110
-     * - maxmemory_policy
3111
-     * - mem_fragmentation_ratio
3112
-     * - mem_allocator
3113
-     * - active_defrag_running
3114
-     * - lazyfree_pending_objects
3115
-     * - mem_fragmentation_ratio
3116
-     * - loading
3117
-     * - rdb_changes_since_last_save
3118
-     * - rdb_bgsave_in_progress
3119
-     * - rdb_last_save_time
3120
-     * - rdb_last_bgsave_status
3121
-     * - rdb_last_bgsave_time_sec
3122
-     * - rdb_current_bgsave_time_sec
3123
-     * - rdb_last_cow_size
3124
-     * - aof_enabled
3125
-     * - aof_rewrite_in_progress
3126
-     * - aof_rewrite_scheduled
3127
-     * - aof_last_rewrite_time_sec
3128
-     * - aof_current_rewrite_time_sec
3129
-     * - aof_last_bgrewrite_status
3130
-     * - aof_last_write_status
3131
-     * - aof_last_cow_size
3132
-     * - changes_since_last_save
3133
-     * - aof_current_size
3134
-     * - aof_base_size
3135
-     * - aof_pending_rewrite
3136
-     * - aof_buffer_length
3137
-     * - aof_rewrite_buffer_length
3138
-     * - aof_pending_bio_fsync
3139
-     * - aof_delayed_fsync
3140
-     * - loading_start_time
3141
-     * - loading_total_bytes
3142
-     * - loading_loaded_bytes
3143
-     * - loading_loaded_perc
3144
-     * - loading_eta_seconds
3145
-     * - total_connections_received
3146
-     * - total_commands_processed
3147
-     * - instantaneous_ops_per_sec
3148
-     * - total_net_input_bytes
3149
-     * - total_net_output_bytes
3150
-     * - instantaneous_input_kbps
3151
-     * - instantaneous_output_kbps
3152
-     * - rejected_connections
3153
-     * - maxclients
3154
-     * - sync_full
3155
-     * - sync_partial_ok
3156
-     * - sync_partial_err
3157
-     * - expired_keys
3158
-     * - evicted_keys
3159
-     * - keyspace_hits
3160
-     * - keyspace_misses
3161
-     * - pubsub_channels
3162
-     * - pubsub_patterns
3163
-     * - latest_fork_usec
3164
-     * - migrate_cached_sockets
3165
-     * - slave_expires_tracked_keys
3166
-     * - active_defrag_hits
3167
-     * - active_defrag_misses
3168
-     * - active_defrag_key_hits
3169
-     * - active_defrag_key_misses
3170
-     * - role
3171
-     * - master_replid
3172
-     * - master_replid2
3173
-     * - master_repl_offset
3174
-     * - second_repl_offset
3175
-     * - repl_backlog_active
3176
-     * - repl_backlog_size
3177
-     * - repl_backlog_first_byte_offset
3178
-     * - repl_backlog_histlen
3179
-     * - master_host
3180
-     * - master_port
3181
-     * - master_link_status
3182
-     * - master_last_io_seconds_ago
3183
-     * - master_sync_in_progress
3184
-     * - slave_repl_offset
3185
-     * - slave_priority
3186
-     * - slave_read_only
3187
-     * - master_sync_left_bytes
3188
-     * - master_sync_last_io_seconds_ago
3189
-     * - master_link_down_since_seconds
3190
-     * - connected_slaves
3191
-     * - min-slaves-to-write
3192
-     * - min-replicas-to-write
3193
-     * - min_slaves_good_slaves
3194
-     * - used_cpu_sys
3195
-     * - used_cpu_user
3196
-     * - used_cpu_sys_children
3197
-     * - used_cpu_user_children
3198
-     * - cluster_enabled
3199
-     *
3200
-     * @link    https://redis.io/commands/info
3201
-     * @return  array
3202
-     * @example
3203
-     * <pre>
3204
-     * $redisCluster->info();
3205
-     *
3206
-     * or
3207
-     *
3208
-     * $redisCluster->info("COMMANDSTATS"); //Information on the commands that have been run (>=2.6 only)
3209
-     * $redisCluster->info("CPU"); // just CPU information from Redis INFO
3210
-     * </pre>
3211
-     */
3212
-    public function info($option = null) {}
3213
-
3214
-    /**
3215
-     * @since  redis >= 2.8.12.
3216
-     *  Returns the role of the instance in the context of replication
3217
-     *
3218
-     * @param string|array $nodeParams key or [host,port]
3219
-     *
3220
-     * @return array
3221
-     * @link   https://redis.io/commands/role
3222
-     * @example
3223
-     * <pre>
3224
-     * $redisCluster->role(['127.0.0.1',6379]);
3225
-     * // [ 0=>'master',1 => 3129659, 2 => [ ['127.0.0.1','9001','3129242'], ['127.0.0.1','9002','3129543'] ] ]
3226
-     * </pre>
3227
-     */
3228
-    public function role($nodeParams) {}
3229
-
3230
-    /**
3231
-     * Returns a random key at the specified node
3232
-     *
3233
-     * @param string|array $nodeParams key or [host,port]
3234
-     *
3235
-     * @return string an existing key in redis.
3236
-     * @link    https://redis.io/commands/randomkey
3237
-     * @example
3238
-     * <pre>
3239
-     * $key = $redisCluster->randomKey('x');
3240
-     * $surprise = $redisCluster->get($key);  // who knows what's in there.
3241
-     * </pre>
3242
-     */
3243
-    public function randomKey($nodeParams) {}
3244
-
3245
-    /**
3246
-     * Return the specified node server time.
3247
-     *
3248
-     * @param string|array $nodeParams key or [host,port]
3249
-     *
3250
-     * @return  array If successfully, the time will come back as an associative array with element zero being the
3251
-     * unix timestamp, and element one being microseconds.
3252
-     * @link    https://redis.io/commands/time
3253
-     * @example
3254
-     * <pre>
3255
-     * var_dump( $redisCluster->time('x') );
3256
-     * //// Output:
3257
-     * //
3258
-     * // array(2) {
3259
-     * //   [0] => string(10) "1342364352"
3260
-     * //   [1] => string(6) "253002"
3261
-     * // }
3262
-     * </pre>
3263
-     */
3264
-    public function time($nodeParams) {}
3265
-
3266
-    /**
3267
-     * Check the specified node status
3268
-     *
3269
-     * @param string|array $nodeParams key or [host,port]
3270
-     *
3271
-     * @return  string STRING: +PONG on success. Throws a RedisException object on connectivity error, as described
3272
-     *                 above.
3273
-     * @link    https://redis.io/commands/ping
3274
-     */
3275
-    public function ping($nodeParams) {}
3276
-
3277
-    /**
3278
-     * Returns message.
3279
-     *
3280
-     * @param string|array $nodeParams key or [host,port]
3281
-     * @param string        $msg
3282
-     *
3283
-     * @return mixed
3284
-     */
3285
-    public function echo($nodeParams, $msg) {}
3286
-
3287
-    /**
3288
-     * Returns Array reply of details about all Redis Cluster commands.
3289
-     *
3290
-     * @return mixed array | bool
3291
-     */
3292
-    public function command() {}
3293
-
3294
-    /**
3295
-     * Send arbitrary things to the redis server at the specified node
3296
-     *
3297
-     * @param string|array $nodeParams key or [host,port]
3298
-     * @param string       $command    Required command to send to the server.
3299
-     * @param mixed        $arguments  Optional variable amount of arguments to send to the server.
3300
-     *
3301
-     * @return  mixed
3302
-     */
3303
-    public function rawCommand($nodeParams, $command, $arguments) {}
3304
-
3305
-    /**
3306
-     * @since redis >= 3.0
3307
-     * Executes cluster command
3308
-     *
3309
-     * @param string|array $nodeParams key or [host,port]
3310
-     * @param string       $command    Required command to send to the server.
3311
-     * @param mixed        $arguments  Optional variable amount of arguments to send to the server.
3312
-     *
3313
-     * @return  mixed
3314
-     * @link  https://redis.io/commands#cluster
3315
-     * @example
3316
-     * <pre>
3317
-     * $redisCluster->cluster(['127.0.0.1',6379],'INFO');
3318
-     * </pre>
3319
-     */
3320
-    public function cluster($nodeParams, $command, $arguments) {}
3321
-
3322
-    /**
3323
-     * Allows you to get information of the cluster client
3324
-     *
3325
-     * @param string|array $nodeParams key or [host,port]
3326
-     * @param string       $subCmd     can be: 'LIST', 'KILL', 'GETNAME', or 'SETNAME'
3327
-     * @param string       $args       optional arguments
3328
-     */
3329
-    public function client($nodeParams, $subCmd, $args) {}
3330
-
3331
-    /**
3332
-     * Get or Set the redis config keys.
3333
-     *
3334
-     * @param string|array $nodeParams key or [host,port]
3335
-     * @param string       $operation  either `GET` or `SET`
3336
-     * @param string       $key        for `SET`, glob-pattern for `GET`. See https://redis.io/commands/config-get for examples.
3337
-     * @param string       $value      optional string (only for `SET`)
3338
-     *
3339
-     * @return  array   Associative array for `GET`, key -> value
3340
-     * @link    https://redis.io/commands/config-get
3341
-     * @link    https://redis.io/commands/config-set
3342
-     * @example
3343
-     * <pre>
3344
-     * $redisCluster->config(['127.0.0.1',6379], "GET", "*max-*-entries*");
3345
-     * $redisCluster->config(['127.0.0.1',6379], "SET", "dir", "/var/run/redis/dumps/");
3346
-     * </pre>
3347
-     */
3348
-    public function config($nodeParams, $operation, $key, $value) {}
3349
-
3350
-    /**
3351
-     * A command allowing you to get information on the Redis pub/sub system.
3352
-     *
3353
-     * @param    string|array $nodeParams key or [host,port]
3354
-     *
3355
-     * @param    string       $keyword    String, which can be: "channels", "numsub", or "numpat"
3356
-     * @param    string|array $argument   Optional, variant.
3357
-     *                                    For the "channels" subcommand, you can pass a string pattern.
3358
-     *                                    For "numsub" an array of channel names
3359
-     *
3360
-     * @return    array|int               Either an integer or an array.
3361
-     *                          - channels  Returns an array where the members are the matching channels.
3362
-     *                          - numsub    Returns a key/value array where the keys are channel names and
3363
-     *                                      values are their counts.
3364
-     *                          - numpat    Integer return containing the number active pattern subscriptions.
3365
-     * @link    https://redis.io/commands/pubsub
3366
-     * @example
3367
-     * <pre>
3368
-     * $redisCluster->pubsub(['127.0.0.1',6379], 'channels'); // All channels
3369
-     * $redisCluster->pubsub(['127.0.0.1',6379], 'channels', '*pattern*'); // Just channels matching your pattern
3370
-     * $redisCluster->pubsub(['127.0.0.1',6379], 'numsub', array('chan1', 'chan2')); // Get subscriber counts for
3371
-     * 'chan1' and 'chan2'
3372
-     * $redisCluster->pubsub(['127.0.0.1',6379], 'numpat'); // Get the number of pattern subscribers
3373
-     * </pre>
3374
-     */
3375
-    public function pubsub($nodeParams, $keyword, $argument) {}
3376
-
3377
-    /**
3378
-     * Execute the Redis SCRIPT command to perform various operations on the scripting subsystem.
3379
-     *
3380
-     * @param   string|array $nodeParams key or [host,port]
3381
-     * @param   string       $command    load | flush | kill | exists
3382
-     * @param   string       $script
3383
-     *
3384
-     * @return  mixed
3385
-     * @link    https://redis.io/commands/script-load
3386
-     * @link    https://redis.io/commands/script-kill
3387
-     * @link    https://redis.io/commands/script-flush
3388
-     * @link    https://redis.io/commands/script-exists
3389
-     * @example
3390
-     * <pre>
3391
-     * $redisCluster->script(['127.0.0.1',6379], 'load', $script);
3392
-     * $redisCluster->script(['127.0.0.1',6379], 'flush');
3393
-     * $redisCluster->script(['127.0.0.1',6379], 'kill');
3394
-     * $redisCluster->script(['127.0.0.1',6379], 'exists', $script1, [$script2, $script3, ...]);
3395
-     * </pre>
3396
-     *
3397
-     * SCRIPT LOAD will return the SHA1 hash of the passed script on success, and FALSE on failure.
3398
-     * SCRIPT FLUSH should always return TRUE
3399
-     * SCRIPT KILL will return true if a script was able to be killed and false if not
3400
-     * SCRIPT EXISTS will return an array with TRUE or FALSE for each passed script
3401
-     */
3402
-    public function script($nodeParams, $command, $script) {}
3403
-
3404
-    /**
3405
-     * This function is used in order to read and reset the Redis slow queries log.
3406
-     *
3407
-     * @param   string|array $nodeParams key or [host,port]
3408
-     * @param   string       $command
3409
-     * @param   mixed        $argument
3410
-     *
3411
-     * @link  https://redis.io/commands/slowlog
3412
-     * @example
3413
-     * <pre>
3414
-     * $redisCluster->slowLog(['127.0.0.1',6379],'get','2');
3415
-     * </pre>
3416
-     */
3417
-    public function slowLog($nodeParams, $command, $argument) {}
3418
-
3419
-    /**
3420
-     * Add one or more geospatial items in the geospatial index represented using a sorted set
3421
-     *
3422
-     * @param string $key
3423
-     * @param float  $longitude
3424
-     * @param float  $latitude
3425
-     * @param string $member
3426
-     *
3427
-     * @link  https://redis.io/commands/geoadd
3428
-     * @example
3429
-     * <pre>
3430
-     * $redisCluster->geoAdd('Sicily', 13.361389, 38.115556, 'Palermo'); // int(1)
3431
-     * $redisCluster->geoAdd('Sicily', 15.087269, 37.502669, "Catania"); // int(1)
3432
-     * </pre>
3433
-     */
3434
-    public function geoAdd($key, $longitude, $latitude, $member) {}
3435
-
3436
-    /**
3437
-     * Returns members of a geospatial index as standard geohash strings
3438
-     *
3439
-     * @param string $key
3440
-     * @param string $member1
3441
-     * @param string $member2
3442
-     * @param string $memberN
3443
-     *
3444
-     * @example
3445
-     * <pre>
3446
-     * $redisCluster->geoAdd('Sicily', 13.361389, 38.115556, 'Palermo'); // int(1)
3447
-     * $redisCluster->geoAdd('Sicily', 15.087269, 37.502669, "Catania"); // int(1)
3448
-     * $redisCluster->geohash('Sicily','Palermo','Catania');//['sqc8b49rny0','sqdtr74hyu0']
3449
-     * </pre>
3450
-     */
3451
-    public function geohash($key, $member1, $member2 = null, $memberN = null) {}
3452
-
3453
-    /**
3454
-     * Returns longitude and latitude of members of a geospatial index
3455
-     *
3456
-     * @param string $key
3457
-     * @param string $member1
3458
-     * @param string $member2
3459
-     * @param string $memberN
3460
-     * @example
3461
-     * <pre>
3462
-     * $redisCluster->geoAdd('Sicily', 15.087269, 37.502669, "Catania"); // int(1)
3463
-     * $redisCluster->geopos('Sicily','Palermo');//[['13.36138933897018433','38.11555639549629859']]
3464
-     * </pre>
3465
-     */
3466
-    public function geopos($key, $member1, $member2 = null, $memberN = null) {}
3467
-
3468
-    /**
3469
-     * Returns the distance between two members of a geospatial index
3470
-     *
3471
-     * @param    string $key
3472
-     * @param    string $member1
3473
-     * @param    string $member2
3474
-     * @param    string $unit The unit must be one of the following, and defaults to meters:
3475
-     *                        m for meters.
3476
-     *                        km for kilometers.
3477
-     *                        mi for miles.
3478
-     *                        ft for feet.
3479
-     *
3480
-     * @link https://redis.io/commands/geoadd
3481
-     * @example
3482
-     * <pre>
3483
-     * $redisCluster->geoAdd('Sicily', 13.361389, 38.115556, 'Palermo'); // int(1)
3484
-     * $redisCluster->geoAdd('Sicily', 15.087269, 37.502669, "Catania"); // int(1)
3485
-     * $redisCluster->geoDist('Sicily', 'Palermo' ,'Catania'); // float(166274.1516)
3486
-     * $redisCluster->geoDist('Sicily', 'Palermo','Catania', 'km'); // float(166.2742)
3487
-     * </pre>
3488
-     */
3489
-    public function geoDist($key, $member1, $member2, $unit = 'm') {}
3490
-
3491
-    /**
3492
-     * Query a sorted set representing a geospatial index to fetch members matching a given maximum distance from a point
3493
-     *
3494
-     * @param    string $key
3495
-     * @param    float  $longitude
3496
-     * @param    float  $latitude
3497
-     * @param    float  $radius
3498
-     * @param    string $radiusUnit String can be: "m" for meters; "km" for kilometers , "mi" for miles, or "ft" for feet.
3499
-     * @param    array  $options
3500
-     *
3501
-     * @link  https://redis.io/commands/georadius
3502
-     * @example
3503
-     * <pre>
3504
-     * $redisCluster->del('Sicily');
3505
-     * $redisCluster->geoAdd('Sicily', 12.361389, 35.115556, 'Palermo'); // int(1)
3506
-     * $redisCluster->geoAdd('Sicily', 15.087269, 37.502669, "Catania"); // int(1)
3507
-     * $redisCluster->geoAdd('Sicily', 13.3585, 35.330022, "Agrigento"); // int(1)
3508
-     *
3509
-     * var_dump( $redisCluster->geoRadius('Sicily',13.3585, 35.330022, 300, 'km', ['WITHDIST' ,'DESC']) );
3510
-     *
3511
-     * array(3) {
3512
-     *    [0]=>
3513
-     *   array(2) {
3514
-     *        [0]=>
3515
-     *     string(7) "Catania"
3516
-     *        [1]=>
3517
-     *     string(8) "286.9362"
3518
-     *   }
3519
-     *   [1]=>
3520
-     *   array(2) {
3521
-     *        [0]=>
3522
-     *     string(7) "Palermo"
3523
-     *        [1]=>
3524
-     *     string(7) "93.6874"
3525
-     *   }
3526
-     *   [2]=>
3527
-     *   array(2) {
3528
-     *        [0]=>
3529
-     *     string(9) "Agrigento"
3530
-     *        [1]=>
3531
-     *     string(6) "0.0002"
3532
-     *   }
3533
-     * }
3534
-     * var_dump( $redisCluster->geoRadiusByMember('Sicily','Agrigento', 100, 'km', ['WITHDIST' ,'DESC']) );
3535
-     *
3536
-     * * array(2) {
3537
-     *    [0]=>
3538
-     *   array(2) {
3539
-     *        [0]=>
3540
-     *     string(7) "Palermo"
3541
-     *        [1]=>
3542
-     *     string(7) "93.6872"
3543
-     *   }
3544
-     *   [1]=>
3545
-     *   array(2) {
3546
-     *        [0]=>
3547
-     *     string(9) "Agrigento"
3548
-     *        [1]=>
3549
-     *     string(6) "0.0000"
3550
-     *   }
3551
-     * }
3552
-     *
3553
-     * <pre>
3554
-     */
3555
-    public function geoRadius($key, $longitude, $latitude, $radius, $radiusUnit, array $options) {}
3556
-
3557
-    /**
3558
-     * Query a sorted set representing a geospatial index to fetch members matching a given maximum distance from a member
3559
-     *
3560
-     * @see geoRadius
3561
-     *
3562
-     * @param string $key
3563
-     * @param string $member
3564
-     * @param float  $radius
3565
-     * @param string $radiusUnit
3566
-     * @param array  $options
3567
-     */
3568
-    public function geoRadiusByMember($key, $member, $radius, $radiusUnit, array $options) {}
14
+	public const AFTER = 'after';
15
+	public const BEFORE = 'before';
16
+
17
+	/**
18
+	 * Options
19
+	 */
20
+	public const OPT_SERIALIZER = 1;
21
+	public const OPT_PREFIX = 2;
22
+	public const OPT_READ_TIMEOUT = 3;
23
+	public const OPT_SCAN = 4;
24
+	public const OPT_SLAVE_FAILOVER = 5;
25
+
26
+	/**
27
+	 * Cluster options
28
+	 */
29
+	public const FAILOVER_NONE = 0;
30
+	public const FAILOVER_ERROR = 1;
31
+	public const FAILOVER_DISTRIBUTE = 2;
32
+	public const FAILOVER_DISTRIBUTE_SLAVES = 3;
33
+
34
+	/**
35
+	 * SCAN options
36
+	 */
37
+	public const SCAN_NORETRY = 0;
38
+	public const SCAN_RETRY = 1;
39
+
40
+	/**
41
+	 * @since 5.3.0
42
+	 */
43
+	public const SCAN_PREFIX = 2;
44
+
45
+	/**
46
+	 * @since 5.3.0
47
+	 */
48
+	public const SCAN_NOPREFIX = 3;
49
+
50
+	/**
51
+	 * Serializers
52
+	 */
53
+	public const SERIALIZER_NONE = 0;
54
+	public const SERIALIZER_PHP = 1;
55
+	public const SERIALIZER_IGBINARY = 2;
56
+	public const SERIALIZER_MSGPACK = 3;
57
+	public const SERIALIZER_JSON = 4;
58
+
59
+	/**
60
+	 * Multi
61
+	 */
62
+	public const ATOMIC = 0;
63
+	public const MULTI = 1;
64
+	public const PIPELINE = 2;
65
+
66
+	/**
67
+	 * Type
68
+	 */
69
+	public const REDIS_NOT_FOUND = 0;
70
+	public const REDIS_STRING = 1;
71
+	public const REDIS_SET = 2;
72
+	public const REDIS_LIST = 3;
73
+	public const REDIS_ZSET = 4;
74
+	public const REDIS_HASH = 5;
75
+
76
+	/**
77
+	 * Creates a Redis Cluster client
78
+	 *
79
+	 * @param string|null   $name
80
+	 * @param array         $seeds
81
+	 * @param float         $timeout
82
+	 * @param float         $readTimeout
83
+	 * @param bool          $persistent
84
+	 * @param string|null   $auth
85
+	 * @throws RedisClusterException
86
+	 *
87
+	 * @example
88
+	 * <pre>
89
+	 * // Declaring a cluster with an array of seeds
90
+	 * $redisCluster = new RedisCluster(null,['127.0.0.1:6379']);
91
+	 *
92
+	 * // Loading a cluster configuration by name
93
+	 * // In order to load a named array, one must first define the seed nodes in redis.ini.
94
+	 * // The following lines would define the cluster 'mycluster', and be loaded automatically by phpredis.
95
+	 *
96
+	 * // # In redis.ini
97
+	 * // redis.clusters.seeds = "mycluster[]=localhost:7000&test[]=localhost:7001"
98
+	 * // redis.clusters.timeout = "mycluster=5"
99
+	 * // redis.clusters.read_timeout = "mycluster=10"
100
+	 *
101
+	 * //Then, this cluster can be loaded by doing the following
102
+	 *
103
+	 * $redisClusterPro = new RedisCluster('mycluster');
104
+	 * $redisClusterDev = new RedisCluster('test');
105
+	 * </pre>
106
+	 */
107
+	public function __construct($name, $seeds, $timeout = null, $readTimeout = null, $persistent = false, $auth = null) {}
108
+
109
+	/**
110
+	 * Disconnects from the Redis instance, except when pconnect is used.
111
+	 */
112
+	public function close() {}
113
+
114
+	/**
115
+	 * Get the value related to the specified key
116
+	 *
117
+	 * @param   string $key
118
+	 *
119
+	 * @return  string|false If key didn't exist, FALSE is returned. Otherwise, the value related to this key is
120
+	 *                       returned.
121
+	 *
122
+	 * @link    https://redis.io/commands/get
123
+	 * @example
124
+	 * <pre>
125
+	 * $redisCluster->get('key');
126
+	 * </pre>
127
+	 */
128
+	public function get($key) {}
129
+
130
+	/**
131
+	 * Set the string value in argument as value of the key.
132
+	 *
133
+	 * @since    If you're using Redis >= 2.6.12, you can pass extended options as explained in example
134
+	 *
135
+	 * @param   string    $key
136
+	 * @param   string    $value
137
+	 * @param   int|array $timeout If you pass an integer, phpredis will redirect to SETEX, and will try to use Redis
138
+	 *                             >= 2.6.12 extended options if you pass an array with valid values.
139
+	 *
140
+	 * @return  bool TRUE if the command is successful.
141
+	 *
142
+	 * @link     https://redis.io/commands/set
143
+	 * @example
144
+	 * <pre>
145
+	 * // Simple key -> value set
146
+	 * $redisCluster->set('key', 'value');
147
+	 *
148
+	 * // Will redirect, and actually make an SETEX call
149
+	 * $redisCluster->set('key','value', 10);
150
+	 *
151
+	 * // Will set the key, if it doesn't exist, with a ttl of 10 seconds
152
+	 * $redisCluster->set('key', 'value', Array('nx', 'ex'=>10));
153
+	 *
154
+	 * // Will set a key, if it does exist, with a ttl of 1000 milliseconds
155
+	 * $redisCluster->set('key', 'value', Array('xx', 'px'=>1000));
156
+	 * </pre>
157
+	 */
158
+	public function set($key, $value, $timeout = null) {}
159
+
160
+	/**
161
+	 * Returns the values of all specified keys.
162
+	 *
163
+	 * For every key that does not hold a string value or does not exist,
164
+	 * the special value false is returned. Because of this, the operation never fails.
165
+	 *
166
+	 * @param array $array
167
+	 *
168
+	 * @return array
169
+	 *
170
+	 * @link https://redis.io/commands/mget
171
+	 * @example
172
+	 * <pre>
173
+	 * $redisCluster->del('x', 'y', 'z', 'h');    // remove x y z
174
+	 * $redisCluster->mset(array('x' => 'a', 'y' => 'b', 'z' => 'c'));
175
+	 * $redisCluster->hset('h', 'field', 'value');
176
+	 * var_dump($redisCluster->mget(array('x', 'y', 'z', 'h')));
177
+	 * // Output:
178
+	 * // array(3) {
179
+	 * // [0]=>
180
+	 * // string(1) "a"
181
+	 * // [1]=>
182
+	 * // string(1) "b"
183
+	 * // [2]=>
184
+	 * // string(1) "c"
185
+	 * // [3]=>
186
+	 * // bool(false)
187
+	 * // }
188
+	 * </pre>
189
+	 */
190
+	public function mget(array $array) {}
191
+
192
+	/**
193
+	 * Sets multiple key-value pairs in one atomic command.
194
+	 * MSETNX only returns TRUE if all the keys were set (see SETNX).
195
+	 *
196
+	 * @param   array $array Pairs: array(key => value, ...)
197
+	 *
198
+	 * @return  bool    TRUE in case of success, FALSE in case of failure.
199
+	 * @link    https://redis.io/commands/mset
200
+	 * @example
201
+	 * <pre>
202
+	 * $redisCluster->mset(array('key0' => 'value0', 'key1' => 'value1'));
203
+	 * var_dump($redisCluster->get('key0'));
204
+	 * var_dump($redisCluster->get('key1'));
205
+	 * // Output:
206
+	 * // string(6) "value0"
207
+	 * // string(6) "value1"
208
+	 * </pre>
209
+	 */
210
+	public function mset(array $array) {}
211
+
212
+	/**
213
+	 * @see     mset()
214
+	 *
215
+	 * @param   array $array
216
+	 *
217
+	 * @return  int 1 (if the keys were set) or 0 (no key was set)
218
+	 * @link    https://redis.io/commands/msetnx
219
+	 */
220
+	public function msetnx(array $array) {}
221
+
222
+	/**
223
+	 * Remove specified keys.
224
+	 *
225
+	 * @param int|string|array $key1 An array of keys, or an undefined number of parameters, each a key: key1 key2 key3
226
+	 *                            ... keyN
227
+	 * @param int|string ...$otherKeys
228
+	 *
229
+	 * @return int Number of keys deleted.
230
+	 * @link    https://redis.io/commands/del
231
+	 * @example
232
+	 * <pre>
233
+	 * $redisCluster->set('key1', 'val1');
234
+	 * $redisCluster->set('key2', 'val2');
235
+	 * $redisCluster->set('key3', 'val3');
236
+	 * $redisCluster->set('key4', 'val4');
237
+	 * $redisCluster->del('key1', 'key2');          // return 2
238
+	 * $redisCluster->del(array('key3', 'key4'));   // return 2
239
+	 * </pre>
240
+	 */
241
+	public function del($key1, ...$otherKeys) {}
242
+
243
+	/**
244
+	 * Set the string value in argument as value of the key, with a time to live.
245
+	 *
246
+	 * @param   string $key
247
+	 * @param   int    $ttl
248
+	 * @param   string $value
249
+	 *
250
+	 * @return  bool   TRUE if the command is successful.
251
+	 * @link    https://redis.io/commands/setex
252
+	 * @example
253
+	 * <pre>
254
+	 * $redisCluster->setex('key', 3600, 'value'); // sets key → value, with 1h TTL.
255
+	 * </pre>
256
+	 */
257
+	public function setex($key, $ttl, $value) {}
258
+
259
+	/**
260
+	 * PSETEX works exactly like SETEX with the sole difference that the expire time is specified in milliseconds
261
+	 * instead of seconds.
262
+	 *
263
+	 * @param   string $key
264
+	 * @param   int    $ttl
265
+	 * @param   string $value
266
+	 *
267
+	 * @return  bool   TRUE if the command is successful.
268
+	 * @link    https://redis.io/commands/psetex
269
+	 * @example
270
+	 * <pre>
271
+	 * $redisCluster->psetex('key', 1000, 'value'); // sets key → value, with 1s TTL.
272
+	 * </pre>
273
+	 */
274
+	public function psetex($key, $ttl, $value) {}
275
+
276
+	/**
277
+	 * Set the string value in argument as value of the key if the key doesn't already exist in the database.
278
+	 *
279
+	 * @param   string $key
280
+	 * @param   string $value
281
+	 *
282
+	 * @return  bool   TRUE in case of success, FALSE in case of failure.
283
+	 * @link    https://redis.io/commands/setnx
284
+	 * @example
285
+	 * <pre>
286
+	 * $redisCluster->setnx('key', 'value');   // return TRUE
287
+	 * $redisCluster->setnx('key', 'value');   // return FALSE
288
+	 * </pre>
289
+	 */
290
+	public function setnx($key, $value) {}
291
+
292
+	/**
293
+	 * Sets a value and returns the previous entry at that key.
294
+	 *
295
+	 * @param   string $key
296
+	 * @param   string $value
297
+	 *
298
+	 * @return  string  A string, the previous value located at this key.
299
+	 * @link    https://redis.io/commands/getset
300
+	 * @example
301
+	 * <pre>
302
+	 * $redisCluster->set('x', '42');
303
+	 * $exValue = $redisCluster->getSet('x', 'lol');   // return '42', replaces x by 'lol'
304
+	 * $newValue = $redisCluster->get('x');            // return 'lol'
305
+	 * </pre>
306
+	 */
307
+	public function getSet($key, $value) {}
308
+
309
+	/**
310
+	 * Verify if the specified key exists.
311
+	 *
312
+	 * @param   string $key
313
+	 *
314
+	 * @return  bool If the key exists, return TRUE, otherwise return FALSE.
315
+	 * @link    https://redis.io/commands/exists
316
+	 * @example
317
+	 * <pre>
318
+	 * $redisCluster->set('key', 'value');
319
+	 * $redisCluster->exists('key');               //  TRUE
320
+	 * $redisCluster->exists('NonExistingKey');    // FALSE
321
+	 * </pre>
322
+	 */
323
+	public function exists($key) {}
324
+
325
+	/**
326
+	 * Returns the keys that match a certain pattern.
327
+	 *
328
+	 * @param   string $pattern pattern, using '*' as a wildcard.
329
+	 *
330
+	 * @return  array   of STRING: The keys that match a certain pattern.
331
+	 * @link    https://redis.io/commands/keys
332
+	 * @example
333
+	 * <pre>
334
+	 * $allKeys = $redisCluster->keys('*');   // all keys will match this.
335
+	 * $keyWithUserPrefix = $redisCluster->keys('user*');
336
+	 * </pre>
337
+	 */
338
+	public function keys($pattern) {}
339
+
340
+	/**
341
+	 * Returns the type of data pointed by a given key.
342
+	 *
343
+	 * @param   string $key
344
+	 *
345
+	 * @return  int
346
+	 *
347
+	 * Depending on the type of the data pointed by the key,
348
+	 * this method will return the following value:
349
+	 * - string: RedisCluster::REDIS_STRING
350
+	 * - set:   RedisCluster::REDIS_SET
351
+	 * - list:  RedisCluster::REDIS_LIST
352
+	 * - zset:  RedisCluster::REDIS_ZSET
353
+	 * - hash:  RedisCluster::REDIS_HASH
354
+	 * - other: RedisCluster::REDIS_NOT_FOUND
355
+	 * @link    https://redis.io/commands/type
356
+	 * @example $redisCluster->type('key');
357
+	 */
358
+	public function type($key) {}
359
+
360
+	/**
361
+	 * Returns and removes the first element of the list.
362
+	 *
363
+	 * @param   string $key
364
+	 *
365
+	 * @return  string|false if command executed successfully BOOL FALSE in case of failure (empty list)
366
+	 * @link    https://redis.io/commands/lpop
367
+	 * @example
368
+	 * <pre>
369
+	 * $redisCluster->rPush('key1', 'A');
370
+	 * $redisCluster->rPush('key1', 'B');
371
+	 * $redisCluster->rPush('key1', 'C');
372
+	 * var_dump( $redisCluster->lRange('key1', 0, -1) );
373
+	 * // Output:
374
+	 * // array(3) {
375
+	 * //   [0]=> string(1) "A"
376
+	 * //   [1]=> string(1) "B"
377
+	 * //   [2]=> string(1) "C"
378
+	 * // }
379
+	 * $redisCluster->lPop('key1');
380
+	 * var_dump( $redisCluster->lRange('key1', 0, -1) );
381
+	 * // Output:
382
+	 * // array(2) {
383
+	 * //   [0]=> string(1) "B"
384
+	 * //   [1]=> string(1) "C"
385
+	 * // }
386
+	 * </pre>
387
+	 */
388
+	public function lPop($key) {}
389
+
390
+	/**
391
+	 * Returns and removes the last element of the list.
392
+	 *
393
+	 * @param   string $key
394
+	 *
395
+	 * @return  string|false if command executed successfully BOOL FALSE in case of failure (empty list)
396
+	 * @link    https://redis.io/commands/rpop
397
+	 * @example
398
+	 * <pre>
399
+	 * $redisCluster->rPush('key1', 'A');
400
+	 * $redisCluster->rPush('key1', 'B');
401
+	 * $redisCluster->rPush('key1', 'C');
402
+	 * var_dump( $redisCluster->lRange('key1', 0, -1) );
403
+	 * // Output:
404
+	 * // array(3) {
405
+	 * //   [0]=> string(1) "A"
406
+	 * //   [1]=> string(1) "B"
407
+	 * //   [2]=> string(1) "C"
408
+	 * // }
409
+	 * $redisCluster->rPop('key1');
410
+	 * var_dump( $redisCluster->lRange('key1', 0, -1) );
411
+	 * // Output:
412
+	 * // array(2) {
413
+	 * //   [0]=> string(1) "A"
414
+	 * //   [1]=> string(1) "B"
415
+	 * // }
416
+	 * </pre>
417
+	 */
418
+	public function rPop($key) {}
419
+
420
+	/**
421
+	 * Set the list at index with the new value.
422
+	 *
423
+	 * @param string $key
424
+	 * @param int    $index
425
+	 * @param string $value
426
+	 *
427
+	 * @return bool TRUE if the new value is setted. FALSE if the index is out of range, or data type identified by key
428
+	 * is not a list.
429
+	 * @link    https://redis.io/commands/lset
430
+	 * @example
431
+	 * <pre>
432
+	 * $redisCluster->rPush('key1', 'A');
433
+	 * $redisCluster->rPush('key1', 'B');
434
+	 * $redisCluster->rPush('key1', 'C');  // key1 => [ 'A', 'B', 'C' ]
435
+	 * $redisCluster->lGet('key1', 0);     // 'A'
436
+	 * $redisCluster->lSet('key1', 0, 'X');
437
+	 * $redisCluster->lGet('key1', 0);     // 'X'
438
+	 * </pre>
439
+	 */
440
+	public function lSet($key, $index, $value) {}
441
+
442
+	/**
443
+	 * Removes and returns a random element from the set value at Key.
444
+	 *
445
+	 * @param   string $key
446
+	 *
447
+	 * @return  string  "popped" value
448
+	 * bool FALSE if set identified by key is empty or doesn't exist.
449
+	 * @link    https://redis.io/commands/spop
450
+	 * @example
451
+	 * <pre>
452
+	 * $redisCluster->sAdd('key1' , 'set1');
453
+	 * $redisCluster->sAdd('key1' , 'set2');
454
+	 * $redisCluster->sAdd('key1' , 'set3');
455
+	 * var_dump($redisCluster->sMembers('key1'));// 'key1' => {'set3', 'set1', 'set2'}
456
+	 * $redisCluster->sPop('key1');// 'set1'
457
+	 * var_dump($redisCluster->sMembers('key1'));// 'key1' => {'set3', 'set2'}
458
+	 * $redisCluster->sPop('key1');// 'set3',
459
+	 * var_dump($redisCluster->sMembers('key1'));// 'key1' => {'set2'}
460
+	 * </pre>
461
+	 */
462
+	public function sPop($key) {}
463
+
464
+	/**
465
+	 * Adds the string values to the head (left) of the list. Creates the list if the key didn't exist.
466
+	 * If the key exists and is not a list, FALSE is returned.
467
+	 *
468
+	 * @param   string $key
469
+	 * @param   string $value1 String, value to push in key
470
+	 * @param   string $value2 Optional
471
+	 * @param   string $valueN Optional
472
+	 *
473
+	 * @return  int|false    The new length of the list in case of success, FALSE in case of Failure.
474
+	 * @link    https://redis.io/commands/lpush
475
+	 * @example
476
+	 * <pre>
477
+	 * $redisCluster->lPush('l', 'v1', 'v2', 'v3', 'v4')   // int(4)
478
+	 * var_dump( $redisCluster->lRange('l', 0, -1) );
479
+	 * //// Output:
480
+	 * // array(4) {
481
+	 * //   [0]=> string(2) "v4"
482
+	 * //   [1]=> string(2) "v3"
483
+	 * //   [2]=> string(2) "v2"
484
+	 * //   [3]=> string(2) "v1"
485
+	 * // }
486
+	 * </pre>
487
+	 */
488
+	public function lPush($key, $value1, $value2 = null, $valueN = null) {}
489
+
490
+	/**
491
+	 * Adds the string values to the tail (right) of the list. Creates the list if the key didn't exist.
492
+	 * If the key exists and is not a list, FALSE is returned.
493
+	 *
494
+	 * @param   string $key
495
+	 * @param   string $value1 String, value to push in key
496
+	 * @param   string $value2 Optional
497
+	 * @param   string $valueN Optional
498
+	 *
499
+	 * @return  int|false     The new length of the list in case of success, FALSE in case of Failure.
500
+	 * @link    https://redis.io/commands/rpush
501
+	 * @example
502
+	 * <pre>
503
+	 * $redisCluster->rPush('r', 'v1', 'v2', 'v3', 'v4');    // int(4)
504
+	 * var_dump( $redisCluster->lRange('r', 0, -1) );
505
+	 * //// Output:
506
+	 * // array(4) {
507
+	 * //   [0]=> string(2) "v1"
508
+	 * //   [1]=> string(2) "v2"
509
+	 * //   [2]=> string(2) "v3"
510
+	 * //   [3]=> string(2) "v4"
511
+	 * // }
512
+	 * </pre>
513
+	 */
514
+	public function rPush($key, $value1, $value2 = null, $valueN = null) {}
515
+
516
+	/**
517
+	 * BLPOP is a blocking list pop primitive.
518
+	 * It is the blocking version of LPOP because it blocks the connection when
519
+	 * there are no elements to pop from any of the given lists.
520
+	 * An element is popped from the head of the first list that is non-empty,
521
+	 * with the given keys being checked in the order that they are given.
522
+	 *
523
+	 * @param array $keys    Array containing the keys of the lists
524
+	 *                       Or STRING Key1 STRING Key2 STRING Key3 ... STRING Keyn
525
+	 * @param int   $timeout Timeout
526
+	 *
527
+	 * @return  array array('listName', 'element')
528
+	 * @link    https://redis.io/commands/blpop
529
+	 * @example
530
+	 * <pre>
531
+	 * // Non blocking feature
532
+	 * $redisCluster->lPush('key1', 'A');
533
+	 * $redisCluster->del('key2');
534
+	 *
535
+	 * $redisCluster->blPop('key1', 'key2', 10); // array('key1', 'A')
536
+	 * // OR
537
+	 * $redisCluster->blPop(array('key1', 'key2'), 10); // array('key1', 'A')
538
+	 *
539
+	 * $redisCluster->brPop('key1', 'key2', 10); // array('key1', 'A')
540
+	 * // OR
541
+	 * $redisCluster->brPop(array('key1', 'key2'), 10); // array('key1', 'A')
542
+	 *
543
+	 * // Blocking feature
544
+	 *
545
+	 * // process 1
546
+	 * $redisCluster->del('key1');
547
+	 * $redisCluster->blPop('key1', 10);
548
+	 * // blocking for 10 seconds
549
+	 *
550
+	 * // process 2
551
+	 * $redisCluster->lPush('key1', 'A');
552
+	 *
553
+	 * // process 1
554
+	 * // array('key1', 'A') is returned
555
+	 * </pre>
556
+	 */
557
+	public function blPop(array $keys, $timeout) {}
558
+
559
+	/**
560
+	 * BRPOP is a blocking list pop primitive.
561
+	 * It is the blocking version of RPOP because it blocks the connection when
562
+	 * there are no elements to pop from any of the given lists.
563
+	 * An element is popped from the tail of the first list that is non-empty,
564
+	 * with the given keys being checked in the order that they are given.
565
+	 * See the BLPOP documentation(https://redis.io/commands/blpop) for the exact semantics,
566
+	 * since BRPOP is identical to BLPOP with the only difference being that
567
+	 * it pops elements from the tail of a list instead of popping from the head.
568
+	 *
569
+	 * @param array $keys    Array containing the keys of the lists
570
+	 *                       Or STRING Key1 STRING Key2 STRING Key3 ... STRING Keyn
571
+	 * @param int   $timeout Timeout
572
+	 *
573
+	 * @return  array array('listName', 'element')
574
+	 * @link    https://redis.io/commands/brpop
575
+	 * @example
576
+	 * <pre>
577
+	 * // Non blocking feature
578
+	 * $redisCluster->lPush('key1', 'A');
579
+	 * $redisCluster->del('key2');
580
+	 *
581
+	 * $redisCluster->blPop('key1', 'key2', 10); // array('key1', 'A')
582
+	 * // OR
583
+	 * $redisCluster->blPop(array('key1', 'key2'), 10); // array('key1', 'A')
584
+	 *
585
+	 * $redisCluster->brPop('key1', 'key2', 10); // array('key1', 'A')
586
+	 * // OR
587
+	 * $redisCluster->brPop(array('key1', 'key2'), 10); // array('key1', 'A')
588
+	 *
589
+	 * // Blocking feature
590
+	 *
591
+	 * // process 1
592
+	 * $redisCluster->del('key1');
593
+	 * $redisCluster->blPop('key1', 10);
594
+	 * // blocking for 10 seconds
595
+	 *
596
+	 * // process 2
597
+	 * $redisCluster->lPush('key1', 'A');
598
+	 *
599
+	 * // process 1
600
+	 * // array('key1', 'A') is returned
601
+	 * </pre>
602
+	 */
603
+	public function brPop(array $keys, $timeout) {}
604
+
605
+	/**
606
+	 * Adds the string value to the tail (right) of the list if the ist exists. FALSE in case of Failure.
607
+	 *
608
+	 * @param   string $key
609
+	 * @param   string $value String, value to push in key
610
+	 *
611
+	 * @return  int|false     The new length of the list in case of success, FALSE in case of Failure.
612
+	 * @link    https://redis.io/commands/rpushx
613
+	 * @example
614
+	 * <pre>
615
+	 * $redisCluster->del('key1');
616
+	 * $redisCluster->rPushx('key1', 'A'); // returns 0
617
+	 * $redisCluster->rPush('key1', 'A'); // returns 1
618
+	 * $redisCluster->rPushx('key1', 'B'); // returns 2
619
+	 * $redisCluster->rPushx('key1', 'C'); // returns 3
620
+	 * // key1 now points to the following list: [ 'A', 'B', 'C' ]
621
+	 * </pre>
622
+	 */
623
+	public function rPushx($key, $value) {}
624
+
625
+	/**
626
+	 * Adds the string value to the head (left) of the list if the list exists.
627
+	 *
628
+	 * @param   string $key
629
+	 * @param   string $value String, value to push in key
630
+	 *
631
+	 * @return  int|false     The new length of the list in case of success, FALSE in case of Failure.
632
+	 * @link    https://redis.io/commands/lpushx
633
+	 * @example
634
+	 * <pre>
635
+	 * $redisCluster->del('key1');
636
+	 * $redisCluster->lPushx('key1', 'A');     // returns 0
637
+	 * $redisCluster->lPush('key1', 'A');      // returns 1
638
+	 * $redisCluster->lPushx('key1', 'B');     // returns 2
639
+	 * $redisCluster->lPushx('key1', 'C');     // returns 3
640
+	 * // key1 now points to the following list: [ 'C', 'B', 'A' ]
641
+	 * </pre>
642
+	 */
643
+	public function lPushx($key, $value) {}
644
+
645
+	/**
646
+	 * Insert value in the list before or after the pivot value. the parameter options
647
+	 * specify the position of the insert (before or after). If the list didn't exists,
648
+	 * or the pivot didn't exists, the value is not inserted.
649
+	 *
650
+	 * @param   string $key
651
+	 * @param   int    $position RedisCluster::BEFORE | RedisCluster::AFTER
652
+	 * @param   string $pivot
653
+	 * @param   string $value
654
+	 *
655
+	 * @return  int     The number of the elements in the list, -1 if the pivot didn't exists.
656
+	 * @link    https://redis.io/commands/linsert
657
+	 * @example
658
+	 * <pre>
659
+	 * $redisCluster->del('key1');
660
+	 * $redisCluster->lInsert('key1', RedisCluster::AFTER, 'A', 'X');    // 0
661
+	 *
662
+	 * $redisCluster->lPush('key1', 'A');
663
+	 * $redisCluster->lPush('key1', 'B');
664
+	 * $redisCluster->lPush('key1', 'C');
665
+	 *
666
+	 * $redisCluster->lInsert('key1', RedisCluster::BEFORE, 'C', 'X');   // 4
667
+	 * $redisCluster->lRange('key1', 0, -1);                      // array('X', 'C', 'B', 'A')
668
+	 *
669
+	 * $redisCluster->lInsert('key1', RedisCluster::AFTER, 'C', 'Y');    // 5
670
+	 * $redisCluster->lRange('key1', 0, -1);                      // array('X', 'C', 'Y', 'B', 'A')
671
+	 *
672
+	 * $redisCluster->lInsert('key1', RedisCluster::AFTER, 'W', 'value'); // -1
673
+	 * </pre>
674
+	 */
675
+	public function lInsert($key, $position, $pivot, $value) {}
676
+
677
+	/**
678
+	 * Return the specified element of the list stored at the specified key.
679
+	 * 0 the first element, 1 the second ... -1 the last element, -2 the penultimate ...
680
+	 * Return FALSE in case of a bad index or a key that doesn't point to a list.
681
+	 *
682
+	 * @param string $key
683
+	 * @param int    $index
684
+	 *
685
+	 * @return string|false the element at this index
686
+	 * Bool FALSE if the key identifies a non-string data type, or no value corresponds to this index in the list Key.
687
+	 * @link    https://redis.io/commands/lindex
688
+	 * @example
689
+	 * <pre>
690
+	 * $redisCluster->rPush('key1', 'A');
691
+	 * $redisCluster->rPush('key1', 'B');
692
+	 * $redisCluster->rPush('key1', 'C');  // key1 => [ 'A', 'B', 'C' ]
693
+	 * $redisCluster->lGet('key1', 0);     // 'A'
694
+	 * $redisCluster->lGet('key1', -1);    // 'C'
695
+	 * $redisCluster->lGet('key1', 10);    // `FALSE`
696
+	 * </pre>
697
+	 */
698
+	public function lIndex($key, $index) {}
699
+
700
+	/**
701
+	 * Removes the first count occurrences of the value element from the list.
702
+	 * If count is zero, all the matching elements are removed. If count is negative,
703
+	 * elements are removed from tail to head.
704
+	 *
705
+	 * @param   string $key
706
+	 * @param   string $value
707
+	 * @param   int    $count
708
+	 *
709
+	 * @return  int     the number of elements to remove
710
+	 * bool FALSE if the value identified by key is not a list.
711
+	 * @link    https://redis.io/commands/lrem
712
+	 * @example
713
+	 * <pre>
714
+	 * $redisCluster->lPush('key1', 'A');
715
+	 * $redisCluster->lPush('key1', 'B');
716
+	 * $redisCluster->lPush('key1', 'C');
717
+	 * $redisCluster->lPush('key1', 'A');
718
+	 * $redisCluster->lPush('key1', 'A');
719
+	 *
720
+	 * $redisCluster->lRange('key1', 0, -1);   // array('A', 'A', 'C', 'B', 'A')
721
+	 * $redisCluster->lRem('key1', 'A', 2);    // 2
722
+	 * $redisCluster->lRange('key1', 0, -1);   // array('C', 'B', 'A')
723
+	 * </pre>
724
+	 */
725
+	public function lRem($key, $value, $count) {}
726
+
727
+	/**
728
+	 * A blocking version of rpoplpush, with an integral timeout in the third parameter.
729
+	 *
730
+	 * @param   string $srcKey
731
+	 * @param   string $dstKey
732
+	 * @param   int    $timeout
733
+	 *
734
+	 * @return  string|false  The element that was moved in case of success, FALSE in case of timeout.
735
+	 * @link    https://redis.io/commands/brpoplpush
736
+	 */
737
+	public function brpoplpush($srcKey, $dstKey, $timeout) {}
738
+
739
+	/**
740
+	 * Pops a value from the tail of a list, and pushes it to the front of another list.
741
+	 * Also return this value.
742
+	 *
743
+	 * @since   redis >= 1.2
744
+	 *
745
+	 * @param   string $srcKey
746
+	 * @param   string $dstKey
747
+	 *
748
+	 * @return  string|false  The element that was moved in case of success, FALSE in case of failure.
749
+	 * @link    https://redis.io/commands/rpoplpush
750
+	 * @example
751
+	 * <pre>
752
+	 * $redisCluster->del('x', 'y');
753
+	 *
754
+	 * $redisCluster->lPush('x', 'abc');
755
+	 * $redisCluster->lPush('x', 'def');
756
+	 * $redisCluster->lPush('y', '123');
757
+	 * $redisCluster->lPush('y', '456');
758
+	 *
759
+	 * // move the last of x to the front of y.
760
+	 * var_dump($redisCluster->rpoplpush('x', 'y'));
761
+	 * var_dump($redisCluster->lRange('x', 0, -1));
762
+	 * var_dump($redisCluster->lRange('y', 0, -1));
763
+	 *
764
+	 * ////Output:
765
+	 * //
766
+	 * //string(3) "abc"
767
+	 * //array(1) {
768
+	 * //  [0]=>
769
+	 * //  string(3) "def"
770
+	 * //}
771
+	 * //array(3) {
772
+	 * //  [0]=>
773
+	 * //  string(3) "abc"
774
+	 * //  [1]=>
775
+	 * //  string(3) "456"
776
+	 * //  [2]=>
777
+	 * //  string(3) "123"
778
+	 * //}
779
+	 * </pre>
780
+	 */
781
+	public function rpoplpush($srcKey, $dstKey) {}
782
+
783
+	/**
784
+	 * Returns the size of a list identified by Key. If the list didn't exist or is empty,
785
+	 * the command returns 0. If the data type identified by Key is not a list, the command return FALSE.
786
+	 *
787
+	 * @param   string $key
788
+	 *
789
+	 * @return  int     The size of the list identified by Key exists.
790
+	 * bool FALSE if the data type identified by Key is not list
791
+	 * @link    https://redis.io/commands/llen
792
+	 * @example
793
+	 * <pre>
794
+	 * $redisCluster->rPush('key1', 'A');
795
+	 * $redisCluster->rPush('key1', 'B');
796
+	 * $redisCluster->rPush('key1', 'C');  // key1 => [ 'A', 'B', 'C' ]
797
+	 * $redisCluster->lLen('key1');       // 3
798
+	 * $redisCluster->rPop('key1');
799
+	 * $redisCluster->lLen('key1');       // 2
800
+	 * </pre>
801
+	 */
802
+	public function lLen($key) {}
803
+
804
+	/**
805
+	 * Returns the set cardinality (number of elements) of the set stored at key.
806
+	 *
807
+	 * @param   string $key
808
+	 *
809
+	 * @return  int   the cardinality (number of elements) of the set, or 0 if key does not exist.
810
+	 * @link    https://redis.io/commands/scard
811
+	 * @example
812
+	 * <pre>
813
+	 * $redisCluster->sAdd('key1' , 'set1');
814
+	 * $redisCluster->sAdd('key1' , 'set2');
815
+	 * $redisCluster->sAdd('key1' , 'set3');   // 'key1' => {'set1', 'set2', 'set3'}
816
+	 * $redisCluster->sCard('key1');           // 3
817
+	 * $redisCluster->sCard('keyX');           // 0
818
+	 * </pre>
819
+	 */
820
+	public function sCard($key) {}
821
+
822
+	/**
823
+	 * Returns all the members of the set value stored at key.
824
+	 * This has the same effect as running SINTER with one argument key.
825
+	 *
826
+	 * @param   string $key
827
+	 *
828
+	 * @return  array   All elements of the set.
829
+	 * @link    https://redis.io/commands/smembers
830
+	 * @example
831
+	 * <pre>
832
+	 * $redisCluster->del('s');
833
+	 * $redisCluster->sAdd('s', 'a');
834
+	 * $redisCluster->sAdd('s', 'b');
835
+	 * $redisCluster->sAdd('s', 'a');
836
+	 * $redisCluster->sAdd('s', 'c');
837
+	 * var_dump($redisCluster->sMembers('s'));
838
+	 *
839
+	 * ////Output:
840
+	 * //
841
+	 * //array(3) {
842
+	 * //  [0]=>
843
+	 * //  string(1) "b"
844
+	 * //  [1]=>
845
+	 * //  string(1) "c"
846
+	 * //  [2]=>
847
+	 * //  string(1) "a"
848
+	 * //}
849
+	 * // The order is random and corresponds to redis' own internal representation of the set structure.
850
+	 * </pre>
851
+	 */
852
+	public function sMembers($key) {}
853
+
854
+	/**
855
+	 * Returns if member is a member of the set stored at key.
856
+	 *
857
+	 * @param   string $key
858
+	 * @param   string $value
859
+	 *
860
+	 * @return  bool    TRUE if value is a member of the set at key key, FALSE otherwise.
861
+	 * @link    https://redis.io/commands/sismember
862
+	 * @example
863
+	 * <pre>
864
+	 * $redisCluster->sAdd('key1' , 'set1');
865
+	 * $redisCluster->sAdd('key1' , 'set2');
866
+	 * $redisCluster->sAdd('key1' , 'set3'); // 'key1' => {'set1', 'set2', 'set3'}
867
+	 *
868
+	 * $redisCluster->sIsMember('key1', 'set1'); // TRUE
869
+	 * $redisCluster->sIsMember('key1', 'setX'); // FALSE
870
+	 * </pre>
871
+	 */
872
+	public function sIsMember($key, $value) {}
873
+
874
+	/**
875
+	 * Adds a values to the set value stored at key.
876
+	 * If this value is already in the set, FALSE is returned.
877
+	 *
878
+	 * @param   string $key    Required key
879
+	 * @param   string $value1 Required value
880
+	 * @param   string $value2 Optional value
881
+	 * @param   string $valueN Optional value
882
+	 *
883
+	 * @return  int|false     The number of elements added to the set
884
+	 * @link    https://redis.io/commands/sadd
885
+	 * @example
886
+	 * <pre>
887
+	 * $redisCluster->sAdd('k', 'v1');                // int(1)
888
+	 * $redisCluster->sAdd('k', 'v1', 'v2', 'v3');    // int(2)
889
+	 * </pre>
890
+	 */
891
+	public function sAdd($key, $value1, $value2 = null, $valueN = null) {}
892
+
893
+	/**
894
+	 * Adds a values to the set value stored at key.
895
+	 * If this value is already in the set, FALSE is returned.
896
+	 *
897
+	 * @param   string $key Required key
898
+	 * @param   array  $valueArray
899
+	 *
900
+	 * @return  int|false     The number of elements added to the set
901
+	 * @example
902
+	 * <pre>
903
+	 * $redisCluster->sAddArray('k', ['v1', 'v2', 'v3']);
904
+	 * //This is a feature in php only. Same as $redisCluster->sAdd('k', 'v1', 'v2', 'v3');
905
+	 * </pre>
906
+	 */
907
+	public function sAddArray($key, array $valueArray) {}
908
+
909
+	/**
910
+	 * Removes the specified members from the set value stored at key.
911
+	 *
912
+	 * @param   string $key
913
+	 * @param   string $member1
914
+	 * @param   string $member2
915
+	 * @param   string $memberN
916
+	 *
917
+	 * @return  int     The number of elements removed from the set.
918
+	 * @link    https://redis.io/commands/srem
919
+	 * @example
920
+	 * <pre>
921
+	 * var_dump( $redisCluster->sAdd('k', 'v1', 'v2', 'v3') );    // int(3)
922
+	 * var_dump( $redisCluster->sRem('k', 'v2', 'v3') );          // int(2)
923
+	 * var_dump( $redisCluster->sMembers('k') );
924
+	 * //// Output:
925
+	 * // array(1) {
926
+	 * //   [0]=> string(2) "v1"
927
+	 * // }
928
+	 * </pre>
929
+	 */
930
+	public function sRem($key, $member1, $member2 = null, $memberN = null) {}
931
+
932
+	/**
933
+	 * Performs the union between N sets and returns it.
934
+	 *
935
+	 * @param   string $key1 Any number of keys corresponding to sets in redis.
936
+	 * @param   string $key2 ...
937
+	 * @param   string $keyN ...
938
+	 *
939
+	 * @return  array   of strings: The union of all these sets.
940
+	 * @link    https://redis.io/commands/sunionstore
941
+	 * @example
942
+	 * <pre>
943
+	 * $redisCluster->del('s0', 's1', 's2');
944
+	 *
945
+	 * $redisCluster->sAdd('s0', '1');
946
+	 * $redisCluster->sAdd('s0', '2');
947
+	 * $redisCluster->sAdd('s1', '3');
948
+	 * $redisCluster->sAdd('s1', '1');
949
+	 * $redisCluster->sAdd('s2', '3');
950
+	 * $redisCluster->sAdd('s2', '4');
951
+	 *
952
+	 * var_dump($redisCluster->sUnion('s0', 's1', 's2'));
953
+	 *
954
+	 * //// Output:
955
+	 * //
956
+	 * //array(4) {
957
+	 * //  [0]=>
958
+	 * //  string(1) "3"
959
+	 * //  [1]=>
960
+	 * //  string(1) "4"
961
+	 * //  [2]=>
962
+	 * //  string(1) "1"
963
+	 * //  [3]=>
964
+	 * //  string(1) "2"
965
+	 * //}
966
+	 * </pre>
967
+	 */
968
+	public function sUnion($key1, $key2, $keyN = null) {}
969
+
970
+	/**
971
+	 * Performs the same action as sUnion, but stores the result in the first key
972
+	 *
973
+	 * @param   string $dstKey the key to store the diff into.
974
+	 * @param   string $key1   Any number of keys corresponding to sets in redis.
975
+	 * @param   string $key2   ...
976
+	 * @param   string $keyN   ...
977
+	 *
978
+	 * @return  int     Any number of keys corresponding to sets in redis.
979
+	 * @link    https://redis.io/commands/sunionstore
980
+	 * @example
981
+	 * <pre>
982
+	 * $redisCluster->del('s0', 's1', 's2');
983
+	 *
984
+	 * $redisCluster->sAdd('s0', '1');
985
+	 * $redisCluster->sAdd('s0', '2');
986
+	 * $redisCluster->sAdd('s1', '3');
987
+	 * $redisCluster->sAdd('s1', '1');
988
+	 * $redisCluster->sAdd('s2', '3');
989
+	 * $redisCluster->sAdd('s2', '4');
990
+	 *
991
+	 * var_dump($redisCluster->sUnionStore('dst', 's0', 's1', 's2'));
992
+	 * var_dump($redisCluster->sMembers('dst'));
993
+	 *
994
+	 * //// Output:
995
+	 * //
996
+	 * //int(4)
997
+	 * //array(4) {
998
+	 * //  [0]=>
999
+	 * //  string(1) "3"
1000
+	 * //  [1]=>
1001
+	 * //  string(1) "4"
1002
+	 * //  [2]=>
1003
+	 * //  string(1) "1"
1004
+	 * //  [3]=>
1005
+	 * //  string(1) "2"
1006
+	 * //}
1007
+	 * </pre>
1008
+	 */
1009
+	public function sUnionStore($dstKey, $key1, $key2, $keyN = null) {}
1010
+
1011
+	/**
1012
+	 * Returns the members of a set resulting from the intersection of all the sets
1013
+	 * held at the specified keys. If just a single key is specified, then this command
1014
+	 * produces the members of this set. If one of the keys is missing, FALSE is returned.
1015
+	 *
1016
+	 * @param   string $key1 keys identifying the different sets on which we will apply the intersection.
1017
+	 * @param   string $key2 ...
1018
+	 * @param   string $keyN ...
1019
+	 *
1020
+	 * @return  array contain the result of the intersection between those keys.
1021
+	 * If the intersection between the different sets is empty, the return value will be empty array.
1022
+	 * @link    https://redis.io/commands/sinterstore
1023
+	 * @example
1024
+	 * <pre>
1025
+	 * $redisCluster->sAdd('key1', 'val1');
1026
+	 * $redisCluster->sAdd('key1', 'val2');
1027
+	 * $redisCluster->sAdd('key1', 'val3');
1028
+	 * $redisCluster->sAdd('key1', 'val4');
1029
+	 *
1030
+	 * $redisCluster->sAdd('key2', 'val3');
1031
+	 * $redisCluster->sAdd('key2', 'val4');
1032
+	 *
1033
+	 * $redisCluster->sAdd('key3', 'val3');
1034
+	 * $redisCluster->sAdd('key3', 'val4');
1035
+	 *
1036
+	 * var_dump($redisCluster->sInter('key1', 'key2', 'key3'));
1037
+	 *
1038
+	 * // Output:
1039
+	 * //
1040
+	 * //array(2) {
1041
+	 * //  [0]=>
1042
+	 * //  string(4) "val4"
1043
+	 * //  [1]=>
1044
+	 * //  string(4) "val3"
1045
+	 * //}
1046
+	 * </pre>
1047
+	 */
1048
+	public function sInter($key1, $key2, $keyN = null) {}
1049
+
1050
+	/**
1051
+	 * Performs a sInter command and stores the result in a new set.
1052
+	 *
1053
+	 * @param   string $dstKey the key to store the diff into.
1054
+	 * @param   string $key1   are intersected as in sInter.
1055
+	 * @param   string $key2   ...
1056
+	 * @param   string $keyN   ...
1057
+	 *
1058
+	 * @return  int|false    The cardinality of the resulting set, or FALSE in case of a missing key.
1059
+	 * @link    https://redis.io/commands/sinterstore
1060
+	 * @example
1061
+	 * <pre>
1062
+	 * $redisCluster->sAdd('key1', 'val1');
1063
+	 * $redisCluster->sAdd('key1', 'val2');
1064
+	 * $redisCluster->sAdd('key1', 'val3');
1065
+	 * $redisCluster->sAdd('key1', 'val4');
1066
+	 *
1067
+	 * $redisCluster->sAdd('key2', 'val3');
1068
+	 * $redisCluster->sAdd('key2', 'val4');
1069
+	 *
1070
+	 * $redisCluster->sAdd('key3', 'val3');
1071
+	 * $redisCluster->sAdd('key3', 'val4');
1072
+	 *
1073
+	 * var_dump($redisCluster->sInterStore('output', 'key1', 'key2', 'key3'));
1074
+	 * var_dump($redisCluster->sMembers('output'));
1075
+	 *
1076
+	 * //// Output:
1077
+	 * //
1078
+	 * //int(2)
1079
+	 * //array(2) {
1080
+	 * //  [0]=>
1081
+	 * //  string(4) "val4"
1082
+	 * //  [1]=>
1083
+	 * //  string(4) "val3"
1084
+	 * //}
1085
+	 * </pre>
1086
+	 */
1087
+	public function sInterStore($dstKey, $key1, $key2, $keyN = null) {}
1088
+
1089
+	/**
1090
+	 * Performs the difference between N sets and returns it.
1091
+	 *
1092
+	 * @param   string $key1 Any number of keys corresponding to sets in redis.
1093
+	 * @param   string $key2 ...
1094
+	 * @param   string $keyN ...
1095
+	 *
1096
+	 * @return  array   of strings: The difference of the first set will all the others.
1097
+	 * @link    https://redis.io/commands/sdiff
1098
+	 * @example
1099
+	 * <pre>
1100
+	 * $redisCluster->del('s0', 's1', 's2');
1101
+	 *
1102
+	 * $redisCluster->sAdd('s0', '1');
1103
+	 * $redisCluster->sAdd('s0', '2');
1104
+	 * $redisCluster->sAdd('s0', '3');
1105
+	 * $redisCluster->sAdd('s0', '4');
1106
+	 *
1107
+	 * $redisCluster->sAdd('s1', '1');
1108
+	 * $redisCluster->sAdd('s2', '3');
1109
+	 *
1110
+	 * var_dump($redisCluster->sDiff('s0', 's1', 's2'));
1111
+	 *
1112
+	 * //// Output:
1113
+	 * //
1114
+	 * //array(2) {
1115
+	 * //  [0]=>
1116
+	 * //  string(1) "4"
1117
+	 * //  [1]=>
1118
+	 * //  string(1) "2"
1119
+	 * //}
1120
+	 * </pre>
1121
+	 */
1122
+	public function sDiff($key1, $key2, $keyN = null) {}
1123
+
1124
+	/**
1125
+	 * Performs the same action as sDiff, but stores the result in the first key
1126
+	 *
1127
+	 * @param   string $dstKey the key to store the diff into.
1128
+	 * @param   string $key1   Any number of keys corresponding to sets in redis
1129
+	 * @param   string $key2   ...
1130
+	 * @param   string $keyN   ...
1131
+	 *
1132
+	 * @return  int|false    The cardinality of the resulting set, or FALSE in case of a missing key.
1133
+	 * @link    https://redis.io/commands/sdiffstore
1134
+	 * @example
1135
+	 * <pre>
1136
+	 * $redisCluster->del('s0', 's1', 's2');
1137
+	 *
1138
+	 * $redisCluster->sAdd('s0', '1');
1139
+	 * $redisCluster->sAdd('s0', '2');
1140
+	 * $redisCluster->sAdd('s0', '3');
1141
+	 * $redisCluster->sAdd('s0', '4');
1142
+	 *
1143
+	 * $redisCluster->sAdd('s1', '1');
1144
+	 * $redisCluster->sAdd('s2', '3');
1145
+	 *
1146
+	 * var_dump($redisCluster->sDiffStore('dst', 's0', 's1', 's2'));
1147
+	 * var_dump($redisCluster->sMembers('dst'));
1148
+	 *
1149
+	 * //// Output:
1150
+	 * //
1151
+	 * //int(2)
1152
+	 * //array(2) {
1153
+	 * //  [0]=>
1154
+	 * //  string(1) "4"
1155
+	 * //  [1]=>
1156
+	 * //  string(1) "2"
1157
+	 * //}
1158
+	 * </pre>
1159
+	 */
1160
+	public function sDiffStore($dstKey, $key1, $key2, $keyN = null) {}
1161
+
1162
+	/**
1163
+	 * Returns a random element(s) from the set value at Key, without removing it.
1164
+	 *
1165
+	 * @param   string $key
1166
+	 * @param   int    $count [optional]
1167
+	 *
1168
+	 * @return  string|array  value(s) from the set
1169
+	 * bool FALSE if set identified by key is empty or doesn't exist and count argument isn't passed.
1170
+	 * @link    https://redis.io/commands/srandmember
1171
+	 * @example
1172
+	 * <pre>
1173
+	 * $redisCluster->sAdd('key1' , 'one');
1174
+	 * $redisCluster->sAdd('key1' , 'two');
1175
+	 * $redisCluster->sAdd('key1' , 'three');              // 'key1' => {'one', 'two', 'three'}
1176
+	 *
1177
+	 * var_dump( $redisCluster->sRandMember('key1') );     // 'key1' => {'one', 'two', 'three'}
1178
+	 *
1179
+	 * // string(5) "three"
1180
+	 *
1181
+	 * var_dump( $redisCluster->sRandMember('key1', 2) );  // 'key1' => {'one', 'two', 'three'}
1182
+	 *
1183
+	 * // array(2) {
1184
+	 * //   [0]=> string(2) "one"
1185
+	 * //   [1]=> string(2) "three"
1186
+	 * // }
1187
+	 * </pre>
1188
+	 */
1189
+	public function sRandMember($key, $count = null) {}
1190
+
1191
+	/**
1192
+	 * Get the length of a string value.
1193
+	 *
1194
+	 * @param   string $key
1195
+	 *
1196
+	 * @return  int
1197
+	 * @link    https://redis.io/commands/strlen
1198
+	 * @example
1199
+	 * <pre>
1200
+	 * $redisCluster->set('key', 'value');
1201
+	 * $redisCluster->strlen('key'); // 5
1202
+	 * </pre>
1203
+	 */
1204
+	public function strlen($key) {}
1205
+
1206
+	/**
1207
+	 * Remove the expiration timer from a key.
1208
+	 *
1209
+	 * @param   string $key
1210
+	 *
1211
+	 * @return  bool   TRUE if a timeout was removed, FALSE if the key didn’t exist or didn’t have an expiration timer.
1212
+	 * @link    https://redis.io/commands/persist
1213
+	 * @example $redisCluster->persist('key');
1214
+	 */
1215
+	public function persist($key) {}
1216
+
1217
+	/**
1218
+	 * Returns the remaining time to live of a key that has a timeout.
1219
+	 * This introspection capability allows a Redis client to check how many seconds a given key will continue to be
1220
+	 * part of the dataset. In Redis 2.6 or older the command returns -1 if the key does not exist or if the key exist
1221
+	 * but has no associated expire. Starting with Redis 2.8 the return value in case of error changed: Returns -2 if
1222
+	 * the key does not exist. Returns -1 if the key exists but has no associated expire.
1223
+	 *
1224
+	 * @param   string $key
1225
+	 *
1226
+	 * @return  int    the time left to live in seconds.
1227
+	 * @link    https://redis.io/commands/ttl
1228
+	 * @example $redisCluster->ttl('key');
1229
+	 */
1230
+	public function ttl($key) {}
1231
+
1232
+	/**
1233
+	 * Returns the remaining time to live of a key that has an expire set,
1234
+	 * with the sole difference that TTL returns the amount of remaining time in seconds while PTTL returns it in
1235
+	 * milliseconds. In Redis 2.6 or older the command returns -1 if the key does not exist or if the key exist but has
1236
+	 * no associated expire. Starting with Redis 2.8 the return value in case of error changed: Returns -2 if the key
1237
+	 * does not exist. Returns -1 if the key exists but has no associated expire.
1238
+	 *
1239
+	 * @param   string $key
1240
+	 *
1241
+	 * @return  int     the time left to live in milliseconds.
1242
+	 * @link    https://redis.io/commands/pttl
1243
+	 * @example $redisCluster->pttl('key');
1244
+	 */
1245
+	public function pttl($key) {}
1246
+
1247
+	/**
1248
+	 * Returns the cardinality of an ordered set.
1249
+	 *
1250
+	 * @param   string $key
1251
+	 *
1252
+	 * @return  int     the set's cardinality
1253
+	 * @link    https://redis.io/commands/zsize
1254
+	 * @example
1255
+	 * <pre>
1256
+	 * $redisCluster->zAdd('key', 0, 'val0');
1257
+	 * $redisCluster->zAdd('key', 2, 'val2');
1258
+	 * $redisCluster->zAdd('key', 10, 'val10');
1259
+	 * $redisCluster->zCard('key');            // 3
1260
+	 * </pre>
1261
+	 */
1262
+	public function zCard($key) {}
1263
+
1264
+	/**
1265
+	 * Returns the number of elements of the sorted set stored at the specified key which have
1266
+	 * scores in the range [start,end]. Adding a parenthesis before start or end excludes it
1267
+	 * from the range. +inf and -inf are also valid limits.
1268
+	 *
1269
+	 * @param   string $key
1270
+	 * @param   string $start
1271
+	 * @param   string $end
1272
+	 *
1273
+	 * @return  int     the size of a corresponding zRangeByScore.
1274
+	 * @link    https://redis.io/commands/zcount
1275
+	 * @example
1276
+	 * <pre>
1277
+	 * $redisCluster->zAdd('key', 0, 'val0');
1278
+	 * $redisCluster->zAdd('key', 2, 'val2');
1279
+	 * $redisCluster->zAdd('key', 10, 'val10');
1280
+	 * $redisCluster->zCount('key', 0, 3); // 2, corresponding to array('val0', 'val2')
1281
+	 * </pre>
1282
+	 */
1283
+	public function zCount($key, $start, $end) {}
1284
+
1285
+	/**
1286
+	 * Deletes the elements of the sorted set stored at the specified key which have scores in the range [start,end].
1287
+	 *
1288
+	 * @param   string $key
1289
+	 * @param   string $start double or "+inf" or "-inf" as a string
1290
+	 * @param   string $end double or "+inf" or "-inf" as a string
1291
+	 *
1292
+	 * @return  int             The number of values deleted from the sorted set
1293
+	 * @link    https://redis.io/commands/zremrangebyscore
1294
+	 * @example
1295
+	 * <pre>
1296
+	 * $redisCluster->zAdd('key', 0, 'val0');
1297
+	 * $redisCluster->zAdd('key', 2, 'val2');
1298
+	 * $redisCluster->zAdd('key', 10, 'val10');
1299
+	 * $redisCluster->zRemRangeByScore('key', '0', '3'); // 2
1300
+	 * </pre>
1301
+	 */
1302
+	public function zRemRangeByScore($key, $start, $end) {}
1303
+
1304
+	/**
1305
+	 * Returns the score of a given member in the specified sorted set.
1306
+	 *
1307
+	 * @param   string $key
1308
+	 * @param   string $member
1309
+	 *
1310
+	 * @return  float
1311
+	 * @link    https://redis.io/commands/zscore
1312
+	 * @example
1313
+	 * <pre>
1314
+	 * $redisCluster->zAdd('key', 2.5, 'val2');
1315
+	 * $redisCluster->zScore('key', 'val2'); // 2.5
1316
+	 * </pre>
1317
+	 */
1318
+	public function zScore($key, $member) {}
1319
+
1320
+	/**
1321
+	 * Adds the specified member with a given score to the sorted set stored at key.
1322
+	 *
1323
+	 * @param   string $key    Required key
1324
+	 * @param   float  $score1 Required score
1325
+	 * @param   string $value1 Required value
1326
+	 * @param   float  $score2 Optional score
1327
+	 * @param   string $value2 Optional value
1328
+	 * @param   float  $scoreN Optional score
1329
+	 * @param   string $valueN Optional value
1330
+	 *
1331
+	 * @return  int     Number of values added
1332
+	 * @link    https://redis.io/commands/zadd
1333
+	 * @example
1334
+	 * <pre>
1335
+	 * $redisCluster->zAdd('z', 1, 'v2', 2, 'v2', 3, 'v3', 4, 'v4' );  // int(3)
1336
+	 * $redisCluster->zRem('z', 'v2', 'v3');                           // int(2)
1337
+	 * var_dump( $redisCluster->zRange('z', 0, -1) );
1338
+	 *
1339
+	 * //// Output:
1340
+	 * // array(1) {
1341
+	 * //   [0]=> string(2) "v4"
1342
+	 * // }
1343
+	 * </pre>
1344
+	 */
1345
+	public function zAdd($key, $score1, $value1, $score2 = null, $value2 = null, $scoreN = null, $valueN = null) {}
1346
+
1347
+	/**
1348
+	 * Increments the score of a member from a sorted set by a given amount.
1349
+	 *
1350
+	 * @param   string $key
1351
+	 * @param   float  $value (double) value that will be added to the member's score
1352
+	 * @param   string $member
1353
+	 *
1354
+	 * @return  float   the new value
1355
+	 * @link    https://redis.io/commands/zincrby
1356
+	 * @example
1357
+	 * <pre>
1358
+	 * $redisCluster->del('key');
1359
+	 * $redisCluster->zIncrBy('key', 2.5, 'member1');// key or member1 didn't exist, so member1's score is to 0 ;
1360
+	 *                                              //before the increment and now has the value 2.5
1361
+	 * $redisCluster->zIncrBy('key', 1, 'member1');    // 3.5
1362
+	 * </pre>
1363
+	 */
1364
+	public function zIncrBy($key, $value, $member) {}
1365
+
1366
+	/**
1367
+	 * Returns the length of a hash, in number of items
1368
+	 *
1369
+	 * @param   string $key
1370
+	 *
1371
+	 * @return  int|false     the number of items in a hash, FALSE if the key doesn't exist or isn't a hash.
1372
+	 * @link    https://redis.io/commands/hlen
1373
+	 * @example
1374
+	 * <pre>
1375
+	 * $redisCluster->del('h');
1376
+	 * $redisCluster->hSet('h', 'key1', 'hello');
1377
+	 * $redisCluster->hSet('h', 'key2', 'plop');
1378
+	 * $redisCluster->hLen('h'); // returns 2
1379
+	 * </pre>
1380
+	 */
1381
+	public function hLen($key) {}
1382
+
1383
+	/**
1384
+	 * Returns the keys in a hash, as an array of strings.
1385
+	 *
1386
+	 * @param   string $key
1387
+	 *
1388
+	 * @return  array   An array of elements, the keys of the hash. This works like PHP's array_keys().
1389
+	 * @link    https://redis.io/commands/hkeys
1390
+	 * @example
1391
+	 * <pre>
1392
+	 * $redisCluster->del('h');
1393
+	 * $redisCluster->hSet('h', 'a', 'x');
1394
+	 * $redisCluster->hSet('h', 'b', 'y');
1395
+	 * $redisCluster->hSet('h', 'c', 'z');
1396
+	 * $redisCluster->hSet('h', 'd', 't');
1397
+	 * var_dump($redisCluster->hKeys('h'));
1398
+	 *
1399
+	 * //// Output:
1400
+	 * //
1401
+	 * // array(4) {
1402
+	 * // [0]=>
1403
+	 * // string(1) "a"
1404
+	 * // [1]=>
1405
+	 * // string(1) "b"
1406
+	 * // [2]=>
1407
+	 * // string(1) "c"
1408
+	 * // [3]=>
1409
+	 * // string(1) "d"
1410
+	 * // }
1411
+	 * // The order is random and corresponds to redis' own internal representation of the set structure.
1412
+	 * </pre>
1413
+	 */
1414
+	public function hKeys($key) {}
1415
+
1416
+	/**
1417
+	 * Returns the values in a hash, as an array of strings.
1418
+	 *
1419
+	 * @param   string $key
1420
+	 *
1421
+	 * @return  array   An array of elements, the values of the hash. This works like PHP's array_values().
1422
+	 * @link    https://redis.io/commands/hvals
1423
+	 * @example
1424
+	 * <pre>
1425
+	 * $redisCluster->del('h');
1426
+	 * $redisCluster->hSet('h', 'a', 'x');
1427
+	 * $redisCluster->hSet('h', 'b', 'y');
1428
+	 * $redisCluster->hSet('h', 'c', 'z');
1429
+	 * $redisCluster->hSet('h', 'd', 't');
1430
+	 * var_dump($redisCluster->hVals('h'));
1431
+	 *
1432
+	 * //// Output:
1433
+	 * //
1434
+	 * // array(4) {
1435
+	 * //   [0]=>
1436
+	 * //   string(1) "x"
1437
+	 * //   [1]=>
1438
+	 * //   string(1) "y"
1439
+	 * //   [2]=>
1440
+	 * //   string(1) "z"
1441
+	 * //   [3]=>
1442
+	 * //   string(1) "t"
1443
+	 * // }
1444
+	 * // The order is random and corresponds to redis' own internal representation of the set structure.
1445
+	 * </pre>
1446
+	 */
1447
+	public function hVals($key) {}
1448
+
1449
+	/**
1450
+	 * Gets a value from the hash stored at key.
1451
+	 * If the hash table doesn't exist, or the key doesn't exist, FALSE is returned.
1452
+	 *
1453
+	 * @param   string $key
1454
+	 * @param   string $hashKey
1455
+	 *
1456
+	 * @return  string|false  The value, if the command executed successfully BOOL FALSE in case of failure
1457
+	 * @link    https://redis.io/commands/hget
1458
+	 * @example
1459
+	 * <pre>
1460
+	 * $redisCluster->del('h');
1461
+	 * $redisCluster->hSet('h', 'a', 'x');
1462
+	 * $redisCluster->hGet('h', 'a'); // 'X'
1463
+	 * </pre>
1464
+	 */
1465
+	public function hGet($key, $hashKey) {}
1466
+
1467
+	/**
1468
+	 * Returns the whole hash, as an array of strings indexed by strings.
1469
+	 *
1470
+	 * @param   string $key
1471
+	 *
1472
+	 * @return  array   An array of elements, the contents of the hash.
1473
+	 * @link    https://redis.io/commands/hgetall
1474
+	 * @example
1475
+	 * <pre>
1476
+	 * $redisCluster->del('h');
1477
+	 * $redisCluster->hSet('h', 'a', 'x');
1478
+	 * $redisCluster->hSet('h', 'b', 'y');
1479
+	 * $redisCluster->hSet('h', 'c', 'z');
1480
+	 * $redisCluster->hSet('h', 'd', 't');
1481
+	 * var_dump($redisCluster->hGetAll('h'));
1482
+	 *
1483
+	 * //// Output:
1484
+	 * //
1485
+	 * // array(4) {
1486
+	 * //   ["a"]=>
1487
+	 * //   string(1) "x"
1488
+	 * //   ["b"]=>
1489
+	 * //   string(1) "y"
1490
+	 * //   ["c"]=>
1491
+	 * //   string(1) "z"
1492
+	 * //   ["d"]=>
1493
+	 * //   string(1) "t"
1494
+	 * // }
1495
+	 * // The order is random and corresponds to redis' own internal representation of the set structure.
1496
+	 * </pre>
1497
+	 */
1498
+	public function hGetAll($key) {}
1499
+
1500
+	/**
1501
+	 * Verify if the specified member exists in a key.
1502
+	 *
1503
+	 * @param   string $key
1504
+	 * @param   string $hashKey
1505
+	 *
1506
+	 * @return  bool   If the member exists in the hash table, return TRUE, otherwise return FALSE.
1507
+	 * @link    https://redis.io/commands/hexists
1508
+	 * @example
1509
+	 * <pre>
1510
+	 * $redisCluster->hSet('h', 'a', 'x');
1511
+	 * $redisCluster->hExists('h', 'a');               //  TRUE
1512
+	 * $redisCluster->hExists('h', 'NonExistingKey');  // FALSE
1513
+	 * </pre>
1514
+	 */
1515
+	public function hExists($key, $hashKey) {}
1516
+
1517
+	/**
1518
+	 * Increments the value of a member from a hash by a given amount.
1519
+	 *
1520
+	 * @param   string $key
1521
+	 * @param   string $hashKey
1522
+	 * @param   int    $value (integer) value that will be added to the member's value
1523
+	 *
1524
+	 * @return  int     the new value
1525
+	 * @link    https://redis.io/commands/hincrby
1526
+	 * @example
1527
+	 * <pre>
1528
+	 * $redisCluster->del('h');
1529
+	 * $redisCluster->hIncrBy('h', 'x', 2); // returns 2: h[x] = 2 now.
1530
+	 * $redisCluster->hIncrBy('h', 'x', 1); // h[x] ← 2 + 1. Returns 3
1531
+	 * </pre>
1532
+	 */
1533
+	public function hIncrBy($key, $hashKey, $value) {}
1534
+
1535
+	/**
1536
+	 * Adds a value to the hash stored at key. If this value is already in the hash, FALSE is returned.
1537
+	 *
1538
+	 * @param string $key
1539
+	 * @param string $hashKey
1540
+	 * @param string $value
1541
+	 *
1542
+	 * @return int
1543
+	 * 1 if value didn't exist and was added successfully,
1544
+	 * 0 if the value was already present and was replaced, FALSE if there was an error.
1545
+	 * @link    https://redis.io/commands/hset
1546
+	 * @example
1547
+	 * <pre>
1548
+	 * $redisCluster->del('h')
1549
+	 * $redisCluster->hSet('h', 'key1', 'hello');  // 1, 'key1' => 'hello' in the hash at "h"
1550
+	 * $redisCluster->hGet('h', 'key1');           // returns "hello"
1551
+	 *
1552
+	 * $redisCluster->hSet('h', 'key1', 'plop');   // 0, value was replaced.
1553
+	 * $redisCluster->hGet('h', 'key1');           // returns "plop"
1554
+	 * </pre>
1555
+	 */
1556
+	public function hSet($key, $hashKey, $value) {}
1557
+
1558
+	/**
1559
+	 * Adds a value to the hash stored at key only if this field isn't already in the hash.
1560
+	 *
1561
+	 * @param   string $key
1562
+	 * @param   string $hashKey
1563
+	 * @param   string $value
1564
+	 *
1565
+	 * @return  bool    TRUE if the field was set, FALSE if it was already present.
1566
+	 * @link    https://redis.io/commands/hsetnx
1567
+	 * @example
1568
+	 * <pre>
1569
+	 * $redisCluster->del('h')
1570
+	 * $redisCluster->hSetNx('h', 'key1', 'hello'); // TRUE, 'key1' => 'hello' in the hash at "h"
1571
+	 * $redisCluster->hSetNx('h', 'key1', 'world'); // FALSE, 'key1' => 'hello' in the hash at "h". No change since the
1572
+	 * field wasn't replaced.
1573
+	 * </pre>
1574
+	 */
1575
+	public function hSetNx($key, $hashKey, $value) {}
1576
+
1577
+	/**
1578
+	 * Retrieve the values associated to the specified fields in the hash.
1579
+	 *
1580
+	 * @param   string $key
1581
+	 * @param   array  $hashKeys
1582
+	 *
1583
+	 * @return  array   Array An array of elements, the values of the specified fields in the hash,
1584
+	 * with the hash keys as array keys.
1585
+	 * @link    https://redis.io/commands/hmget
1586
+	 * @example
1587
+	 * <pre>
1588
+	 * $redisCluster->del('h');
1589
+	 * $redisCluster->hSet('h', 'field1', 'value1');
1590
+	 * $redisCluster->hSet('h', 'field2', 'value2');
1591
+	 * $redisCluster->hMGet('h', array('field1', 'field2')); // returns array('field1' => 'value1', 'field2' =>
1592
+	 * 'value2')
1593
+	 * </pre>
1594
+	 */
1595
+	public function hMGet($key, $hashKeys) {}
1596
+
1597
+	/**
1598
+	 * Fills in a whole hash. Non-string values are converted to string, using the standard (string) cast.
1599
+	 * NULL values are stored as empty strings
1600
+	 *
1601
+	 * @param   string $key
1602
+	 * @param   array  $hashKeys key → value array
1603
+	 *
1604
+	 * @return  bool
1605
+	 * @link    https://redis.io/commands/hmset
1606
+	 * @example
1607
+	 * <pre>
1608
+	 * $redisCluster->del('user:1');
1609
+	 * $redisCluster->hMSet('user:1', array('name' => 'Joe', 'salary' => 2000));
1610
+	 * $redisCluster->hIncrBy('user:1', 'salary', 100); // Joe earns 100 more now.
1611
+	 * </pre>
1612
+	 */
1613
+	public function hMSet($key, $hashKeys) {}
1614
+
1615
+	/**
1616
+	 * Removes a values from the hash stored at key.
1617
+	 * If the hash table doesn't exist, or the key doesn't exist, FALSE is returned.
1618
+	 *
1619
+	 * @param   string $key
1620
+	 * @param   string $hashKey1
1621
+	 * @param   string $hashKey2
1622
+	 * @param   string $hashKeyN
1623
+	 *
1624
+	 * @return  int     Number of deleted fields
1625
+	 * @link    https://redis.io/commands/hdel
1626
+	 * @example
1627
+	 * <pre>
1628
+	 * $redisCluster->hMSet('h',
1629
+	 *               array(
1630
+	 *                    'f1' => 'v1',
1631
+	 *                    'f2' => 'v2',
1632
+	 *                    'f3' => 'v3',
1633
+	 *                    'f4' => 'v4',
1634
+	 *               ));
1635
+	 *
1636
+	 * var_dump( $redisCluster->hDel('h', 'f1') );        // int(1)
1637
+	 * var_dump( $redisCluster->hDel('h', 'f2', 'f3') );  // int(2)
1638
+	 *
1639
+	 * var_dump( $redisCluster->hGetAll('h') );
1640
+	 *
1641
+	 * //// Output:
1642
+	 * //
1643
+	 * //  array(1) {
1644
+	 * //    ["f4"]=> string(2) "v4"
1645
+	 * //  }
1646
+	 * </pre>
1647
+	 */
1648
+	public function hDel($key, $hashKey1, $hashKey2 = null, $hashKeyN = null) {}
1649
+
1650
+	/**
1651
+	 * Increment the float value of a hash field by the given amount
1652
+	 *
1653
+	 * @param   string $key
1654
+	 * @param   string $field
1655
+	 * @param   float  $increment
1656
+	 *
1657
+	 * @return  float
1658
+	 * @link    https://redis.io/commands/hincrbyfloat
1659
+	 * @example
1660
+	 * <pre>
1661
+	 * $redisCluster->hset('h', 'float', 3);
1662
+	 * $redisCluster->hset('h', 'int',   3);
1663
+	 * var_dump( $redisCluster->hIncrByFloat('h', 'float', 1.5) ); // float(4.5)
1664
+	 *
1665
+	 * var_dump( $redisCluster->hGetAll('h') );
1666
+	 *
1667
+	 * //// Output:
1668
+	 * //
1669
+	 * // array(2) {
1670
+	 * //   ["float"]=>
1671
+	 * //   string(3) "4.5"
1672
+	 * //   ["int"]=>
1673
+	 * //   string(1) "3"
1674
+	 * // }
1675
+	 * </pre>
1676
+	 */
1677
+	public function hIncrByFloat($key, $field, $increment) {}
1678
+
1679
+	/**
1680
+	 * Dump a key out of a redis database, the value of which can later be passed into redis using the RESTORE command.
1681
+	 * The data that comes out of DUMP is a binary representation of the key as Redis stores it.
1682
+	 *
1683
+	 * @param   string $key
1684
+	 *
1685
+	 * @return  string|false  The Redis encoded value of the key, or FALSE if the key doesn't exist
1686
+	 * @link    https://redis.io/commands/dump
1687
+	 * @example
1688
+	 * <pre>
1689
+	 * $redisCluster->set('foo', 'bar');
1690
+	 * $val = $redisCluster->dump('foo'); // $val will be the Redis encoded key value
1691
+	 * </pre>
1692
+	 */
1693
+	public function dump($key) {}
1694
+
1695
+	/**
1696
+	 * Returns the rank of a given member in the specified sorted set, starting at 0 for the item
1697
+	 * with the smallest score. zRevRank starts at 0 for the item with the largest score.
1698
+	 *
1699
+	 * @param   string $key
1700
+	 * @param   string $member
1701
+	 *
1702
+	 * @return  int     the item's score.
1703
+	 * @link    https://redis.io/commands/zrank
1704
+	 * @example
1705
+	 * <pre>
1706
+	 * $redisCluster->del('z');
1707
+	 * $redisCluster->zAdd('key', 1, 'one');
1708
+	 * $redisCluster->zAdd('key', 2, 'two');
1709
+	 * $redisCluster->zRank('key', 'one');     // 0
1710
+	 * $redisCluster->zRank('key', 'two');     // 1
1711
+	 * $redisCluster->zRevRank('key', 'one');  // 1
1712
+	 * $redisCluster->zRevRank('key', 'two');  // 0
1713
+	 * </pre>
1714
+	 */
1715
+	public function zRank($key, $member) {}
1716
+
1717
+	/**
1718
+	 * @see    zRank()
1719
+	 *
1720
+	 * @param  string $key
1721
+	 * @param  string $member
1722
+	 *
1723
+	 * @return int    the item's score
1724
+	 * @link   https://redis.io/commands/zrevrank
1725
+	 */
1726
+	public function zRevRank($key, $member) {}
1727
+
1728
+	/**
1729
+	 * Increment the number stored at key by one.
1730
+	 *
1731
+	 * @param   string $key
1732
+	 *
1733
+	 * @return  int    the new value
1734
+	 * @link    https://redis.io/commands/incr
1735
+	 * @example
1736
+	 * <pre>
1737
+	 * $redisCluster->incr('key1'); // key1 didn't exists, set to 0 before the increment and now has the value 1
1738
+	 * $redisCluster->incr('key1'); // 2
1739
+	 * $redisCluster->incr('key1'); // 3
1740
+	 * $redisCluster->incr('key1'); // 4
1741
+	 * </pre>
1742
+	 */
1743
+	public function incr($key) {}
1744
+
1745
+	/**
1746
+	 * Decrement the number stored at key by one.
1747
+	 *
1748
+	 * @param   string $key
1749
+	 *
1750
+	 * @return  int    the new value
1751
+	 * @link    https://redis.io/commands/decr
1752
+	 * @example
1753
+	 * <pre>
1754
+	 * $redisCluster->decr('key1'); // key1 didn't exists, set to 0 before the increment and now has the value -1
1755
+	 * $redisCluster->decr('key1'); // -2
1756
+	 * $redisCluster->decr('key1'); // -3
1757
+	 * </pre>
1758
+	 */
1759
+	public function decr($key) {}
1760
+
1761
+	/**
1762
+	 * Increment the number stored at key by one. If the second argument is filled, it will be used as the integer
1763
+	 * value of the increment.
1764
+	 *
1765
+	 * @param   string $key   key
1766
+	 * @param   int    $value value that will be added to key (only for incrBy)
1767
+	 *
1768
+	 * @return  int         the new value
1769
+	 * @link    https://redis.io/commands/incrby
1770
+	 * @example
1771
+	 * <pre>
1772
+	 * $redisCluster->incr('key1');        // key1 didn't exists, set to 0 before the increment and now has the value 1
1773
+	 * $redisCluster->incr('key1');        // 2
1774
+	 * $redisCluster->incr('key1');        // 3
1775
+	 * $redisCluster->incr('key1');        // 4
1776
+	 * $redisCluster->incrBy('key1', 10);  // 14
1777
+	 * </pre>
1778
+	 */
1779
+	public function incrBy($key, $value) {}
1780
+
1781
+	/**
1782
+	 * Decrement the number stored at key by one. If the second argument is filled, it will be used as the integer
1783
+	 * value of the decrement.
1784
+	 *
1785
+	 * @param   string $key
1786
+	 * @param   int    $value that will be subtracted to key (only for decrBy)
1787
+	 *
1788
+	 * @return  int       the new value
1789
+	 * @link    https://redis.io/commands/decrby
1790
+	 * @example
1791
+	 * <pre>
1792
+	 * $redisCluster->decr('key1');        // key1 didn't exists, set to 0 before the increment and now has the value -1
1793
+	 * $redisCluster->decr('key1');        // -2
1794
+	 * $redisCluster->decr('key1');        // -3
1795
+	 * $redisCluster->decrBy('key1', 10);  // -13
1796
+	 * </pre>
1797
+	 */
1798
+	public function decrBy($key, $value) {}
1799
+
1800
+	/**
1801
+	 * Increment the float value of a key by the given amount
1802
+	 *
1803
+	 * @param   string $key
1804
+	 * @param   float  $increment
1805
+	 *
1806
+	 * @return  float
1807
+	 * @link    https://redis.io/commands/incrbyfloat
1808
+	 * @example
1809
+	 * <pre>
1810
+	 * $redisCluster->set('x', 3);
1811
+	 * var_dump( $redisCluster->incrByFloat('x', 1.5) );   // float(4.5)
1812
+	 *
1813
+	 * var_dump( $redisCluster->get('x') );                // string(3) "4.5"
1814
+	 * </pre>
1815
+	 */
1816
+	public function incrByFloat($key, $increment) {}
1817
+
1818
+	/**
1819
+	 * Sets an expiration date (a timeout) on an item.
1820
+	 *
1821
+	 * @param   string $key The key that will disappear.
1822
+	 * @param   int    $ttl The key's remaining Time To Live, in seconds.
1823
+	 *
1824
+	 * @return  bool   TRUE in case of success, FALSE in case of failure.
1825
+	 * @link    https://redis.io/commands/expire
1826
+	 * @example
1827
+	 * <pre>
1828
+	 * $redisCluster->set('x', '42');
1829
+	 * $redisCluster->expire('x', 3);  // x will disappear in 3 seconds.
1830
+	 * sleep(5);                    // wait 5 seconds
1831
+	 * $redisCluster->get('x');            // will return `FALSE`, as 'x' has expired.
1832
+	 * </pre>
1833
+	 */
1834
+	public function expire($key, $ttl) {}
1835
+
1836
+	/**
1837
+	 * Sets an expiration date (a timeout in milliseconds) on an item.
1838
+	 *
1839
+	 * @param   string $key The key that will disappear.
1840
+	 * @param   int    $ttl The key's remaining Time To Live, in milliseconds.
1841
+	 *
1842
+	 * @return  bool   TRUE in case of success, FALSE in case of failure.
1843
+	 * @link    https://redis.io/commands/pexpire
1844
+	 * @example
1845
+	 * <pre>
1846
+	 * $redisCluster->set('x', '42');
1847
+	 * $redisCluster->pExpire('x', 11500); // x will disappear in 11500 milliseconds.
1848
+	 * $redisCluster->ttl('x');            // 12
1849
+	 * $redisCluster->pttl('x');           // 11500
1850
+	 * </pre>
1851
+	 */
1852
+	public function pExpire($key, $ttl) {}
1853
+
1854
+	/**
1855
+	 * Sets an expiration date (a timestamp) on an item.
1856
+	 *
1857
+	 * @param   string $key       The key that will disappear.
1858
+	 * @param   int    $timestamp Unix timestamp. The key's date of death, in seconds from Epoch time.
1859
+	 *
1860
+	 * @return  bool   TRUE in case of success, FALSE in case of failure.
1861
+	 * @link    https://redis.io/commands/expireat
1862
+	 * @example
1863
+	 * <pre>
1864
+	 * $redisCluster->set('x', '42');
1865
+	 * $now = time();               // current timestamp
1866
+	 * $redisCluster->expireAt('x', $now + 3); // x will disappear in 3 seconds.
1867
+	 * sleep(5);                        // wait 5 seconds
1868
+	 * $redisCluster->get('x');                // will return `FALSE`, as 'x' has expired.
1869
+	 * </pre>
1870
+	 */
1871
+	public function expireAt($key, $timestamp) {}
1872
+
1873
+	/**
1874
+	 * Sets an expiration date (a timestamp) on an item. Requires a timestamp in milliseconds
1875
+	 *
1876
+	 * @param   string $key       The key that will disappear.
1877
+	 * @param   int    $timestamp Unix timestamp. The key's date of death, in seconds from Epoch time.
1878
+	 *
1879
+	 * @return  bool   TRUE in case of success, FALSE in case of failure.
1880
+	 * @link    https://redis.io/commands/pexpireat
1881
+	 * @example
1882
+	 * <pre>
1883
+	 * $redisCluster->set('x', '42');
1884
+	 * $redisCluster->pExpireAt('x', 1555555555005);
1885
+	 * $redisCluster->ttl('x');                       // 218270121
1886
+	 * $redisCluster->pttl('x');                      // 218270120575
1887
+	 * </pre>
1888
+	 */
1889
+	public function pExpireAt($key, $timestamp) {}
1890
+
1891
+	/**
1892
+	 * Append specified string to the string stored in specified key.
1893
+	 *
1894
+	 * @param   string $key
1895
+	 * @param   string $value
1896
+	 *
1897
+	 * @return  int    Size of the value after the append
1898
+	 * @link    https://redis.io/commands/append
1899
+	 * @example
1900
+	 * <pre>
1901
+	 * $redisCluster->set('key', 'value1');
1902
+	 * $redisCluster->append('key', 'value2'); // 12
1903
+	 * $redisCluster->get('key');              // 'value1value2'
1904
+	 * </pre>
1905
+	 */
1906
+	public function append($key, $value) {}
1907
+
1908
+	/**
1909
+	 * Return a single bit out of a larger string
1910
+	 *
1911
+	 * @param   string $key
1912
+	 * @param   int    $offset
1913
+	 *
1914
+	 * @return  int    the bit value (0 or 1)
1915
+	 * @link    https://redis.io/commands/getbit
1916
+	 * @example
1917
+	 * <pre>
1918
+	 * $redisCluster->set('key', "\x7f");  // this is 0111 1111
1919
+	 * $redisCluster->getBit('key', 0);    // 0
1920
+	 * $redisCluster->getBit('key', 1);    // 1
1921
+	 * </pre>
1922
+	 */
1923
+	public function getBit($key, $offset) {}
1924
+
1925
+	/**
1926
+	 * Changes a single bit of a string.
1927
+	 *
1928
+	 * @param   string   $key
1929
+	 * @param   int      $offset
1930
+	 * @param   bool|int $value bool or int (1 or 0)
1931
+	 *
1932
+	 * @return  int    0 or 1, the value of the bit before it was set.
1933
+	 * @link    https://redis.io/commands/setbit
1934
+	 * @example
1935
+	 * <pre>
1936
+	 * $redisCluster->set('key', "*");     // ord("*") = 42 = 0x2f = "0010 1010"
1937
+	 * $redisCluster->setBit('key', 5, 1); // returns 0
1938
+	 * $redisCluster->setBit('key', 7, 1); // returns 0
1939
+	 * $redisCluster->get('key');          // chr(0x2f) = "/" = b("0010 1111")
1940
+	 * </pre>
1941
+	 */
1942
+	public function setBit($key, $offset, $value) {}
1943
+
1944
+	/**
1945
+	 * Bitwise operation on multiple keys.
1946
+	 *
1947
+	 * @param   string $operation either "AND", "OR", "NOT", "XOR"
1948
+	 * @param   string $retKey    return key
1949
+	 * @param   string $key1
1950
+	 * @param   string $key2
1951
+	 * @param   string $key3
1952
+	 *
1953
+	 * @return  int     The size of the string stored in the destination key.
1954
+	 * @link    https://redis.io/commands/bitop
1955
+	 * @example
1956
+	 * <pre>
1957
+	 * $redisCluster->set('bit1', '1'); // 11 0001
1958
+	 * $redisCluster->set('bit2', '2'); // 11 0010
1959
+	 *
1960
+	 * $redisCluster->bitOp('AND', 'bit', 'bit1', 'bit2'); // bit = 110000
1961
+	 * $redisCluster->bitOp('OR',  'bit', 'bit1', 'bit2'); // bit = 110011
1962
+	 * $redisCluster->bitOp('NOT', 'bit', 'bit1', 'bit2'); // bit = 110011
1963
+	 * $redisCluster->bitOp('XOR', 'bit', 'bit1', 'bit2'); // bit = 11
1964
+	 * </pre>
1965
+	 */
1966
+	public function bitOp($operation, $retKey, $key1, $key2, $key3 = null) {}
1967
+
1968
+	/**
1969
+	 * Return the position of the first bit set to 1 or 0 in a string. The position is returned, thinking of the
1970
+	 * string as an array of bits from left to right, where the first byte's most significant bit is at position 0,
1971
+	 * the second byte's most significant bit is at position 8, and so forth.
1972
+	 *
1973
+	 * @param   string $key
1974
+	 * @param   int    $bit
1975
+	 * @param   int    $start
1976
+	 * @param   int    $end
1977
+	 *
1978
+	 * @return  int     The command returns the position of the first bit set to 1 or 0 according to the request.
1979
+	 *                  If we look for set bits (the bit argument is 1) and the string is empty or composed of just
1980
+	 *                  zero bytes, -1 is returned. If we look for clear bits (the bit argument is 0) and the string
1981
+	 *                  only contains bit set to 1, the function returns the first bit not part of the string on the
1982
+	 *                  right. So if the string is three bytes set to the value 0xff the command BITPOS key 0 will
1983
+	 *                  return 24, since up to bit 23 all the bits are 1. Basically, the function considers the right
1984
+	 *                  of the string as padded with zeros if you look for clear bits and specify no range or the
1985
+	 *                  start argument only. However, this behavior changes if you are looking for clear bits and
1986
+	 *                  specify a range with both start and end. If no clear bit is found in the specified range, the
1987
+	 *                  function returns -1 as the user specified a clear range and there are no 0 bits in that range.
1988
+	 * @link    https://redis.io/commands/bitpos
1989
+	 * @example
1990
+	 * <pre>
1991
+	 * $redisCluster->set('key', '\xff\xff');
1992
+	 * $redisCluster->bitpos('key', 1); // int(0)
1993
+	 * $redisCluster->bitpos('key', 1, 1); // int(8)
1994
+	 * $redisCluster->bitpos('key', 1, 3); // int(-1)
1995
+	 * $redisCluster->bitpos('key', 0); // int(16)
1996
+	 * $redisCluster->bitpos('key', 0, 1); // int(16)
1997
+	 * $redisCluster->bitpos('key', 0, 1, 5); // int(-1)
1998
+	 * </pre>
1999
+	 */
2000
+	public function bitpos($key, $bit, $start = 0, $end = null) {}
2001
+
2002
+	/**
2003
+	 * Count bits in a string.
2004
+	 *
2005
+	 * @param   string $key
2006
+	 *
2007
+	 * @return  int     The number of bits set to 1 in the value behind the input key.
2008
+	 * @link    https://redis.io/commands/bitcount
2009
+	 * @example
2010
+	 * <pre>
2011
+	 * $redisCluster->set('bit', '345'); // // 11 0011  0011 0100  0011 0101
2012
+	 * var_dump( $redisCluster->bitCount('bit', 0, 0) ); // int(4)
2013
+	 * var_dump( $redisCluster->bitCount('bit', 1, 1) ); // int(3)
2014
+	 * var_dump( $redisCluster->bitCount('bit', 2, 2) ); // int(4)
2015
+	 * var_dump( $redisCluster->bitCount('bit', 0, 2) ); // int(11)
2016
+	 * </pre>
2017
+	 */
2018
+	public function bitCount($key) {}
2019
+
2020
+	/**
2021
+	 * @see     lIndex()
2022
+	 *
2023
+	 * @param   string $key
2024
+	 * @param   int    $index
2025
+	 *
2026
+	 * @link    https://redis.io/commands/lindex
2027
+	 */
2028
+	public function lGet($key, $index) {}
2029
+
2030
+	/**
2031
+	 * Return a substring of a larger string
2032
+	 *
2033
+	 * @param   string $key
2034
+	 * @param   int    $start
2035
+	 * @param   int    $end
2036
+	 *
2037
+	 * @return  string the substring
2038
+	 * @link    https://redis.io/commands/getrange
2039
+	 * @example
2040
+	 * <pre>
2041
+	 * $redisCluster->set('key', 'string value');
2042
+	 * $redisCluster->getRange('key', 0, 5);   // 'string'
2043
+	 * $redisCluster->getRange('key', -5, -1); // 'value'
2044
+	 * </pre>
2045
+	 */
2046
+	public function getRange($key, $start, $end) {}
2047
+
2048
+	/**
2049
+	 * Trims an existing list so that it will contain only a specified range of elements.
2050
+	 *
2051
+	 * @param string $key
2052
+	 * @param int    $start
2053
+	 * @param int    $stop
2054
+	 *
2055
+	 * @return array|false    Bool return FALSE if the key identify a non-list value.
2056
+	 * @link        https://redis.io/commands/ltrim
2057
+	 * @example
2058
+	 * <pre>
2059
+	 * $redisCluster->rPush('key1', 'A');
2060
+	 * $redisCluster->rPush('key1', 'B');
2061
+	 * $redisCluster->rPush('key1', 'C');
2062
+	 * $redisCluster->lRange('key1', 0, -1); // array('A', 'B', 'C')
2063
+	 * $redisCluster->lTrim('key1', 0, 1);
2064
+	 * $redisCluster->lRange('key1', 0, -1); // array('A', 'B')
2065
+	 * </pre>
2066
+	 */
2067
+	public function lTrim($key, $start, $stop) {}
2068
+
2069
+	/**
2070
+	 * Returns the specified elements of the list stored at the specified key in
2071
+	 * the range [start, end]. start and stop are interpretated as indices: 0 the first element,
2072
+	 * 1 the second ... -1 the last element, -2 the penultimate ...
2073
+	 *
2074
+	 * @param   string $key
2075
+	 * @param   int    $start
2076
+	 * @param   int    $end
2077
+	 *
2078
+	 * @return  array containing the values in specified range.
2079
+	 * @link    https://redis.io/commands/lrange
2080
+	 * @example
2081
+	 * <pre>
2082
+	 * $redisCluster->rPush('key1', 'A');
2083
+	 * $redisCluster->rPush('key1', 'B');
2084
+	 * $redisCluster->rPush('key1', 'C');
2085
+	 * $redisCluster->lRange('key1', 0, -1); // array('A', 'B', 'C')
2086
+	 * </pre>
2087
+	 */
2088
+	public function lRange($key, $start, $end) {}
2089
+
2090
+	/**
2091
+	 * Deletes the elements of the sorted set stored at the specified key which have rank in the range [start,end].
2092
+	 *
2093
+	 * @param   string $key
2094
+	 * @param   int    $start
2095
+	 * @param   int    $end
2096
+	 *
2097
+	 * @return  int     The number of values deleted from the sorted set
2098
+	 * @link    https://redis.io/commands/zremrangebyrank
2099
+	 * @example
2100
+	 * <pre>
2101
+	 * $redisCluster->zAdd('key', 1, 'one');
2102
+	 * $redisCluster->zAdd('key', 2, 'two');
2103
+	 * $redisCluster->zAdd('key', 3, 'three');
2104
+	 * $redisCluster->zRemRangeByRank('key', 0, 1); // 2
2105
+	 * $redisCluster->zRange('key', 0, -1, true); // array('three' => 3)
2106
+	 * </pre>
2107
+	 */
2108
+	public function zRemRangeByRank($key, $start, $end) {}
2109
+
2110
+	/**
2111
+	 * Publish messages to channels. Warning: this function will probably change in the future.
2112
+	 *
2113
+	 * @param   string $channel a channel to publish to
2114
+	 * @param   string $message string
2115
+	 *
2116
+	 * @link    https://redis.io/commands/publish
2117
+	 * @return  int Number of clients that received the message
2118
+	 * @example $redisCluster->publish('chan-1', 'hello, world!'); // send message.
2119
+	 */
2120
+	public function publish($channel, $message) {}
2121
+
2122
+	/**
2123
+	 * Renames a key.
2124
+	 *
2125
+	 * @param   string $srcKey
2126
+	 * @param   string $dstKey
2127
+	 *
2128
+	 * @return  bool   TRUE in case of success, FALSE in case of failure.
2129
+	 * @link    https://redis.io/commands/rename
2130
+	 * @example
2131
+	 * <pre>
2132
+	 * $redisCluster->set('x', '42');
2133
+	 * $redisCluster->rename('x', 'y');
2134
+	 * $redisCluster->get('y');   // → 42
2135
+	 * $redisCluster->get('x');   // → `FALSE`
2136
+	 * </pre>
2137
+	 */
2138
+	public function rename($srcKey, $dstKey) {}
2139
+
2140
+	/**
2141
+	 * Renames a key.
2142
+	 *
2143
+	 * Same as rename, but will not replace a key if the destination already exists.
2144
+	 * This is the same behaviour as setNx.
2145
+	 *
2146
+	 * @param   string $srcKey
2147
+	 * @param   string $dstKey
2148
+	 *
2149
+	 * @return  bool   TRUE in case of success, FALSE in case of failure.
2150
+	 * @link    https://redis.io/commands/renamenx
2151
+	 * @example
2152
+	 * <pre>
2153
+	 * $redisCluster->set('x', '42');
2154
+	 * $redisCluster->renameNx('x', 'y');
2155
+	 * $redisCluster->get('y');   // → 42
2156
+	 * $redisCluster->get('x');   // → `FALSE`
2157
+	 * </pre>
2158
+	 */
2159
+	public function renameNx($srcKey, $dstKey) {}
2160
+
2161
+	/**
2162
+	 * When called with a single key, returns the approximated cardinality computed by the HyperLogLog data
2163
+	 * structure stored at the specified variable, which is 0 if the variable does not exist.
2164
+	 *
2165
+	 * @param   string|array $key
2166
+	 *
2167
+	 * @return  int
2168
+	 * @link    https://redis.io/commands/pfcount
2169
+	 * @example
2170
+	 * <pre>
2171
+	 * $redisCluster->pfAdd('key1', array('elem1', 'elem2'));
2172
+	 * $redisCluster->pfAdd('key2', array('elem3', 'elem2'));
2173
+	 * $redisCluster->pfCount('key1'); // int(2)
2174
+	 * $redisCluster->pfCount(array('key1', 'key2')); // int(3)
2175
+	 * </pre>
2176
+	 */
2177
+	public function pfCount($key) {}
2178
+
2179
+	/**
2180
+	 * Adds all the element arguments to the HyperLogLog data structure stored at the key.
2181
+	 *
2182
+	 * @param   string $key
2183
+	 * @param   array  $elements
2184
+	 *
2185
+	 * @return  bool
2186
+	 * @link    https://redis.io/commands/pfadd
2187
+	 * @example $redisCluster->pfAdd('key', array('elem1', 'elem2'))
2188
+	 */
2189
+	public function pfAdd($key, array $elements) {}
2190
+
2191
+	/**
2192
+	 * Merge multiple HyperLogLog values into an unique value that will approximate the cardinality
2193
+	 * of the union of the observed Sets of the source HyperLogLog structures.
2194
+	 *
2195
+	 * @param   string $destKey
2196
+	 * @param   array  $sourceKeys
2197
+	 *
2198
+	 * @return  bool
2199
+	 * @link    https://redis.io/commands/pfmerge
2200
+	 * @example
2201
+	 * <pre>
2202
+	 * $redisCluster->pfAdd('key1', array('elem1', 'elem2'));
2203
+	 * $redisCluster->pfAdd('key2', array('elem3', 'elem2'));
2204
+	 * $redisCluster->pfMerge('key3', array('key1', 'key2'));
2205
+	 * $redisCluster->pfCount('key3'); // int(3)
2206
+	 * </pre>
2207
+	 */
2208
+	public function pfMerge($destKey, array $sourceKeys) {}
2209
+
2210
+	/**
2211
+	 * Changes a substring of a larger string.
2212
+	 *
2213
+	 * @param   string $key
2214
+	 * @param   int    $offset
2215
+	 * @param   string $value
2216
+	 *
2217
+	 * @return  string the length of the string after it was modified.
2218
+	 * @link    https://redis.io/commands/setrange
2219
+	 * @example
2220
+	 * <pre>
2221
+	 * $redisCluster->set('key', 'Hello world');
2222
+	 * $redisCluster->setRange('key', 6, "redis"); // returns 11
2223
+	 * $redisCluster->get('key');                  // "Hello redis"
2224
+	 * </pre>
2225
+	 */
2226
+	public function setRange($key, $offset, $value) {}
2227
+
2228
+	/**
2229
+	 * Restore a key from the result of a DUMP operation.
2230
+	 *
2231
+	 * @param   string $key   The key name
2232
+	 * @param   int    $ttl   How long the key should live (if zero, no expire will be set on the key)
2233
+	 * @param   string $value (binary).  The Redis encoded key value (from DUMP)
2234
+	 *
2235
+	 * @return  bool
2236
+	 * @link    https://redis.io/commands/restore
2237
+	 * @example
2238
+	 * <pre>
2239
+	 * $redisCluster->set('foo', 'bar');
2240
+	 * $val = $redisCluster->dump('foo');
2241
+	 * $redisCluster->restore('bar', 0, $val); // The key 'bar', will now be equal to the key 'foo'
2242
+	 * </pre>
2243
+	 */
2244
+	public function restore($key, $ttl, $value) {}
2245
+
2246
+	/**
2247
+	 * Moves the specified member from the set at srcKey to the set at dstKey.
2248
+	 *
2249
+	 * @param   string $srcKey
2250
+	 * @param   string $dstKey
2251
+	 * @param   string $member
2252
+	 *
2253
+	 * @return  bool    If the operation is successful, return TRUE.
2254
+	 * If the srcKey and/or dstKey didn't exist, and/or the member didn't exist in srcKey, FALSE is returned.
2255
+	 * @link    https://redis.io/commands/smove
2256
+	 * @example
2257
+	 * <pre>
2258
+	 * $redisCluster->sAdd('key1' , 'set11');
2259
+	 * $redisCluster->sAdd('key1' , 'set12');
2260
+	 * $redisCluster->sAdd('key1' , 'set13');          // 'key1' => {'set11', 'set12', 'set13'}
2261
+	 * $redisCluster->sAdd('key2' , 'set21');
2262
+	 * $redisCluster->sAdd('key2' , 'set22');          // 'key2' => {'set21', 'set22'}
2263
+	 * $redisCluster->sMove('key1', 'key2', 'set13');  // 'key1' =>  {'set11', 'set12'}
2264
+	 *                                          // 'key2' =>  {'set21', 'set22', 'set13'}
2265
+	 * </pre>
2266
+	 */
2267
+	public function sMove($srcKey, $dstKey, $member) {}
2268
+
2269
+	/**
2270
+	 * Returns a range of elements from the ordered set stored at the specified key,
2271
+	 * with values in the range [start, end]. start and stop are interpreted as zero-based indices:
2272
+	 * 0 the first element,
2273
+	 * 1 the second ...
2274
+	 * -1 the last element,
2275
+	 * -2 the penultimate ...
2276
+	 *
2277
+	 * @param   string $key
2278
+	 * @param   int    $start
2279
+	 * @param   int    $end
2280
+	 * @param   bool   $withscores
2281
+	 *
2282
+	 * @return  array   Array containing the values in specified range.
2283
+	 * @link    https://redis.io/commands/zrange
2284
+	 * @example
2285
+	 * <pre>
2286
+	 * $redisCluster->zAdd('key1', 0, 'val0');
2287
+	 * $redisCluster->zAdd('key1', 2, 'val2');
2288
+	 * $redisCluster->zAdd('key1', 10, 'val10');
2289
+	 * $redisCluster->zRange('key1', 0, -1); // array('val0', 'val2', 'val10')
2290
+	 * // with scores
2291
+	 * $redisCluster->zRange('key1', 0, -1, true); // array('val0' => 0, 'val2' => 2, 'val10' => 10)
2292
+	 * </pre>
2293
+	 */
2294
+	public function zRange($key, $start, $end, $withscores = null) {}
2295
+
2296
+	/**
2297
+	 * Returns the elements of the sorted set stored at the specified key in the range [start, end]
2298
+	 * in reverse order. start and stop are interpretated as zero-based indices:
2299
+	 * 0 the first element,
2300
+	 * 1 the second ...
2301
+	 * -1 the last element,
2302
+	 * -2 the penultimate ...
2303
+	 *
2304
+	 * @param   string $key
2305
+	 * @param   int    $start
2306
+	 * @param   int    $end
2307
+	 * @param   bool   $withscore
2308
+	 *
2309
+	 * @return  array   Array containing the values in specified range.
2310
+	 * @link    https://redis.io/commands/zrevrange
2311
+	 * @example
2312
+	 * <pre>
2313
+	 * $redisCluster->zAdd('key', 0, 'val0');
2314
+	 * $redisCluster->zAdd('key', 2, 'val2');
2315
+	 * $redisCluster->zAdd('key', 10, 'val10');
2316
+	 * $redisCluster->zRevRange('key', 0, -1); // array('val10', 'val2', 'val0')
2317
+	 *
2318
+	 * // with scores
2319
+	 * $redisCluster->zRevRange('key', 0, -1, true); // array('val10' => 10, 'val2' => 2, 'val0' => 0)
2320
+	 * </pre>
2321
+	 */
2322
+	public function zRevRange($key, $start, $end, $withscore = null) {}
2323
+
2324
+	/**
2325
+	 * Returns the elements of the sorted set stored at the specified key which have scores in the
2326
+	 * range [start,end]. Adding a parenthesis before start or end excludes it from the range.
2327
+	 * +inf and -inf are also valid limits.
2328
+	 *
2329
+	 * zRevRangeByScore returns the same items in reverse order, when the start and end parameters are swapped.
2330
+	 *
2331
+	 * @param   string $key
2332
+	 * @param   int    $start
2333
+	 * @param   int    $end
2334
+	 * @param   array  $options Two options are available:
2335
+	 *                          - withscores => TRUE,
2336
+	 *                          - and limit => array($offset, $count)
2337
+	 *
2338
+	 * @return  array   Array containing the values in specified range.
2339
+	 * @link    https://redis.io/commands/zrangebyscore
2340
+	 * @example
2341
+	 * <pre>
2342
+	 * $redisCluster->zAdd('key', 0, 'val0');
2343
+	 * $redisCluster->zAdd('key', 2, 'val2');
2344
+	 * $redisCluster->zAdd('key', 10, 'val10');
2345
+	 * $redisCluster->zRangeByScore('key', 0, 3);
2346
+	 * // array('val0', 'val2')
2347
+	 * $redisCluster->zRangeByScore('key', 0, 3, array('withscores' => TRUE);
2348
+	 * // array('val0' => 0, 'val2' => 2)
2349
+	 * $redisCluster->zRangeByScore('key', 0, 3, array('limit' => array(1, 1));
2350
+	 * // array('val2' => 2)
2351
+	 * $redisCluster->zRangeByScore('key', 0, 3, array('limit' => array(1, 1));
2352
+	 * // array('val2')
2353
+	 * $redisCluster->zRangeByScore('key', 0, 3, array('withscores' => TRUE, 'limit' => array(1, 1));
2354
+	 * // array('val2'=> 2)
2355
+	 * </pre>
2356
+	 */
2357
+	public function zRangeByScore($key, $start, $end, array $options = []) {}
2358
+
2359
+	/**
2360
+	 * @see zRangeByScore()
2361
+	 *
2362
+	 * @param   string $key
2363
+	 * @param   int    $start
2364
+	 * @param   int    $end
2365
+	 * @param   array  $options
2366
+	 *
2367
+	 * @return    array
2368
+	 */
2369
+	public function zRevRangeByScore($key, $start, $end, array $options = []) {}
2370
+
2371
+	/**
2372
+	 * Returns a range of members in a sorted set, by lexicographical range
2373
+	 *
2374
+	 * @param   string $key    The ZSET you wish to run against.
2375
+	 * @param   int    $min    The minimum alphanumeric value you wish to get.
2376
+	 * @param   int    $max    The maximum alphanumeric value you wish to get.
2377
+	 * @param   int    $offset Optional argument if you wish to start somewhere other than the first element.
2378
+	 * @param   int    $limit  Optional argument if you wish to limit the number of elements returned.
2379
+	 *
2380
+	 * @return  array   Array containing the values in the specified range.
2381
+	 * @link    https://redis.io/commands/zrangebylex
2382
+	 * @example
2383
+	 * <pre>
2384
+	 * foreach (array('a', 'b', 'c', 'd', 'e', 'f', 'g') as $k => $char) {
2385
+	 *     $redisCluster->zAdd('key', $k, $char);
2386
+	 * }
2387
+	 *
2388
+	 * $redisCluster->zRangeByLex('key', '-', '[c'); // array('a', 'b', 'c')
2389
+	 * $redisCluster->zRangeByLex('key', '-', '(c'); // array('a', 'b')
2390
+	 * $redisCluster->zRevRangeByLex('key', '(c','-'); // array('b', 'a')
2391
+	 * </pre>
2392
+	 */
2393
+	public function zRangeByLex($key, $min, $max, $offset = null, $limit = null) {}
2394
+
2395
+	/**
2396
+	 * @see     zRangeByLex()
2397
+	 *
2398
+	 * @param   string $key
2399
+	 * @param   int    $min
2400
+	 * @param   int    $max
2401
+	 * @param   int    $offset
2402
+	 * @param   int    $limit
2403
+	 *
2404
+	 * @return  array
2405
+	 * @link    https://redis.io/commands/zrevrangebylex
2406
+	 */
2407
+	public function zRevRangeByLex($key, $min, $max, $offset = null, $limit = null) {}
2408
+
2409
+	/**
2410
+	 * Count the number of members in a sorted set between a given lexicographical range.
2411
+	 *
2412
+	 * @param   string $key
2413
+	 * @param   int    $min
2414
+	 * @param   int    $max
2415
+	 *
2416
+	 * @return  int The number of elements in the specified score range.
2417
+	 * @link    https://redis.io/commands/zlexcount
2418
+	 * @example
2419
+	 * <pre>
2420
+	 * foreach (array('a', 'b', 'c', 'd', 'e', 'f', 'g') as $k => $char) {
2421
+	 *     $redisCluster->zAdd('key', $k, $char);
2422
+	 * }
2423
+	 * $redisCluster->zLexCount('key', '[b', '[f'); // 5
2424
+	 * </pre>
2425
+	 */
2426
+	public function zLexCount($key, $min, $max) {}
2427
+
2428
+	/**
2429
+	 * Remove all members in a sorted set between the given lexicographical range.
2430
+	 *
2431
+	 * @param   string $key The ZSET you wish to run against.
2432
+	 * @param   int    $min The minimum alphanumeric value you wish to get.
2433
+	 * @param   int    $max The maximum alphanumeric value you wish to get.
2434
+	 *
2435
+	 * @return  array    the number of elements removed.
2436
+	 * @link    https://redis.io/commands/zremrangebylex
2437
+	 * @example
2438
+	 * <pre>
2439
+	 * foreach (array('a', 'b', 'c', 'd', 'e', 'f', 'g') as $k => $char) {
2440
+	 *     $redisCluster->zAdd('key', $k, $char);
2441
+	 * }
2442
+	 * $redisCluster->zRemRangeByLex('key', '(b','[d'); // 2 , remove element 'c' and 'd'
2443
+	 * $redisCluster->zRange('key',0,-1);// array('a','b','e','f','g')
2444
+	 * </pre>
2445
+	 */
2446
+	public function zRemRangeByLex($key, $min, $max) {}
2447
+
2448
+	/**
2449
+	 * Add multiple sorted sets and store the resulting sorted set in a new key
2450
+	 *
2451
+	 * @param string $Output
2452
+	 * @param array  $ZSetKeys
2453
+	 * @param null|array $Weights
2454
+	 * @param string $aggregateFunction Either "SUM", "MIN", or "MAX": defines the behaviour to use on
2455
+	 *                                  duplicate entries during the zUnion.
2456
+	 *
2457
+	 * @return int The number of values in the new sorted set.
2458
+	 * @link    https://redis.io/commands/zunionstore
2459
+	 * @example
2460
+	 * <pre>
2461
+	 * $redisCluster->del('k1');
2462
+	 * $redisCluster->del('k2');
2463
+	 * $redisCluster->del('k3');
2464
+	 * $redisCluster->del('ko1');
2465
+	 * $redisCluster->del('ko2');
2466
+	 * $redisCluster->del('ko3');
2467
+	 *
2468
+	 * $redisCluster->zAdd('k1', 0, 'val0');
2469
+	 * $redisCluster->zAdd('k1', 1, 'val1');
2470
+	 *
2471
+	 * $redisCluster->zAdd('k2', 2, 'val2');
2472
+	 * $redisCluster->zAdd('k2', 3, 'val3');
2473
+	 *
2474
+	 * $redisCluster->zUnionStore('ko1', array('k1', 'k2')); // 4, 'ko1' => array('val0', 'val1', 'val2', 'val3')
2475
+	 *
2476
+	 * // Weighted zUnionStore
2477
+	 * $redisCluster->zUnionStore('ko2', array('k1', 'k2'), array(1, 1)); // 4, 'ko2' => array('val0', 'val1', 'val2','val3')
2478
+	 * $redisCluster->zUnionStore('ko3', array('k1', 'k2'), array(5, 1)); // 4, 'ko3' => array('val0', 'val2', 'val3','val1')
2479
+	 * </pre>
2480
+	 */
2481
+	public function zUnionStore($Output, $ZSetKeys, ?array $Weights = null, $aggregateFunction = 'SUM') {}
2482
+
2483
+	/**
2484
+	 * Intersect multiple sorted sets and store the resulting sorted set in a new key
2485
+	 *
2486
+	 * @param   string $Output
2487
+	 * @param   array  $ZSetKeys
2488
+	 * @param   null|array $Weights
2489
+	 * @param   string $aggregateFunction Either "SUM", "MIN", or "MAX":
2490
+	 *                                    defines the behaviour to use on duplicate entries during the zInterStore.
2491
+	 *
2492
+	 * @return  int     The number of values in the new sorted set.
2493
+	 * @link    https://redis.io/commands/zinterstore
2494
+	 * @example
2495
+	 * <pre>
2496
+	 * $redisCluster->del('k1');
2497
+	 * $redisCluster->del('k2');
2498
+	 * $redisCluster->del('k3');
2499
+	 *
2500
+	 * $redisCluster->del('ko1');
2501
+	 * $redisCluster->del('ko2');
2502
+	 * $redisCluster->del('ko3');
2503
+	 * $redisCluster->del('ko4');
2504
+	 *
2505
+	 * $redisCluster->zAdd('k1', 0, 'val0');
2506
+	 * $redisCluster->zAdd('k1', 1, 'val1');
2507
+	 * $redisCluster->zAdd('k1', 3, 'val3');
2508
+	 *
2509
+	 * $redisCluster->zAdd('k2', 2, 'val1');
2510
+	 * $redisCluster->zAdd('k2', 3, 'val3');
2511
+	 *
2512
+	 * $redisCluster->zInterStore('ko1', array('k1', 'k2'));               // 2, 'ko1' => array('val1', 'val3')
2513
+	 * $redisCluster->zInterStore('ko2', array('k1', 'k2'), array(1, 1));  // 2, 'ko2' => array('val1', 'val3')
2514
+	 *
2515
+	 * // Weighted zInterStore
2516
+	 * $redisCluster->zInterStore('ko3', array('k1', 'k2'), array(1, 5), 'min'); // 2, 'ko3' => array('val1', 'val3')
2517
+	 * $redisCluster->zInterStore('ko4', array('k1', 'k2'), array(1, 5), 'max'); // 2, 'ko4' => array('val3', 'val1')
2518
+	 * </pre>
2519
+	 */
2520
+	public function zInterStore($Output, $ZSetKeys, array $Weights = null, $aggregateFunction = 'SUM') {}
2521
+
2522
+	/**
2523
+	 * Deletes a specified member from the ordered set.
2524
+	 *
2525
+	 * @param   string $key
2526
+	 * @param   string $member1
2527
+	 * @param   string $member2
2528
+	 * @param   string $memberN
2529
+	 *
2530
+	 * @return  int     Number of deleted values
2531
+	 * @link    https://redis.io/commands/zrem
2532
+	 * @example
2533
+	 * <pre>
2534
+	 * $redisCluster->zAdd('z', 1, 'v1', 2, 'v2', 3, 'v3', 4, 'v4' );  // int(2)
2535
+	 * $redisCluster->zRem('z', 'v2', 'v3');                           // int(2)
2536
+	 * var_dump( $redisCluster->zRange('z', 0, -1) );
2537
+	 * //// Output:
2538
+	 * //
2539
+	 * // array(2) {
2540
+	 * //   [0]=> string(2) "v1"
2541
+	 * //   [1]=> string(2) "v4"
2542
+	 * // }
2543
+	 * </pre>
2544
+	 */
2545
+	public function zRem($key, $member1, $member2 = null, $memberN = null) {}
2546
+
2547
+	/**
2548
+	 * Sort
2549
+	 *
2550
+	 * @param   string $key
2551
+	 * @param   array  $option array(key => value, ...) - optional, with the following keys and values:
2552
+	 *                         - 'by' => 'some_pattern_*',
2553
+	 *                         - 'limit' => array(0, 1),
2554
+	 *                         - 'get' => 'some_other_pattern_*' or an array of patterns,
2555
+	 *                         - 'sort' => 'asc' or 'desc',
2556
+	 *                         - 'alpha' => TRUE,
2557
+	 *                         - 'store' => 'external-key'
2558
+	 *
2559
+	 * @return  array
2560
+	 * An array of values, or a number corresponding to the number of elements stored if that was used.
2561
+	 * @link    https://redis.io/commands/sort
2562
+	 * @example
2563
+	 * <pre>
2564
+	 * $redisCluster->del('s');
2565
+	 * $redisCluster->sadd('s', 5);
2566
+	 * $redisCluster->sadd('s', 4);
2567
+	 * $redisCluster->sadd('s', 2);
2568
+	 * $redisCluster->sadd('s', 1);
2569
+	 * $redisCluster->sadd('s', 3);
2570
+	 *
2571
+	 * var_dump($redisCluster->sort('s')); // 1,2,3,4,5
2572
+	 * var_dump($redisCluster->sort('s', array('sort' => 'desc'))); // 5,4,3,2,1
2573
+	 * var_dump($redisCluster->sort('s', array('sort' => 'desc', 'store' => 'out'))); // (int)5
2574
+	 * </pre>
2575
+	 */
2576
+	public function sort($key, $option = null) {}
2577
+
2578
+	/**
2579
+	 * Describes the object pointed to by a key.
2580
+	 * The information to retrieve (string) and the key (string).
2581
+	 * Info can be one of the following:
2582
+	 * - "encoding"
2583
+	 * - "refcount"
2584
+	 * - "idletime"
2585
+	 *
2586
+	 * @param   string $string
2587
+	 * @param   string $key
2588
+	 *
2589
+	 * @return  string|false  for "encoding", int for "refcount" and "idletime", FALSE if the key doesn't exist.
2590
+	 * @link    https://redis.io/commands/object
2591
+	 * @example
2592
+	 * <pre>
2593
+	 * $redisCluster->object("encoding", "l"); // → ziplist
2594
+	 * $redisCluster->object("refcount", "l"); // → 1
2595
+	 * $redisCluster->object("idletime", "l"); // → 400 (in seconds, with a precision of 10 seconds).
2596
+	 * </pre>
2597
+	 */
2598
+	public function object($string = '', $key = '') {}
2599
+
2600
+	/**
2601
+	 * Subscribe to channels. Warning: this function will probably change in the future.
2602
+	 *
2603
+	 * @param array        $channels an array of channels to subscribe to
2604
+	 * @param string|array $callback either a string or an array($instance, 'method_name').
2605
+	 *                                 The callback function receives 3 parameters: the redis instance, the channel
2606
+	 *                                 name, and the message.
2607
+	 *
2608
+	 * @return mixed            Any non-null return value in the callback will be returned to the caller.
2609
+	 * @link    https://redis.io/commands/subscribe
2610
+	 * @example
2611
+	 * <pre>
2612
+	 * function f($redisCluster, $chan, $msg) {
2613
+	 *  switch($chan) {
2614
+	 *      case 'chan-1':
2615
+	 *          ...
2616
+	 *          break;
2617
+	 *
2618
+	 *      case 'chan-2':
2619
+	 *                     ...
2620
+	 *          break;
2621
+	 *
2622
+	 *      case 'chan-2':
2623
+	 *          ...
2624
+	 *          break;
2625
+	 *      }
2626
+	 * }
2627
+	 *
2628
+	 * $redisCluster->subscribe(array('chan-1', 'chan-2', 'chan-3'), 'f'); // subscribe to 3 chans
2629
+	 * </pre>
2630
+	 */
2631
+	public function subscribe($channels, $callback) {}
2632
+
2633
+	/**
2634
+	 * Subscribe to channels by pattern
2635
+	 *
2636
+	 * @param   array        $patterns     The number of elements removed from the set.
2637
+	 * @param   string|array $callback     Either a string or an array with an object and method.
2638
+	 *                                       The callback will get four arguments ($redis, $pattern, $channel, $message)
2639
+	 *
2640
+	 * @return  mixed           Any non-null return value in the callback will be returned to the caller.
2641
+	 *
2642
+	 * @link    https://redis.io/commands/psubscribe
2643
+	 * @example
2644
+	 * <pre>
2645
+	 * function psubscribe($redisCluster, $pattern, $chan, $msg) {
2646
+	 *  echo "Pattern: $pattern\n";
2647
+	 *  echo "Channel: $chan\n";
2648
+	 *  echo "Payload: $msg\n";
2649
+	 * }
2650
+	 * </pre>
2651
+	 */
2652
+	public function psubscribe($patterns, $callback) {}
2653
+
2654
+	/**
2655
+	 * Unsubscribes the client from the given channels, or from all of them if none is given.
2656
+	 *
2657
+	 * @param $channels
2658
+	 * @param $callback
2659
+	 */
2660
+	public function unSubscribe($channels, $callback) {}
2661
+
2662
+	/**
2663
+	 * Unsubscribes the client from the given patterns, or from all of them if none is given.
2664
+	 *
2665
+	 * @param $channels
2666
+	 * @param $callback
2667
+	 */
2668
+	public function punSubscribe($channels, $callback) {}
2669
+
2670
+	/**
2671
+	 * Evaluate a LUA script serverside, from the SHA1 hash of the script instead of the script itself.
2672
+	 * In order to run this command Redis will have to have already loaded the script, either by running it or via
2673
+	 * the SCRIPT LOAD command.
2674
+	 *
2675
+	 * @param   string $scriptSha
2676
+	 * @param   array  $args
2677
+	 * @param   int    $numKeys
2678
+	 *
2679
+	 * @return  mixed   @see eval()
2680
+	 * @see     eval()
2681
+	 * @link    https://redis.io/commands/evalsha
2682
+	 * @example
2683
+	 * <pre>
2684
+	 * $script = 'return 1';
2685
+	 * $sha = $redisCluster->script('load', $script);
2686
+	 * $redisCluster->evalSha($sha); // Returns 1
2687
+	 * </pre>
2688
+	 */
2689
+	public function evalSha($scriptSha, $args = [], $numKeys = 0) {}
2690
+
2691
+	/**
2692
+	 * Scan the keyspace for keys.
2693
+	 *
2694
+	 * @param  int          &$iterator Iterator, initialized to NULL.
2695
+	 * @param  string|array $node      Node identified by key or host/port array
2696
+	 * @param  string       $pattern   Pattern to match.
2697
+	 * @param  int          $count     Count of keys per iteration (only a suggestion to Redis).
2698
+	 *
2699
+	 * @return array|false             This function will return an array of keys or FALSE if there are no more keys.
2700
+	 * @link   https://redis.io/commands/scan
2701
+	 * @example
2702
+	 * <pre>
2703
+	 * $iterator = null;
2704
+	 * while($keys = $redisCluster->scan($iterator)) {
2705
+	 *     foreach($keys as $key) {
2706
+	 *         echo $key . PHP_EOL;
2707
+	 *     }
2708
+	 * }
2709
+	 * </pre>
2710
+	 */
2711
+	public function scan(&$iterator, $node, $pattern = null, $count = 0) {}
2712
+
2713
+	/**
2714
+	 * Scan a set for members.
2715
+	 *
2716
+	 * @param   string $key      The set to search.
2717
+	 * @param   int    &$iterator LONG (reference) to the iterator as we go.
2718
+	 * @param   null   $pattern  String, optional pattern to match against.
2719
+	 * @param   int    $count    How many members to return at a time (Redis might return a different amount).
2720
+	 *
2721
+	 * @return  array|false   PHPRedis will return an array of keys or FALSE when we're done iterating.
2722
+	 * @link    https://redis.io/commands/sscan
2723
+	 * @example
2724
+	 * <pre>
2725
+	 * $iterator = null;
2726
+	 * while ($members = $redisCluster->sScan('set', $iterator)) {
2727
+	 *     foreach ($members as $member) {
2728
+	 *         echo $member . PHP_EOL;
2729
+	 *     }
2730
+	 * }
2731
+	 * </pre>
2732
+	 */
2733
+	public function sScan($key, &$iterator, $pattern = null, $count = 0) {}
2734
+
2735
+	/**
2736
+	 * Scan a sorted set for members, with optional pattern and count.
2737
+	 *
2738
+	 * @param   string $key      String, the set to scan.
2739
+	 * @param   int    &$iterator Long (reference), initialized to NULL.
2740
+	 * @param   string $pattern  String (optional), the pattern to match.
2741
+	 * @param   int    $count    How many keys to return per iteration (Redis might return a different number).
2742
+	 *
2743
+	 * @return  array|false   PHPRedis will return matching keys from Redis, or FALSE when iteration is complete.
2744
+	 * @link    https://redis.io/commands/zscan
2745
+	 * @example
2746
+	 * <pre>
2747
+	 * $iterator = null;
2748
+	 * while ($members = $redis-zscan('zset', $iterator)) {
2749
+	 *     foreach ($members as $member => $score) {
2750
+	 *         echo $member . ' => ' . $score . PHP_EOL;
2751
+	 *     }
2752
+	 * }
2753
+	 * </pre>
2754
+	 */
2755
+	public function zScan($key, &$iterator, $pattern = null, $count = 0) {}
2756
+
2757
+	/**
2758
+	 * Scan a HASH value for members, with an optional pattern and count.
2759
+	 *
2760
+	 * @param   string $key
2761
+	 * @param   int    &$iterator
2762
+	 * @param   string $pattern Optional pattern to match against.
2763
+	 * @param   int    $count   How many keys to return in a go (only a sugestion to Redis).
2764
+	 *
2765
+	 * @return  array     An array of members that match our pattern.
2766
+	 * @link    https://redis.io/commands/hscan
2767
+	 * @example
2768
+	 * <pre>
2769
+	 * $iterator = null;
2770
+	 * while($elements = $redisCluster->hscan('hash', $iterator)) {
2771
+	 *    foreach($elements as $key => $value) {
2772
+	 *         echo $key . ' => ' . $value . PHP_EOL;
2773
+	 *     }
2774
+	 * }
2775
+	 * </pre>
2776
+	 */
2777
+	public function hScan($key, &$iterator, $pattern = null, $count = 0) {}
2778
+
2779
+	/**
2780
+	 * Detect whether we're in ATOMIC/MULTI/PIPELINE mode.
2781
+	 *
2782
+	 * @return  int     Either RedisCluster::ATOMIC, RedisCluster::MULTI or RedisCluster::PIPELINE
2783
+	 * @example $redisCluster->getMode();
2784
+	 */
2785
+	public function getMode() {}
2786
+
2787
+	/**
2788
+	 * The last error message (if any)
2789
+	 *
2790
+	 * @return  string|null  A string with the last returned script based error message, or NULL if there is no error
2791
+	 * @example
2792
+	 * <pre>
2793
+	 * $redisCluster->eval('this-is-not-lua');
2794
+	 * $err = $redisCluster->getLastError();
2795
+	 * // "ERR Error compiling script (new function): user_script:1: '=' expected near '-'"
2796
+	 * </pre>
2797
+	 */
2798
+	public function getLastError() {}
2799
+
2800
+	/**
2801
+	 * Clear the last error message
2802
+	 *
2803
+	 * @return bool true
2804
+	 * @example
2805
+	 * <pre>
2806
+	 * $redisCluster->set('x', 'a');
2807
+	 * $redisCluster->incr('x');
2808
+	 * $err = $redisCluster->getLastError();
2809
+	 * // "ERR value is not an integer or out of range"
2810
+	 * $redisCluster->clearLastError();
2811
+	 * $err = $redisCluster->getLastError();
2812
+	 * // NULL
2813
+	 * </pre>
2814
+	 */
2815
+	public function clearLastError() {}
2816
+
2817
+	/**
2818
+	 * Get client option
2819
+	 *
2820
+	 * @param   string $name parameter name
2821
+	 *
2822
+	 * @return  int     Parameter value.
2823
+	 * @example
2824
+	 * // return RedisCluster::SERIALIZER_NONE, RedisCluster::SERIALIZER_PHP, or RedisCluster::SERIALIZER_IGBINARY.
2825
+	 * $redisCluster->getOption(RedisCluster::OPT_SERIALIZER);
2826
+	 */
2827
+	public function getOption($name) {}
2828
+
2829
+	/**
2830
+	 * Set client option.
2831
+	 *
2832
+	 * @param   string $name  parameter name
2833
+	 * @param   string $value parameter value
2834
+	 *
2835
+	 * @return  bool   TRUE on success, FALSE on error.
2836
+	 * @example
2837
+	 * <pre>
2838
+	 * $redisCluster->setOption(RedisCluster::OPT_SERIALIZER, RedisCluster::SERIALIZER_NONE);        // don't serialize data
2839
+	 * $redisCluster->setOption(RedisCluster::OPT_SERIALIZER, RedisCluster::SERIALIZER_PHP);         // use built-in serialize/unserialize
2840
+	 * $redisCluster->setOption(RedisCluster::OPT_SERIALIZER, RedisCluster::SERIALIZER_IGBINARY);    // use igBinary serialize/unserialize
2841
+	 * $redisCluster->setOption(RedisCluster::OPT_PREFIX, 'myAppName:');                             // use custom prefix on all keys
2842
+	 * </pre>
2843
+	 */
2844
+	public function setOption($name, $value) {}
2845
+
2846
+	/**
2847
+	 * A utility method to prefix the value with the prefix setting for phpredis.
2848
+	 *
2849
+	 * @param   mixed $value The value you wish to prefix
2850
+	 *
2851
+	 * @return  string  If a prefix is set up, the value now prefixed.  If there is no prefix, the value will be returned unchanged.
2852
+	 * @example
2853
+	 * <pre>
2854
+	 * $redisCluster->setOption(RedisCluster::OPT_PREFIX, 'my-prefix:');
2855
+	 * $redisCluster->_prefix('my-value'); // Will return 'my-prefix:my-value'
2856
+	 * </pre>
2857
+	 */
2858
+	public function _prefix($value) {}
2859
+
2860
+	/**
2861
+	 * A utility method to serialize values manually. This method allows you to serialize a value with whatever
2862
+	 * serializer is configured, manually. This can be useful for serialization/unserialization of data going in
2863
+	 * and out of EVAL commands as phpredis can't automatically do this itself.  Note that if no serializer is
2864
+	 * set, phpredis will change Array values to 'Array', and Objects to 'Object'.
2865
+	 *
2866
+	 * @param   mixed $value The value to be serialized.
2867
+	 *
2868
+	 * @return  mixed
2869
+	 * @example
2870
+	 * <pre>
2871
+	 * $redisCluster->setOption(RedisCluster::OPT_SERIALIZER, RedisCluster::SERIALIZER_NONE);
2872
+	 * $redisCluster->_serialize("foo"); // returns "foo"
2873
+	 * $redisCluster->_serialize(Array()); // Returns "Array"
2874
+	 * $redisCluster->_serialize(new stdClass()); // Returns "Object"
2875
+	 *
2876
+	 * $redisCluster->setOption(RedisCluster::OPT_SERIALIZER, RedisCluster::SERIALIZER_PHP);
2877
+	 * $redisCluster->_serialize("foo"); // Returns 's:3:"foo";'
2878
+	 * </pre>
2879
+	 */
2880
+	public function _serialize($value) {}
2881
+
2882
+	/**
2883
+	 * A utility method to unserialize data with whatever serializer is set up.  If there is no serializer set, the
2884
+	 * value will be returned unchanged.  If there is a serializer set up, and the data passed in is malformed, an
2885
+	 * exception will be thrown. This can be useful if phpredis is serializing values, and you return something from
2886
+	 * redis in a LUA script that is serialized.
2887
+	 *
2888
+	 * @param   string $value The value to be unserialized
2889
+	 *
2890
+	 * @return mixed
2891
+	 * @example
2892
+	 * <pre>
2893
+	 * $redisCluster->setOption(RedisCluster::OPT_SERIALIZER, RedisCluster::SERIALIZER_PHP);
2894
+	 * $redisCluster->_unserialize('a:3:{i:0;i:1;i:1;i:2;i:2;i:3;}'); // Will return Array(1,2,3)
2895
+	 * </pre>
2896
+	 */
2897
+	public function _unserialize($value) {}
2898
+
2899
+	/**
2900
+	 * Return all redis master nodes
2901
+	 *
2902
+	 * @return array
2903
+	 * @example
2904
+	 * <pre>
2905
+	 * $redisCluster->_masters(); // Will return [[0=>'127.0.0.1','6379'],[0=>'127.0.0.1','6380']]
2906
+	 * </pre>
2907
+	 */
2908
+	public function _masters() {}
2909
+
2910
+	/**
2911
+	 * Enter and exit transactional mode.
2912
+	 *
2913
+	 * @param int $mode RedisCluster::MULTI|RedisCluster::PIPELINE
2914
+	 *            Defaults to RedisCluster::MULTI.
2915
+	 *            A RedisCluster::MULTI block of commands runs as a single transaction;
2916
+	 *            a RedisCluster::PIPELINE block is simply transmitted faster to the server, but without any guarantee
2917
+	 *            of atomicity. discard cancels a transaction.
2918
+	 *
2919
+	 * @return Redis returns the Redis instance and enters multi-mode.
2920
+	 * Once in multi-mode, all subsequent method calls return the same object until exec() is called.
2921
+	 * @link    https://redis.io/commands/multi
2922
+	 * @example
2923
+	 * <pre>
2924
+	 * $ret = $redisCluster->multi()
2925
+	 *      ->set('key1', 'val1')
2926
+	 *      ->get('key1')
2927
+	 *      ->set('key2', 'val2')
2928
+	 *      ->get('key2')
2929
+	 *      ->exec();
2930
+	 *
2931
+	 * //$ret == array (
2932
+	 * //    0 => TRUE,
2933
+	 * //    1 => 'val1',
2934
+	 * //    2 => TRUE,
2935
+	 * //    3 => 'val2');
2936
+	 * </pre>
2937
+	 */
2938
+	public function multi($mode = RedisCluster::MULTI) {}
2939
+
2940
+	/**
2941
+	 * @see     multi()
2942
+	 * @return void|array
2943
+	 * @link    https://redis.io/commands/exec
2944
+	 */
2945
+	public function exec() {}
2946
+
2947
+	/**
2948
+	 * @see     multi()
2949
+	 * @link    https://redis.io/commands/discard
2950
+	 */
2951
+	public function discard() {}
2952
+
2953
+	/**
2954
+	 * Watches a key for modifications by another client. If the key is modified between WATCH and EXEC,
2955
+	 * the MULTI/EXEC transaction will fail (return FALSE). unwatch cancels all the watching of all keys by this client.
2956
+	 *
2957
+	 * @param string|array $key : a list of keys
2958
+	 *
2959
+	 * @return void
2960
+	 * @link    https://redis.io/commands/watch
2961
+	 * @example
2962
+	 * <pre>
2963
+	 * $redisCluster->watch('x');
2964
+	 * // long code here during the execution of which other clients could well modify `x`
2965
+	 * $ret = $redisCluster->multi()
2966
+	 *          ->incr('x')
2967
+	 *          ->exec();
2968
+	 * // $ret = FALSE if x has been modified between the call to WATCH and the call to EXEC.
2969
+	 * </pre>
2970
+	 */
2971
+	public function watch($key) {}
2972
+
2973
+	/**
2974
+	 * @see     watch()
2975
+	 * @link    https://redis.io/commands/unwatch
2976
+	 */
2977
+	public function unwatch() {}
2978
+
2979
+	/**
2980
+	 * Performs a synchronous save at a specific node.
2981
+	 *
2982
+	 * @param string|array $nodeParams key or [host,port]
2983
+	 *
2984
+	 * @return  bool   TRUE in case of success, FALSE in case of failure.
2985
+	 * If a save is already running, this command will fail and return FALSE.
2986
+	 * @link    https://redis.io/commands/save
2987
+	 * @example
2988
+	 * $redisCluster->save('x'); //key
2989
+	 * $redisCluster->save(['127.0.0.1',6379]); //[host,port]
2990
+	 */
2991
+	public function save($nodeParams) {}
2992
+
2993
+	/**
2994
+	 * Performs a background save at a specific node.
2995
+	 *
2996
+	 * @param string|array $nodeParams key or [host,port]
2997
+	 *
2998
+	 * @return  bool    TRUE in case of success, FALSE in case of failure.
2999
+	 * If a save is already running, this command will fail and return FALSE.
3000
+	 * @link    https://redis.io/commands/bgsave
3001
+	 */
3002
+	public function bgsave($nodeParams) {}
3003
+
3004
+	/**
3005
+	 * Removes all entries from the current database at a specific node.
3006
+	 *
3007
+	 * @param string|array $nodeParams key or [host,port]
3008
+	 *
3009
+	 * @return  bool Always TRUE.
3010
+	 * @link    https://redis.io/commands/flushdb
3011
+	 */
3012
+	public function flushDB($nodeParams) {}
3013
+
3014
+	/**
3015
+	 * Removes all entries from all databases at a specific node.
3016
+	 *
3017
+	 * @param string|array $nodeParams key or [host,port]
3018
+	 *
3019
+	 * @return  bool Always TRUE.
3020
+	 * @link    https://redis.io/commands/flushall
3021
+	 */
3022
+	public function flushAll($nodeParams) {}
3023
+
3024
+	/**
3025
+	 * Returns the current database's size at a specific node.
3026
+	 *
3027
+	 * @param string|array $nodeParams key or [host,port]
3028
+	 *
3029
+	 * @return int     DB size, in number of keys.
3030
+	 * @link    https://redis.io/commands/dbsize
3031
+	 * @example
3032
+	 * <pre>
3033
+	 * $count = $redisCluster->dbSize('x');
3034
+	 * echo "Redis has $count keys\n";
3035
+	 * </pre>
3036
+	 */
3037
+	public function dbSize($nodeParams) {}
3038
+
3039
+	/**
3040
+	 * Starts the background rewrite of AOF (Append-Only File) at a specific node.
3041
+	 *
3042
+	 * @param string|array $nodeParams key or [host,port]
3043
+	 *
3044
+	 * @return  bool   TRUE in case of success, FALSE in case of failure.
3045
+	 * @link    https://redis.io/commands/bgrewriteaof
3046
+	 * @example $redisCluster->bgrewriteaof('x');
3047
+	 */
3048
+	public function bgrewriteaof($nodeParams) {}
3049
+
3050
+	/**
3051
+	 * Returns the timestamp of the last disk save at a specific node.
3052
+	 *
3053
+	 * @param string|array $nodeParams key or [host,port]
3054
+	 *
3055
+	 * @return  int    timestamp.
3056
+	 * @link    https://redis.io/commands/lastsave
3057
+	 * @example $redisCluster->lastSave('x');
3058
+	 */
3059
+	public function lastSave($nodeParams) {}
3060
+
3061
+	/**
3062
+	 * Returns an associative array of strings and integers
3063
+	 *
3064
+	 * @param   string $option Optional. The option to provide redis.
3065
+	 *                         SERVER | CLIENTS | MEMORY | PERSISTENCE | STATS | REPLICATION | CPU | CLASTER | KEYSPACE
3066
+	 *                         | COMANDSTATS
3067
+	 *
3068
+	 * Returns an associative array of strings and integers, with the following keys:
3069
+	 * - redis_version
3070
+	 * - redis_git_sha1
3071
+	 * - redis_git_dirty
3072
+	 * - redis_build_id
3073
+	 * - redis_mode
3074
+	 * - os
3075
+	 * - arch_bits
3076
+	 * - multiplexing_api
3077
+	 * - atomicvar_api
3078
+	 * - gcc_version
3079
+	 * - process_id
3080
+	 * - run_id
3081
+	 * - tcp_port
3082
+	 * - uptime_in_seconds
3083
+	 * - uptime_in_days
3084
+	 * - hz
3085
+	 * - lru_clock
3086
+	 * - executable
3087
+	 * - config_file
3088
+	 * - connected_clients
3089
+	 * - client_longest_output_list
3090
+	 * - client_biggest_input_buf
3091
+	 * - blocked_clients
3092
+	 * - used_memory
3093
+	 * - used_memory_human
3094
+	 * - used_memory_rss
3095
+	 * - used_memory_rss_human
3096
+	 * - used_memory_peak
3097
+	 * - used_memory_peak_human
3098
+	 * - used_memory_peak_perc
3099
+	 * - used_memory_peak
3100
+	 * - used_memory_overhead
3101
+	 * - used_memory_startup
3102
+	 * - used_memory_dataset
3103
+	 * - used_memory_dataset_perc
3104
+	 * - total_system_memory
3105
+	 * - total_system_memory_human
3106
+	 * - used_memory_lua
3107
+	 * - used_memory_lua_human
3108
+	 * - maxmemory
3109
+	 * - maxmemory_human
3110
+	 * - maxmemory_policy
3111
+	 * - mem_fragmentation_ratio
3112
+	 * - mem_allocator
3113
+	 * - active_defrag_running
3114
+	 * - lazyfree_pending_objects
3115
+	 * - mem_fragmentation_ratio
3116
+	 * - loading
3117
+	 * - rdb_changes_since_last_save
3118
+	 * - rdb_bgsave_in_progress
3119
+	 * - rdb_last_save_time
3120
+	 * - rdb_last_bgsave_status
3121
+	 * - rdb_last_bgsave_time_sec
3122
+	 * - rdb_current_bgsave_time_sec
3123
+	 * - rdb_last_cow_size
3124
+	 * - aof_enabled
3125
+	 * - aof_rewrite_in_progress
3126
+	 * - aof_rewrite_scheduled
3127
+	 * - aof_last_rewrite_time_sec
3128
+	 * - aof_current_rewrite_time_sec
3129
+	 * - aof_last_bgrewrite_status
3130
+	 * - aof_last_write_status
3131
+	 * - aof_last_cow_size
3132
+	 * - changes_since_last_save
3133
+	 * - aof_current_size
3134
+	 * - aof_base_size
3135
+	 * - aof_pending_rewrite
3136
+	 * - aof_buffer_length
3137
+	 * - aof_rewrite_buffer_length
3138
+	 * - aof_pending_bio_fsync
3139
+	 * - aof_delayed_fsync
3140
+	 * - loading_start_time
3141
+	 * - loading_total_bytes
3142
+	 * - loading_loaded_bytes
3143
+	 * - loading_loaded_perc
3144
+	 * - loading_eta_seconds
3145
+	 * - total_connections_received
3146
+	 * - total_commands_processed
3147
+	 * - instantaneous_ops_per_sec
3148
+	 * - total_net_input_bytes
3149
+	 * - total_net_output_bytes
3150
+	 * - instantaneous_input_kbps
3151
+	 * - instantaneous_output_kbps
3152
+	 * - rejected_connections
3153
+	 * - maxclients
3154
+	 * - sync_full
3155
+	 * - sync_partial_ok
3156
+	 * - sync_partial_err
3157
+	 * - expired_keys
3158
+	 * - evicted_keys
3159
+	 * - keyspace_hits
3160
+	 * - keyspace_misses
3161
+	 * - pubsub_channels
3162
+	 * - pubsub_patterns
3163
+	 * - latest_fork_usec
3164
+	 * - migrate_cached_sockets
3165
+	 * - slave_expires_tracked_keys
3166
+	 * - active_defrag_hits
3167
+	 * - active_defrag_misses
3168
+	 * - active_defrag_key_hits
3169
+	 * - active_defrag_key_misses
3170
+	 * - role
3171
+	 * - master_replid
3172
+	 * - master_replid2
3173
+	 * - master_repl_offset
3174
+	 * - second_repl_offset
3175
+	 * - repl_backlog_active
3176
+	 * - repl_backlog_size
3177
+	 * - repl_backlog_first_byte_offset
3178
+	 * - repl_backlog_histlen
3179
+	 * - master_host
3180
+	 * - master_port
3181
+	 * - master_link_status
3182
+	 * - master_last_io_seconds_ago
3183
+	 * - master_sync_in_progress
3184
+	 * - slave_repl_offset
3185
+	 * - slave_priority
3186
+	 * - slave_read_only
3187
+	 * - master_sync_left_bytes
3188
+	 * - master_sync_last_io_seconds_ago
3189
+	 * - master_link_down_since_seconds
3190
+	 * - connected_slaves
3191
+	 * - min-slaves-to-write
3192
+	 * - min-replicas-to-write
3193
+	 * - min_slaves_good_slaves
3194
+	 * - used_cpu_sys
3195
+	 * - used_cpu_user
3196
+	 * - used_cpu_sys_children
3197
+	 * - used_cpu_user_children
3198
+	 * - cluster_enabled
3199
+	 *
3200
+	 * @link    https://redis.io/commands/info
3201
+	 * @return  array
3202
+	 * @example
3203
+	 * <pre>
3204
+	 * $redisCluster->info();
3205
+	 *
3206
+	 * or
3207
+	 *
3208
+	 * $redisCluster->info("COMMANDSTATS"); //Information on the commands that have been run (>=2.6 only)
3209
+	 * $redisCluster->info("CPU"); // just CPU information from Redis INFO
3210
+	 * </pre>
3211
+	 */
3212
+	public function info($option = null) {}
3213
+
3214
+	/**
3215
+	 * @since  redis >= 2.8.12.
3216
+	 *  Returns the role of the instance in the context of replication
3217
+	 *
3218
+	 * @param string|array $nodeParams key or [host,port]
3219
+	 *
3220
+	 * @return array
3221
+	 * @link   https://redis.io/commands/role
3222
+	 * @example
3223
+	 * <pre>
3224
+	 * $redisCluster->role(['127.0.0.1',6379]);
3225
+	 * // [ 0=>'master',1 => 3129659, 2 => [ ['127.0.0.1','9001','3129242'], ['127.0.0.1','9002','3129543'] ] ]
3226
+	 * </pre>
3227
+	 */
3228
+	public function role($nodeParams) {}
3229
+
3230
+	/**
3231
+	 * Returns a random key at the specified node
3232
+	 *
3233
+	 * @param string|array $nodeParams key or [host,port]
3234
+	 *
3235
+	 * @return string an existing key in redis.
3236
+	 * @link    https://redis.io/commands/randomkey
3237
+	 * @example
3238
+	 * <pre>
3239
+	 * $key = $redisCluster->randomKey('x');
3240
+	 * $surprise = $redisCluster->get($key);  // who knows what's in there.
3241
+	 * </pre>
3242
+	 */
3243
+	public function randomKey($nodeParams) {}
3244
+
3245
+	/**
3246
+	 * Return the specified node server time.
3247
+	 *
3248
+	 * @param string|array $nodeParams key or [host,port]
3249
+	 *
3250
+	 * @return  array If successfully, the time will come back as an associative array with element zero being the
3251
+	 * unix timestamp, and element one being microseconds.
3252
+	 * @link    https://redis.io/commands/time
3253
+	 * @example
3254
+	 * <pre>
3255
+	 * var_dump( $redisCluster->time('x') );
3256
+	 * //// Output:
3257
+	 * //
3258
+	 * // array(2) {
3259
+	 * //   [0] => string(10) "1342364352"
3260
+	 * //   [1] => string(6) "253002"
3261
+	 * // }
3262
+	 * </pre>
3263
+	 */
3264
+	public function time($nodeParams) {}
3265
+
3266
+	/**
3267
+	 * Check the specified node status
3268
+	 *
3269
+	 * @param string|array $nodeParams key or [host,port]
3270
+	 *
3271
+	 * @return  string STRING: +PONG on success. Throws a RedisException object on connectivity error, as described
3272
+	 *                 above.
3273
+	 * @link    https://redis.io/commands/ping
3274
+	 */
3275
+	public function ping($nodeParams) {}
3276
+
3277
+	/**
3278
+	 * Returns message.
3279
+	 *
3280
+	 * @param string|array $nodeParams key or [host,port]
3281
+	 * @param string        $msg
3282
+	 *
3283
+	 * @return mixed
3284
+	 */
3285
+	public function echo($nodeParams, $msg) {}
3286
+
3287
+	/**
3288
+	 * Returns Array reply of details about all Redis Cluster commands.
3289
+	 *
3290
+	 * @return mixed array | bool
3291
+	 */
3292
+	public function command() {}
3293
+
3294
+	/**
3295
+	 * Send arbitrary things to the redis server at the specified node
3296
+	 *
3297
+	 * @param string|array $nodeParams key or [host,port]
3298
+	 * @param string       $command    Required command to send to the server.
3299
+	 * @param mixed        $arguments  Optional variable amount of arguments to send to the server.
3300
+	 *
3301
+	 * @return  mixed
3302
+	 */
3303
+	public function rawCommand($nodeParams, $command, $arguments) {}
3304
+
3305
+	/**
3306
+	 * @since redis >= 3.0
3307
+	 * Executes cluster command
3308
+	 *
3309
+	 * @param string|array $nodeParams key or [host,port]
3310
+	 * @param string       $command    Required command to send to the server.
3311
+	 * @param mixed        $arguments  Optional variable amount of arguments to send to the server.
3312
+	 *
3313
+	 * @return  mixed
3314
+	 * @link  https://redis.io/commands#cluster
3315
+	 * @example
3316
+	 * <pre>
3317
+	 * $redisCluster->cluster(['127.0.0.1',6379],'INFO');
3318
+	 * </pre>
3319
+	 */
3320
+	public function cluster($nodeParams, $command, $arguments) {}
3321
+
3322
+	/**
3323
+	 * Allows you to get information of the cluster client
3324
+	 *
3325
+	 * @param string|array $nodeParams key or [host,port]
3326
+	 * @param string       $subCmd     can be: 'LIST', 'KILL', 'GETNAME', or 'SETNAME'
3327
+	 * @param string       $args       optional arguments
3328
+	 */
3329
+	public function client($nodeParams, $subCmd, $args) {}
3330
+
3331
+	/**
3332
+	 * Get or Set the redis config keys.
3333
+	 *
3334
+	 * @param string|array $nodeParams key or [host,port]
3335
+	 * @param string       $operation  either `GET` or `SET`
3336
+	 * @param string       $key        for `SET`, glob-pattern for `GET`. See https://redis.io/commands/config-get for examples.
3337
+	 * @param string       $value      optional string (only for `SET`)
3338
+	 *
3339
+	 * @return  array   Associative array for `GET`, key -> value
3340
+	 * @link    https://redis.io/commands/config-get
3341
+	 * @link    https://redis.io/commands/config-set
3342
+	 * @example
3343
+	 * <pre>
3344
+	 * $redisCluster->config(['127.0.0.1',6379], "GET", "*max-*-entries*");
3345
+	 * $redisCluster->config(['127.0.0.1',6379], "SET", "dir", "/var/run/redis/dumps/");
3346
+	 * </pre>
3347
+	 */
3348
+	public function config($nodeParams, $operation, $key, $value) {}
3349
+
3350
+	/**
3351
+	 * A command allowing you to get information on the Redis pub/sub system.
3352
+	 *
3353
+	 * @param    string|array $nodeParams key or [host,port]
3354
+	 *
3355
+	 * @param    string       $keyword    String, which can be: "channels", "numsub", or "numpat"
3356
+	 * @param    string|array $argument   Optional, variant.
3357
+	 *                                    For the "channels" subcommand, you can pass a string pattern.
3358
+	 *                                    For "numsub" an array of channel names
3359
+	 *
3360
+	 * @return    array|int               Either an integer or an array.
3361
+	 *                          - channels  Returns an array where the members are the matching channels.
3362
+	 *                          - numsub    Returns a key/value array where the keys are channel names and
3363
+	 *                                      values are their counts.
3364
+	 *                          - numpat    Integer return containing the number active pattern subscriptions.
3365
+	 * @link    https://redis.io/commands/pubsub
3366
+	 * @example
3367
+	 * <pre>
3368
+	 * $redisCluster->pubsub(['127.0.0.1',6379], 'channels'); // All channels
3369
+	 * $redisCluster->pubsub(['127.0.0.1',6379], 'channels', '*pattern*'); // Just channels matching your pattern
3370
+	 * $redisCluster->pubsub(['127.0.0.1',6379], 'numsub', array('chan1', 'chan2')); // Get subscriber counts for
3371
+	 * 'chan1' and 'chan2'
3372
+	 * $redisCluster->pubsub(['127.0.0.1',6379], 'numpat'); // Get the number of pattern subscribers
3373
+	 * </pre>
3374
+	 */
3375
+	public function pubsub($nodeParams, $keyword, $argument) {}
3376
+
3377
+	/**
3378
+	 * Execute the Redis SCRIPT command to perform various operations on the scripting subsystem.
3379
+	 *
3380
+	 * @param   string|array $nodeParams key or [host,port]
3381
+	 * @param   string       $command    load | flush | kill | exists
3382
+	 * @param   string       $script
3383
+	 *
3384
+	 * @return  mixed
3385
+	 * @link    https://redis.io/commands/script-load
3386
+	 * @link    https://redis.io/commands/script-kill
3387
+	 * @link    https://redis.io/commands/script-flush
3388
+	 * @link    https://redis.io/commands/script-exists
3389
+	 * @example
3390
+	 * <pre>
3391
+	 * $redisCluster->script(['127.0.0.1',6379], 'load', $script);
3392
+	 * $redisCluster->script(['127.0.0.1',6379], 'flush');
3393
+	 * $redisCluster->script(['127.0.0.1',6379], 'kill');
3394
+	 * $redisCluster->script(['127.0.0.1',6379], 'exists', $script1, [$script2, $script3, ...]);
3395
+	 * </pre>
3396
+	 *
3397
+	 * SCRIPT LOAD will return the SHA1 hash of the passed script on success, and FALSE on failure.
3398
+	 * SCRIPT FLUSH should always return TRUE
3399
+	 * SCRIPT KILL will return true if a script was able to be killed and false if not
3400
+	 * SCRIPT EXISTS will return an array with TRUE or FALSE for each passed script
3401
+	 */
3402
+	public function script($nodeParams, $command, $script) {}
3403
+
3404
+	/**
3405
+	 * This function is used in order to read and reset the Redis slow queries log.
3406
+	 *
3407
+	 * @param   string|array $nodeParams key or [host,port]
3408
+	 * @param   string       $command
3409
+	 * @param   mixed        $argument
3410
+	 *
3411
+	 * @link  https://redis.io/commands/slowlog
3412
+	 * @example
3413
+	 * <pre>
3414
+	 * $redisCluster->slowLog(['127.0.0.1',6379],'get','2');
3415
+	 * </pre>
3416
+	 */
3417
+	public function slowLog($nodeParams, $command, $argument) {}
3418
+
3419
+	/**
3420
+	 * Add one or more geospatial items in the geospatial index represented using a sorted set
3421
+	 *
3422
+	 * @param string $key
3423
+	 * @param float  $longitude
3424
+	 * @param float  $latitude
3425
+	 * @param string $member
3426
+	 *
3427
+	 * @link  https://redis.io/commands/geoadd
3428
+	 * @example
3429
+	 * <pre>
3430
+	 * $redisCluster->geoAdd('Sicily', 13.361389, 38.115556, 'Palermo'); // int(1)
3431
+	 * $redisCluster->geoAdd('Sicily', 15.087269, 37.502669, "Catania"); // int(1)
3432
+	 * </pre>
3433
+	 */
3434
+	public function geoAdd($key, $longitude, $latitude, $member) {}
3435
+
3436
+	/**
3437
+	 * Returns members of a geospatial index as standard geohash strings
3438
+	 *
3439
+	 * @param string $key
3440
+	 * @param string $member1
3441
+	 * @param string $member2
3442
+	 * @param string $memberN
3443
+	 *
3444
+	 * @example
3445
+	 * <pre>
3446
+	 * $redisCluster->geoAdd('Sicily', 13.361389, 38.115556, 'Palermo'); // int(1)
3447
+	 * $redisCluster->geoAdd('Sicily', 15.087269, 37.502669, "Catania"); // int(1)
3448
+	 * $redisCluster->geohash('Sicily','Palermo','Catania');//['sqc8b49rny0','sqdtr74hyu0']
3449
+	 * </pre>
3450
+	 */
3451
+	public function geohash($key, $member1, $member2 = null, $memberN = null) {}
3452
+
3453
+	/**
3454
+	 * Returns longitude and latitude of members of a geospatial index
3455
+	 *
3456
+	 * @param string $key
3457
+	 * @param string $member1
3458
+	 * @param string $member2
3459
+	 * @param string $memberN
3460
+	 * @example
3461
+	 * <pre>
3462
+	 * $redisCluster->geoAdd('Sicily', 15.087269, 37.502669, "Catania"); // int(1)
3463
+	 * $redisCluster->geopos('Sicily','Palermo');//[['13.36138933897018433','38.11555639549629859']]
3464
+	 * </pre>
3465
+	 */
3466
+	public function geopos($key, $member1, $member2 = null, $memberN = null) {}
3467
+
3468
+	/**
3469
+	 * Returns the distance between two members of a geospatial index
3470
+	 *
3471
+	 * @param    string $key
3472
+	 * @param    string $member1
3473
+	 * @param    string $member2
3474
+	 * @param    string $unit The unit must be one of the following, and defaults to meters:
3475
+	 *                        m for meters.
3476
+	 *                        km for kilometers.
3477
+	 *                        mi for miles.
3478
+	 *                        ft for feet.
3479
+	 *
3480
+	 * @link https://redis.io/commands/geoadd
3481
+	 * @example
3482
+	 * <pre>
3483
+	 * $redisCluster->geoAdd('Sicily', 13.361389, 38.115556, 'Palermo'); // int(1)
3484
+	 * $redisCluster->geoAdd('Sicily', 15.087269, 37.502669, "Catania"); // int(1)
3485
+	 * $redisCluster->geoDist('Sicily', 'Palermo' ,'Catania'); // float(166274.1516)
3486
+	 * $redisCluster->geoDist('Sicily', 'Palermo','Catania', 'km'); // float(166.2742)
3487
+	 * </pre>
3488
+	 */
3489
+	public function geoDist($key, $member1, $member2, $unit = 'm') {}
3490
+
3491
+	/**
3492
+	 * Query a sorted set representing a geospatial index to fetch members matching a given maximum distance from a point
3493
+	 *
3494
+	 * @param    string $key
3495
+	 * @param    float  $longitude
3496
+	 * @param    float  $latitude
3497
+	 * @param    float  $radius
3498
+	 * @param    string $radiusUnit String can be: "m" for meters; "km" for kilometers , "mi" for miles, or "ft" for feet.
3499
+	 * @param    array  $options
3500
+	 *
3501
+	 * @link  https://redis.io/commands/georadius
3502
+	 * @example
3503
+	 * <pre>
3504
+	 * $redisCluster->del('Sicily');
3505
+	 * $redisCluster->geoAdd('Sicily', 12.361389, 35.115556, 'Palermo'); // int(1)
3506
+	 * $redisCluster->geoAdd('Sicily', 15.087269, 37.502669, "Catania"); // int(1)
3507
+	 * $redisCluster->geoAdd('Sicily', 13.3585, 35.330022, "Agrigento"); // int(1)
3508
+	 *
3509
+	 * var_dump( $redisCluster->geoRadius('Sicily',13.3585, 35.330022, 300, 'km', ['WITHDIST' ,'DESC']) );
3510
+	 *
3511
+	 * array(3) {
3512
+	 *    [0]=>
3513
+	 *   array(2) {
3514
+	 *        [0]=>
3515
+	 *     string(7) "Catania"
3516
+	 *        [1]=>
3517
+	 *     string(8) "286.9362"
3518
+	 *   }
3519
+	 *   [1]=>
3520
+	 *   array(2) {
3521
+	 *        [0]=>
3522
+	 *     string(7) "Palermo"
3523
+	 *        [1]=>
3524
+	 *     string(7) "93.6874"
3525
+	 *   }
3526
+	 *   [2]=>
3527
+	 *   array(2) {
3528
+	 *        [0]=>
3529
+	 *     string(9) "Agrigento"
3530
+	 *        [1]=>
3531
+	 *     string(6) "0.0002"
3532
+	 *   }
3533
+	 * }
3534
+	 * var_dump( $redisCluster->geoRadiusByMember('Sicily','Agrigento', 100, 'km', ['WITHDIST' ,'DESC']) );
3535
+	 *
3536
+	 * * array(2) {
3537
+	 *    [0]=>
3538
+	 *   array(2) {
3539
+	 *        [0]=>
3540
+	 *     string(7) "Palermo"
3541
+	 *        [1]=>
3542
+	 *     string(7) "93.6872"
3543
+	 *   }
3544
+	 *   [1]=>
3545
+	 *   array(2) {
3546
+	 *        [0]=>
3547
+	 *     string(9) "Agrigento"
3548
+	 *        [1]=>
3549
+	 *     string(6) "0.0000"
3550
+	 *   }
3551
+	 * }
3552
+	 *
3553
+	 * <pre>
3554
+	 */
3555
+	public function geoRadius($key, $longitude, $latitude, $radius, $radiusUnit, array $options) {}
3556
+
3557
+	/**
3558
+	 * Query a sorted set representing a geospatial index to fetch members matching a given maximum distance from a member
3559
+	 *
3560
+	 * @see geoRadius
3561
+	 *
3562
+	 * @param string $key
3563
+	 * @param string $member
3564
+	 * @param float  $radius
3565
+	 * @param string $radiusUnit
3566
+	 * @param array  $options
3567
+	 */
3568
+	public function geoRadiusByMember($key, $member, $radius, $radiusUnit, array $options) {}
3569 3569
 }
3570 3570
 
3571 3571
 class RedisClusterException extends Exception {}
Please login to merge, or discard this patch.
Braces   +1 added lines, -2 removed lines patch added patch discarded remove patch
@@ -9,8 +9,7 @@
 block discarded – undo
9 9
  *
10 10
  * @method mixed eval($script, $args = array(), $numKeys = 0)
11 11
  */
12
-class RedisCluster
13
-{
12
+class RedisCluster {
14 13
     public const AFTER = 'after';
15 14
     public const BEFORE = 'before';
16 15
 
Please login to merge, or discard this patch.
vendor-bin/php-scoper/vendor/jetbrains/phpstorm-stubs/redis/Redis.php 3 patches
Indentation   +4780 added lines, -4781 removed lines patch added patch discarded remove patch
@@ -10,4607 +10,4606 @@  discard block
 block discarded – undo
10 10
  */
11 11
 class Redis
12 12
 {
13
-    public const AFTER = 'after';
14
-    public const BEFORE = 'before';
15
-
16
-    /**
17
-     * Options
18
-     */
19
-    public const OPT_SERIALIZER = 1;
20
-    public const OPT_PREFIX = 2;
21
-    public const OPT_READ_TIMEOUT = 3;
22
-    public const OPT_SCAN = 4;
23
-    public const OPT_FAILOVER = 5;
24
-    public const OPT_TCP_KEEPALIVE = 6;
25
-    public const OPT_COMPRESSION = 7;
26
-    public const OPT_REPLY_LITERAL = 8;
27
-    public const OPT_COMPRESSION_LEVEL = 9;
28
-
29
-    /**
30
-     * Cluster options
31
-     */
32
-    public const FAILOVER_NONE = 0;
33
-    public const FAILOVER_ERROR = 1;
34
-    public const FAILOVER_DISTRIBUTE = 2;
35
-    public const FAILOVER_DISTRIBUTE_SLAVES = 3;
36
-
37
-    /**
38
-     * SCAN options
39
-     */
40
-    public const SCAN_NORETRY = 0;
41
-    public const SCAN_RETRY = 1;
42
-
43
-    /**
44
-     * @since 5.3.0
45
-     */
46
-    public const SCAN_PREFIX = 2;
47
-
48
-    /**
49
-     * @since 5.3.0
50
-     */
51
-    public const SCAN_NOPREFIX = 3;
52
-
53
-    /**
54
-     * Serializers
55
-     */
56
-    public const SERIALIZER_NONE = 0;
57
-    public const SERIALIZER_PHP = 1;
58
-    public const SERIALIZER_IGBINARY = 2;
59
-    public const SERIALIZER_MSGPACK = 3;
60
-    public const SERIALIZER_JSON = 4;
61
-
62
-    /**
63
-     * Compressions
64
-     */
65
-    public const COMPRESSION_NONE = 0;
66
-    public const COMPRESSION_LZF = 1;
67
-    public const COMPRESSION_ZSTD = 2;
68
-    public const COMPRESSION_LZ4 = 3;
69
-
70
-    /**
71
-     * Compression ZSTD levels
72
-     */
73
-    public const COMPRESSION_ZSTD_MIN = 1;
74
-    public const COMPRESSION_ZSTD_DEFAULT = 3;
75
-    public const COMPRESSION_ZSTD_MAX = 22;
76
-
77
-    /**
78
-     * Multi
79
-     */
80
-    public const ATOMIC = 0;
81
-    public const MULTI = 1;
82
-    public const PIPELINE = 2;
83
-
84
-    /**
85
-     * Type
86
-     */
87
-    public const REDIS_NOT_FOUND = 0;
88
-    public const REDIS_STRING = 1;
89
-    public const REDIS_SET = 2;
90
-    public const REDIS_LIST = 3;
91
-    public const REDIS_ZSET = 4;
92
-    public const REDIS_HASH = 5;
93
-    public const REDIS_STREAM = 6;
94
-
95
-    /**
96
-     * Creates a Redis client
97
-     *
98
-     * @example $redis = new Redis();
99
-     */
100
-    public function __construct() {}
101
-
102
-    /**
103
-     * Connects to a Redis instance.
104
-     *
105
-     * @param string $host          can be a host, or the path to a unix domain socket
106
-     * @param int    $port          optional
107
-     * @param float  $timeout       value in seconds (optional, default is 0.0 meaning unlimited)
108
-     * @param null   $reserved      should be null if $retryInterval is specified
109
-     * @param int    $retryInterval retry interval in milliseconds.
110
-     * @param float  $readTimeout   value in seconds (optional, default is 0 meaning unlimited)
111
-     *
112
-     * @return bool TRUE on success, FALSE on error
113
-     *
114
-     * @example
115
-     * <pre>
116
-     * $redis->connect('127.0.0.1', 6379);
117
-     * $redis->connect('127.0.0.1');            // port 6379 by default
118
-     * $redis->connect('127.0.0.1', 6379, 2.5); // 2.5 sec timeout.
119
-     * $redis->connect('/tmp/redis.sock');      // unix domain socket.
120
-     * </pre>
121
-     */
122
-    public function connect(
123
-        $host,
124
-        $port = 6379,
125
-        $timeout = 0.0,
126
-        $reserved = null,
127
-        $retryInterval = 0,
128
-        $readTimeout = 0.0
129
-    ) {}
130
-
131
-    /**
132
-     * Connects to a Redis instance.
133
-     *
134
-     * @param string $host          can be a host, or the path to a unix domain socket
135
-     * @param int    $port          optional
136
-     * @param float  $timeout       value in seconds (optional, default is 0.0 meaning unlimited)
137
-     * @param null   $reserved      should be null if $retry_interval is specified
138
-     * @param int    $retryInterval retry interval in milliseconds.
139
-     * @param float  $readTimeout   value in seconds (optional, default is 0 meaning unlimited)
140
-     *
141
-     * @return bool TRUE on success, FALSE on error
142
-     */
143
-    #[Deprecated(replacement: '%class%->connect(%parametersList%)')]
144
-    public function open(
145
-        $host,
146
-        $port = 6379,
147
-        $timeout = 0.0,
148
-        $reserved = null,
149
-        $retryInterval = 0,
150
-        $readTimeout = 0.0
151
-    ) {}
152
-
153
-    /**
154
-     * A method to determine if a phpredis object thinks it's connected to a server
155
-     *
156
-     * @return bool Returns TRUE if phpredis thinks it's connected and FALSE if not
157
-     */
158
-    public function isConnected() {}
159
-
160
-    /**
161
-     * Retrieve our host or unix socket that we're connected to
162
-     *
163
-     * @return string|false The host or unix socket we're connected to or FALSE if we're not connected
164
-     */
165
-    public function getHost() {}
166
-
167
-    /**
168
-     * Get the port we're connected to
169
-     *
170
-     * @return int|false Returns the port we're connected to or FALSE if we're not connected
171
-     */
172
-    public function getPort() {}
173
-
174
-    /**
175
-     * Get the database number phpredis is pointed to
176
-     *
177
-     * @return int|bool Returns the database number (int) phpredis thinks it's pointing to
178
-     * or FALSE if we're not connected
179
-     */
180
-    public function getDbNum() {}
181
-
182
-    /**
183
-     * Get the (write) timeout in use for phpredis
184
-     *
185
-     * @return float|false The timeout (DOUBLE) specified in our connect call or FALSE if we're not connected
186
-     */
187
-    public function getTimeout() {}
188
-
189
-    /**
190
-     * Get the read timeout specified to phpredis or FALSE if we're not connected
191
-     *
192
-     * @return float|bool Returns the read timeout (which can be set using setOption and Redis::OPT_READ_TIMEOUT)
193
-     * or FALSE if we're not connected
194
-     */
195
-    public function getReadTimeout() {}
196
-
197
-    /**
198
-     * Gets the persistent ID that phpredis is using
199
-     *
200
-     * @return string|null|bool Returns the persistent id phpredis is using
201
-     * (which will only be set if connected with pconnect),
202
-     * NULL if we're not using a persistent ID,
203
-     * and FALSE if we're not connected
204
-     */
205
-    public function getPersistentID() {}
206
-
207
-    /**
208
-     * Get the password used to authenticate the phpredis connection
209
-     *
210
-     * @return string|null|bool Returns the password used to authenticate a phpredis session or NULL if none was used,
211
-     * and FALSE if we're not connected
212
-     */
213
-    public function getAuth() {}
214
-
215
-    /**
216
-     * Connects to a Redis instance or reuse a connection already established with pconnect/popen.
217
-     *
218
-     * The connection will not be closed on close or end of request until the php process ends.
219
-     * So be patient on to many open FD's (specially on redis server side) when using persistent connections on
220
-     * many servers connecting to one redis server.
221
-     *
222
-     * Also more than one persistent connection can be made identified by either host + port + timeout
223
-     * or host + persistentId or unix socket + timeout.
224
-     *
225
-     * This feature is not available in threaded versions. pconnect and popen then working like their non persistent
226
-     * equivalents.
227
-     *
228
-     * @param string $host          can be a host, or the path to a unix domain socket
229
-     * @param int    $port          optional
230
-     * @param float  $timeout       value in seconds (optional, default is 0 meaning unlimited)
231
-     * @param string $persistentId  identity for the requested persistent connection
232
-     * @param int    $retryInterval retry interval in milliseconds.
233
-     * @param float  $readTimeout   value in seconds (optional, default is 0 meaning unlimited)
234
-     *
235
-     * @return bool TRUE on success, FALSE on ertcnror.
236
-     *
237
-     * @example
238
-     * <pre>
239
-     * $redis->pconnect('127.0.0.1', 6379);
240
-     *
241
-     * // port 6379 by default - same connection like before
242
-     * $redis->pconnect('127.0.0.1');
243
-     *
244
-     * // 2.5 sec timeout and would be another connection than the two before.
245
-     * $redis->pconnect('127.0.0.1', 6379, 2.5);
246
-     *
247
-     * // x is sent as persistent_id and would be another connection than the three before.
248
-     * $redis->pconnect('127.0.0.1', 6379, 2.5, 'x');
249
-     *
250
-     * // unix domain socket - would be another connection than the four before.
251
-     * $redis->pconnect('/tmp/redis.sock');
252
-     * </pre>
253
-     */
254
-    public function pconnect(
255
-        $host,
256
-        $port = 6379,
257
-        $timeout = 0.0,
258
-        $persistentId = null,
259
-        $retryInterval = 0,
260
-        $readTimeout = 0.0
261
-    ) {}
262
-
263
-    /**
264
-     * @param string $host
265
-     * @param int    $port
266
-     * @param float  $timeout
267
-     * @param string $persistentId
268
-     * @param int    $retryInterval
269
-     * @param float  $readTimeout
270
-     *
271
-     * @return bool
272
-     */
273
-    #[Deprecated(replacement: '%class%->pconnect(%parametersList%)')]
274
-    public function popen(
275
-        $host,
276
-        $port = 6379,
277
-        $timeout = 0.0,
278
-        $persistentId = '',
279
-        $retryInterval = 0,
280
-        $readTimeout = 0.0
281
-    ) {}
282
-
283
-    /**
284
-     * Disconnects from the Redis instance.
285
-     *
286
-     * Note: Closing a persistent connection requires PhpRedis >= 4.2.0
287
-     *
288
-     * @since >= 4.2 Closing a persistent connection requires PhpRedis
289
-     *
290
-     * @return bool TRUE on success, FALSE on error
291
-     */
292
-    public function close() {}
293
-
294
-    /**
295
-     * Swap one Redis database with another atomically
296
-     *
297
-     * Note: Requires Redis >= 4.0.0
298
-     *
299
-     * @param int $db1
300
-     * @param int $db2
301
-     *
302
-     * @return bool TRUE on success and FALSE on failure
303
-     *
304
-     * @link https://redis.io/commands/swapdb
305
-     * @since >= 4.0
306
-     * @example
307
-     * <pre>
308
-     * // Swaps DB 0 with DB 1 atomically
309
-     * $redis->swapdb(0, 1);
310
-     * </pre>
311
-     */
312
-    public function swapdb(int $db1, int $db2) {}
313
-
314
-    /**
315
-     * Set client option
316
-     *
317
-     * @param int   $option option name
318
-     * @param mixed $value  option value
319
-     *
320
-     * @return bool TRUE on success, FALSE on error
321
-     *
322
-     * @example
323
-     * <pre>
324
-     * $redis->setOption(Redis::OPT_SERIALIZER, Redis::SERIALIZER_NONE);        // don't serialize data
325
-     * $redis->setOption(Redis::OPT_SERIALIZER, Redis::SERIALIZER_PHP);         // use built-in serialize/unserialize
326
-     * $redis->setOption(Redis::OPT_SERIALIZER, Redis::SERIALIZER_IGBINARY);    // use igBinary serialize/unserialize
327
-     * $redis->setOption(Redis::OPT_SERIALIZER, Redis::SERIALIZER_MSGPACK);     // Use msgpack serialize/unserialize
328
-     * $redis->setOption(Redis::OPT_SERIALIZER, Redis::SERIALIZER_JSON);        // Use json serialize/unserialize
329
-     *
330
-     * $redis->setOption(Redis::OPT_PREFIX, 'myAppName:');                      // use custom prefix on all keys
331
-     *
332
-     * // Options for the SCAN family of commands, indicating whether to abstract
333
-     * // empty results from the user.  If set to SCAN_NORETRY (the default), phpredis
334
-     * // will just issue one SCAN command at a time, sometimes returning an empty
335
-     * // array of results.  If set to SCAN_RETRY, phpredis will retry the scan command
336
-     * // until keys come back OR Redis returns an iterator of zero
337
-     * $redis->setOption(Redis::OPT_SCAN, Redis::SCAN_NORETRY);
338
-     * $redis->setOption(Redis::OPT_SCAN, Redis::SCAN_RETRY);
339
-     * </pre>
340
-     */
341
-    public function setOption($option, $value) {}
342
-
343
-    /**
344
-     * Get client option
345
-     *
346
-     * @param int $option parameter name
347
-     *
348
-     * @return mixed|null Parameter value
349
-     *
350
-     * @see setOption()
351
-     * @example
352
-     * // return option value
353
-     * $redis->getOption(Redis::OPT_SERIALIZER);
354
-     */
355
-    public function getOption($option) {}
356
-
357
-    /**
358
-     * Check the current connection status
359
-     *
360
-     * @param string $message [optional]
361
-     *
362
-     * @return bool|string TRUE if the command is successful or returns message
363
-     * Throws a RedisException object on connectivity error, as described above.
364
-     * @throws RedisException
365
-     * @link    https://redis.io/commands/ping
366
-     */
367
-    public function ping($message = null) {}
368
-
369
-    /**
370
-     * Echo the given string
371
-     *
372
-     * @param string $message
373
-     *
374
-     * @return string Returns message
375
-     *
376
-     * @link    https://redis.io/commands/echo
377
-     */
378
-    public function echo($message) {}
379
-
380
-    /**
381
-     * Get the value related to the specified key
382
-     *
383
-     * @param string $key
384
-     *
385
-     * @return string|mixed|false If key didn't exist, FALSE is returned.
386
-     * Otherwise, the value related to this key is returned
387
-     *
388
-     * @link    https://redis.io/commands/get
389
-     * @example
390
-     * <pre>
391
-     * $redis->set('key', 'hello');
392
-     * $redis->get('key');
393
-     *
394
-     * // set and get with serializer
395
-     * $redis->setOption(Redis::OPT_SERIALIZER, Redis::SERIALIZER_JSON);
396
-     *
397
-     * $redis->set('key', ['asd' => 'as', 'dd' => 123, 'b' => true]);
398
-     * var_dump($redis->get('key'));
399
-     * // Output:
400
-     * array(3) {
401
-     *  'asd' => string(2) "as"
402
-     *  'dd' => int(123)
403
-     *  'b' => bool(true)
404
-     * }
405
-     * </pre>
406
-     */
407
-    public function get($key) {}
408
-
409
-    /**
410
-     * Set the string value in argument as value of the key.
411
-     *
412
-     * @since If you're using Redis >= 2.6.12, you can pass extended options as explained in example
413
-     *
414
-     * @param string       $key
415
-     * @param string|mixed $value string if not used serializer
416
-     * @param int|array    $timeout [optional] Calling setEx() is preferred if you want a timeout.<br>
417
-     * Since 2.6.12 it also supports different flags inside an array. Example ['NX', 'EX' => 60]<br>
418
-     *  - EX seconds -- Set the specified expire time, in seconds.<br>
419
-     *  - PX milliseconds -- Set the specified expire time, in milliseconds.<br>
420
-     *  - NX -- Only set the key if it does not already exist.<br>
421
-     *  - XX -- Only set the key if it already exist.<br>
422
-     * <pre>
423
-     * // Simple key -> value set
424
-     * $redis->set('key', 'value');
425
-     *
426
-     * // Will redirect, and actually make an SETEX call
427
-     * $redis->set('key','value', 10);
428
-     *
429
-     * // Will set the key, if it doesn't exist, with a ttl of 10 seconds
430
-     * $redis->set('key', 'value', ['nx', 'ex' => 10]);
431
-     *
432
-     * // Will set a key, if it does exist, with a ttl of 1000 milliseconds
433
-     * $redis->set('key', 'value', ['xx', 'px' => 1000]);
434
-     * </pre>
435
-     *
436
-     * @return bool TRUE if the command is successful
437
-     *
438
-     * @link     https://redis.io/commands/set
439
-     */
440
-    public function set($key, $value, $timeout = null) {}
441
-
442
-    /**
443
-     * Set the string value in argument as value of the key, with a time to live.
444
-     *
445
-     * @param string       $key
446
-     * @param int          $ttl
447
-     * @param string|mixed $value
448
-     *
449
-     * @return bool TRUE if the command is successful
450
-     *
451
-     * @link    https://redis.io/commands/setex
452
-     * @example $redis->setEx('key', 3600, 'value'); // sets key → value, with 1h TTL.
453
-     */
454
-    public function setEx($key, $ttl, $value) {}
455
-
456
-    /**
457
-     * Set the value and expiration in milliseconds of a key.
458
-     *
459
-     * @see     setEx()
460
-     * @param   string       $key
461
-     * @param   int          $ttl in milliseconds.
462
-     * @param   string|mixed $value
463
-     *
464
-     * @return bool TRUE if the command is successful
465
-     *
466
-     * @link    https://redis.io/commands/psetex
467
-     * @example $redis->pSetEx('key', 1000, 'value'); // sets key → value, with 1sec TTL.
468
-     */
469
-    public function pSetEx($key, $ttl, $value) {}
470
-
471
-    /**
472
-     * Set the string value in argument as value of the key if the key doesn't already exist in the database.
473
-     *
474
-     * @param string       $key
475
-     * @param string|mixed $value
476
-     *
477
-     * @return bool TRUE in case of success, FALSE in case of failure
478
-     *
479
-     * @link    https://redis.io/commands/setnx
480
-     * @example
481
-     * <pre>
482
-     * $redis->setNx('key', 'value');   // return TRUE
483
-     * $redis->setNx('key', 'value');   // return FALSE
484
-     * </pre>
485
-     */
486
-    public function setNx($key, $value) {}
487
-
488
-    /**
489
-     * Remove specified keys.
490
-     *
491
-     * @param   int|string|array $key1 An array of keys, or an undefined number of parameters, each a key: key1 key2 key3 ... keyN
492
-     * @param   int|string       ...$otherKeys
493
-     *
494
-     * @return int Number of keys deleted
495
-     *
496
-     * @link https://redis.io/commands/del
497
-     * @example
498
-     * <pre>
499
-     * $redis->set('key1', 'val1');
500
-     * $redis->set('key2', 'val2');
501
-     * $redis->set('key3', 'val3');
502
-     * $redis->set('key4', 'val4');
503
-     *
504
-     * $redis->del('key1', 'key2');     // return 2
505
-     * $redis->del(['key3', 'key4']);   // return 2
506
-     * </pre>
507
-     */
508
-    public function del($key1, ...$otherKeys) {}
509
-
510
-    /**
511
-     * @param   string|string[] $key1
512
-     * @param   string          $key2
513
-     * @param   string          $key3
514
-     *
515
-     * @return int Number of keys deleted
516
-     */
517
-    #[Deprecated(replacement: "%class%->del(%parametersList%)")]
518
-    public function delete($key1, $key2 = null, $key3 = null) {}
519
-
520
-    /**
521
-     * Delete a key asynchronously in another thread. Otherwise it is just as DEL, but non blocking.
522
-     *
523
-     * @see del()
524
-     * @param string|string[] $key1
525
-     * @param string          $key2
526
-     * @param string          $key3
527
-     *
528
-     * @return int Number of keys unlinked.
529
-     *
530
-     * @link    https://redis.io/commands/unlink
531
-     * @example
532
-     * <pre>
533
-     * $redis->set('key1', 'val1');
534
-     * $redis->set('key2', 'val2');
535
-     * $redis->set('key3', 'val3');
536
-     * $redis->set('key4', 'val4');
537
-     * $redis->unlink('key1', 'key2');          // return 2
538
-     * $redis->unlink(array('key3', 'key4'));   // return 2
539
-     * </pre>
540
-     */
541
-    public function unlink($key1, $key2 = null, $key3 = null) {}
542
-
543
-    /**
544
-     * Enter and exit transactional mode.
545
-     *
546
-     * @param int $mode Redis::MULTI|Redis::PIPELINE
547
-     * Defaults to Redis::MULTI.
548
-     * A Redis::MULTI block of commands runs as a single transaction;
549
-     * a Redis::PIPELINE block is simply transmitted faster to the server, but without any guarantee of atomicity.
550
-     * discard cancels a transaction.
551
-     *
552
-     * @return static returns the Redis instance and enters multi-mode.
553
-     * Once in multi-mode, all subsequent method calls return the same object until exec() is called.
554
-     *
555
-     * @link    https://redis.io/commands/multi
556
-     * @example
557
-     * <pre>
558
-     * $ret = $redis->multi()
559
-     *      ->set('key1', 'val1')
560
-     *      ->get('key1')
561
-     *      ->set('key2', 'val2')
562
-     *      ->get('key2')
563
-     *      ->exec();
564
-     *
565
-     * //$ret == array (
566
-     * //    0 => TRUE,
567
-     * //    1 => 'val1',
568
-     * //    2 => TRUE,
569
-     * //    3 => 'val2');
570
-     * </pre>
571
-     */
572
-    public function multi($mode = Redis::MULTI) {}
573
-
574
-    /**
575
-     * Returns a Redis instance which can simply transmitted faster to the server.
576
-     *
577
-     * @return Redis returns the Redis instance.
578
-     * Once in pipeline-mode, all subsequent method calls return the same object until exec() is called.
579
-     * Pay attention, that Pipeline is not a transaction, so you can get unexpected
580
-     * results in case of big pipelines and small read/write timeouts.
581
-     *
582
-     * @link   https://redis.io/topics/pipelining
583
-     * @example
584
-     * <pre>
585
-     * $ret = $this->redis->pipeline()
586
-     *      ->ping()
587
-     *      ->multi()->set('x', 42)->incr('x')->exec()
588
-     *      ->ping()
589
-     *      ->multi()->get('x')->del('x')->exec()
590
-     *      ->ping()
591
-     *      ->exec();
592
-     *
593
-     * //$ret == array (
594
-     * //    0 => '+PONG',
595
-     * //    1 => [TRUE, 43],
596
-     * //    2 => '+PONG',
597
-     * //    3 => [43, 1],
598
-     * //    4 => '+PONG');
599
-     * </pre>
600
-     */
601
-    public function pipeline() {}
602
-
603
-    /**
604
-     * @return void|array
605
-     *
606
-     * @see multi()
607
-     * @link https://redis.io/commands/exec
608
-     */
609
-    public function exec() {}
610
-
611
-    /**
612
-     * @see multi()
613
-     * @link https://redis.io/commands/discard
614
-     */
615
-    public function discard() {}
616
-
617
-    /**
618
-     * Watches a key for modifications by another client. If the key is modified between WATCH and EXEC,
619
-     * the MULTI/EXEC transaction will fail (return FALSE). unwatch cancels all the watching of all keys by this client.
620
-     * @param string|string[] $key a list of keys
621
-     *
622
-     * @return void
623
-     *
624
-     * @link    https://redis.io/commands/watch
625
-     * @example
626
-     * <pre>
627
-     * $redis->watch('x');
628
-     * // long code here during the execution of which other clients could well modify `x`
629
-     * $ret = $redis->multi()
630
-     *          ->incr('x')
631
-     *          ->exec();
632
-     * // $ret = FALSE if x has been modified between the call to WATCH and the call to EXEC.
633
-     * </pre>
634
-     */
635
-    public function watch($key) {}
636
-
637
-    /**
638
-     * @see watch()
639
-     * @link    https://redis.io/commands/unwatch
640
-     */
641
-    public function unwatch() {}
642
-
643
-    /**
644
-     * Subscribe to channels.
645
-     *
646
-     * Warning: this function will probably change in the future.
647
-     *
648
-     * @param string[]     $channels an array of channels to subscribe
649
-     * @param string|array $callback either a string or an array($instance, 'method_name').
650
-     * The callback function receives 3 parameters: the redis instance, the channel name, and the message.
651
-     *
652
-     * @return mixed|null Any non-null return value in the callback will be returned to the caller.
653
-     *
654
-     * @link    https://redis.io/commands/subscribe
655
-     * @example
656
-     * <pre>
657
-     * function f($redis, $chan, $msg) {
658
-     *  switch($chan) {
659
-     *      case 'chan-1':
660
-     *          ...
661
-     *          break;
662
-     *
663
-     *      case 'chan-2':
664
-     *                     ...
665
-     *          break;
666
-     *
667
-     *      case 'chan-2':
668
-     *          ...
669
-     *          break;
670
-     *      }
671
-     * }
672
-     *
673
-     * $redis->subscribe(array('chan-1', 'chan-2', 'chan-3'), 'f'); // subscribe to 3 chans
674
-     * </pre>
675
-     */
676
-    public function subscribe($channels, $callback) {}
677
-
678
-    /**
679
-     * Subscribe to channels by pattern
680
-     *
681
-     * @param array        $patterns   an array of glob-style patterns to subscribe
682
-     * @param string|array $callback   Either a string or an array with an object and method.
683
-     *                     The callback will get four arguments ($redis, $pattern, $channel, $message)
684
-     * @return mixed       Any non-null return value in the callback will be returned to the caller
685
-     *
686
-     * @link    https://redis.io/commands/psubscribe
687
-     * @example
688
-     * <pre>
689
-     * function psubscribe($redis, $pattern, $chan, $msg) {
690
-     *  echo "Pattern: $pattern\n";
691
-     *  echo "Channel: $chan\n";
692
-     *  echo "Payload: $msg\n";
693
-     * }
694
-     * </pre>
695
-     */
696
-    public function psubscribe($patterns, $callback) {}
697
-
698
-    /**
699
-     * Publish messages to channels.
700
-     *
701
-     * Warning: this function will probably change in the future.
702
-     *
703
-     * @param string $channel a channel to publish to
704
-     * @param string $message string
705
-     *
706
-     * @return int Number of clients that received the message
707
-     *
708
-     * @link    https://redis.io/commands/publish
709
-     * @example $redis->publish('chan-1', 'hello, world!'); // send message.
710
-     */
711
-    public function publish($channel, $message) {}
712
-
713
-    /**
714
-     * A command allowing you to get information on the Redis pub/sub system
715
-     *
716
-     * @param string       $keyword    String, which can be: "channels", "numsub", or "numpat"
717
-     * @param string|array $argument   Optional, variant.
718
-     *                                 For the "channels" subcommand, you can pass a string pattern.
719
-     *                                 For "numsub" an array of channel names
720
-     *
721
-     * @return array|int Either an integer or an array.
722
-     *   - channels  Returns an array where the members are the matching channels.
723
-     *   - numsub    Returns a key/value array where the keys are channel names and
724
-     *               values are their counts.
725
-     *   - numpat    Integer return containing the number active pattern subscriptions
726
-     *
727
-     * @link    https://redis.io/commands/pubsub
728
-     * @example
729
-     * <pre>
730
-     * $redis->pubsub('channels'); // All channels
731
-     * $redis->pubsub('channels', '*pattern*'); // Just channels matching your pattern
732
-     * $redis->pubsub('numsub', array('chan1', 'chan2')); // Get subscriber counts for 'chan1' and 'chan2'
733
-     * $redis->pubsub('numpat'); // Get the number of pattern subscribers
734
-     * </pre>
735
-     */
736
-    public function pubsub($keyword, $argument) {}
737
-
738
-    /**
739
-     * Stop listening for messages posted to the given channels.
740
-     *
741
-     * @param array $channels an array of channels to usubscribe
742
-     *
743
-     * @link    https://redis.io/commands/unsubscribe
744
-     */
745
-    public function unsubscribe($channels = null) {}
746
-
747
-    /**
748
-     * Stop listening for messages posted to the given channels.
749
-     *
750
-     * @param array $patterns   an array of glob-style patterns to unsubscribe
751
-     *
752
-     * @link https://redis.io/commands/punsubscribe
753
-     */
754
-    public function punsubscribe($patterns = null) {}
755
-
756
-    /**
757
-     * Verify if the specified key/keys exists
758
-     *
759
-     * This function took a single argument and returned TRUE or FALSE in phpredis versions < 4.0.0.
760
-     *
761
-     * @since >= 4.0 Returned int, if < 4.0 returned bool
762
-     *
763
-     * @param string|string[] $key
764
-     *
765
-     * @return int|bool The number of keys tested that do exist
766
-     *
767
-     * @link https://redis.io/commands/exists
768
-     * @link https://github.com/phpredis/phpredis#exists
769
-     * @example
770
-     * <pre>
771
-     * $redis->exists('key'); // 1
772
-     * $redis->exists('NonExistingKey'); // 0
773
-     *
774
-     * $redis->mset(['foo' => 'foo', 'bar' => 'bar', 'baz' => 'baz']);
775
-     * $redis->exists(['foo', 'bar', 'baz]); // 3
776
-     * $redis->exists('foo', 'bar', 'baz'); // 3
777
-     * </pre>
778
-     */
779
-    public function exists($key) {}
780
-
781
-    /**
782
-     * Increment the number stored at key by one.
783
-     *
784
-     * @param   string $key
785
-     *
786
-     * @return int the new value
787
-     *
788
-     * @link    https://redis.io/commands/incr
789
-     * @example
790
-     * <pre>
791
-     * $redis->incr('key1'); // key1 didn't exists, set to 0 before the increment and now has the value 1
792
-     * $redis->incr('key1'); // 2
793
-     * $redis->incr('key1'); // 3
794
-     * $redis->incr('key1'); // 4
795
-     * </pre>
796
-     */
797
-    public function incr($key) {}
798
-
799
-    /**
800
-     * Increment the float value of a key by the given amount
801
-     *
802
-     * @param string $key
803
-     * @param float  $increment
804
-     *
805
-     * @return float
806
-     *
807
-     * @link    https://redis.io/commands/incrbyfloat
808
-     * @example
809
-     * <pre>
810
-     * $redis->set('x', 3);
811
-     * $redis->incrByFloat('x', 1.5);   // float(4.5)
812
-     * $redis->get('x');                // float(4.5)
813
-     * </pre>
814
-     */
815
-    public function incrByFloat($key, $increment) {}
816
-
817
-    /**
818
-     * Increment the number stored at key by one.
819
-     * If the second argument is filled, it will be used as the integer value of the increment.
820
-     *
821
-     * @param string $key   key
822
-     * @param int    $value value that will be added to key (only for incrBy)
823
-     *
824
-     * @return int the new value
825
-     *
826
-     * @link    https://redis.io/commands/incrby
827
-     * @example
828
-     * <pre>
829
-     * $redis->incr('key1');        // key1 didn't exists, set to 0 before the increment and now has the value 1
830
-     * $redis->incr('key1');        // 2
831
-     * $redis->incr('key1');        // 3
832
-     * $redis->incr('key1');        // 4
833
-     * $redis->incrBy('key1', 10);  // 14
834
-     * </pre>
835
-     */
836
-    public function incrBy($key, $value) {}
837
-
838
-    /**
839
-     * Decrement the number stored at key by one.
840
-     *
841
-     * @param string $key
842
-     *
843
-     * @return int the new value
844
-     *
845
-     * @link    https://redis.io/commands/decr
846
-     * @example
847
-     * <pre>
848
-     * $redis->decr('key1'); // key1 didn't exists, set to 0 before the increment and now has the value -1
849
-     * $redis->decr('key1'); // -2
850
-     * $redis->decr('key1'); // -3
851
-     * </pre>
852
-     */
853
-    public function decr($key) {}
854
-
855
-    /**
856
-     * Decrement the number stored at key by one.
857
-     * If the second argument is filled, it will be used as the integer value of the decrement.
858
-     *
859
-     * @param string $key
860
-     * @param int    $value  that will be subtracted to key (only for decrBy)
861
-     *
862
-     * @return int the new value
863
-     *
864
-     * @link    https://redis.io/commands/decrby
865
-     * @example
866
-     * <pre>
867
-     * $redis->decr('key1');        // key1 didn't exists, set to 0 before the increment and now has the value -1
868
-     * $redis->decr('key1');        // -2
869
-     * $redis->decr('key1');        // -3
870
-     * $redis->decrBy('key1', 10);  // -13
871
-     * </pre>
872
-     */
873
-    public function decrBy($key, $value) {}
874
-
875
-    /**
876
-     * Adds the string values to the head (left) of the list.
877
-     * Creates the list if the key didn't exist.
878
-     * If the key exists and is not a list, FALSE is returned.
879
-     *
880
-     * @param string $key
881
-     * @param string|mixed ...$value1 Variadic list of values to push in key, if dont used serialized, used string
882
-     *
883
-     * @return int|false The new length of the list in case of success, FALSE in case of Failure
884
-     *
885
-     * @link https://redis.io/commands/lpush
886
-     * @example
887
-     * <pre>
888
-     * $redis->lPush('l', 'v1', 'v2', 'v3', 'v4')   // int(4)
889
-     * var_dump( $redis->lRange('l', 0, -1) );
890
-     * // Output:
891
-     * // array(4) {
892
-     * //   [0]=> string(2) "v4"
893
-     * //   [1]=> string(2) "v3"
894
-     * //   [2]=> string(2) "v2"
895
-     * //   [3]=> string(2) "v1"
896
-     * // }
897
-     * </pre>
898
-     */
899
-    public function lPush($key, ...$value1) {}
900
-
901
-    /**
902
-     * Adds the string values to the tail (right) of the list.
903
-     * Creates the list if the key didn't exist.
904
-     * If the key exists and is not a list, FALSE is returned.
905
-     *
906
-     * @param string $key
907
-     * @param string|mixed ...$value1 Variadic list of values to push in key, if dont used serialized, used string
908
-     *
909
-     * @return int|false The new length of the list in case of success, FALSE in case of Failure
910
-     *
911
-     * @link    https://redis.io/commands/rpush
912
-     * @example
913
-     * <pre>
914
-     * $redis->rPush('l', 'v1', 'v2', 'v3', 'v4');    // int(4)
915
-     * var_dump( $redis->lRange('l', 0, -1) );
916
-     * // Output:
917
-     * // array(4) {
918
-     * //   [0]=> string(2) "v1"
919
-     * //   [1]=> string(2) "v2"
920
-     * //   [2]=> string(2) "v3"
921
-     * //   [3]=> string(2) "v4"
922
-     * // }
923
-     * </pre>
924
-     */
925
-    public function rPush($key, ...$value1) {}
926
-
927
-    /**
928
-     * Adds the string value to the head (left) of the list if the list exists.
929
-     *
930
-     * @param string $key
931
-     * @param string|mixed $value String, value to push in key
932
-     *
933
-     * @return int|false The new length of the list in case of success, FALSE in case of Failure.
934
-     *
935
-     * @link    https://redis.io/commands/lpushx
936
-     * @example
937
-     * <pre>
938
-     * $redis->del('key1');
939
-     * $redis->lPushx('key1', 'A');     // returns 0
940
-     * $redis->lPush('key1', 'A');      // returns 1
941
-     * $redis->lPushx('key1', 'B');     // returns 2
942
-     * $redis->lPushx('key1', 'C');     // returns 3
943
-     * // key1 now points to the following list: [ 'A', 'B', 'C' ]
944
-     * </pre>
945
-     */
946
-    public function lPushx($key, $value) {}
947
-
948
-    /**
949
-     * Adds the string value to the tail (right) of the list if the ist exists. FALSE in case of Failure.
950
-     *
951
-     * @param string $key
952
-     * @param string|mixed $value String, value to push in key
953
-     *
954
-     * @return int|false The new length of the list in case of success, FALSE in case of Failure.
955
-     *
956
-     * @link    https://redis.io/commands/rpushx
957
-     * @example
958
-     * <pre>
959
-     * $redis->del('key1');
960
-     * $redis->rPushx('key1', 'A'); // returns 0
961
-     * $redis->rPush('key1', 'A'); // returns 1
962
-     * $redis->rPushx('key1', 'B'); // returns 2
963
-     * $redis->rPushx('key1', 'C'); // returns 3
964
-     * // key1 now points to the following list: [ 'A', 'B', 'C' ]
965
-     * </pre>
966
-     */
967
-    public function rPushx($key, $value) {}
968
-
969
-    /**
970
-     * Returns and removes the first element of the list.
971
-     *
972
-     * @param   string $key
973
-     *
974
-     * @return  mixed|bool if command executed successfully BOOL FALSE in case of failure (empty list)
975
-     *
976
-     * @link    https://redis.io/commands/lpop
977
-     * @example
978
-     * <pre>
979
-     * $redis->rPush('key1', 'A');
980
-     * $redis->rPush('key1', 'B');
981
-     * $redis->rPush('key1', 'C');  // key1 => [ 'A', 'B', 'C' ]
982
-     * $redis->lPop('key1');        // key1 => [ 'B', 'C' ]
983
-     * </pre>
984
-     */
985
-    public function lPop($key) {}
986
-
987
-    /**
988
-     * Returns and removes the last element of the list.
989
-     *
990
-     * @param   string $key
991
-     *
992
-     * @return  mixed|bool if command executed successfully BOOL FALSE in case of failure (empty list)
993
-     *
994
-     * @link    https://redis.io/commands/rpop
995
-     * @example
996
-     * <pre>
997
-     * $redis->rPush('key1', 'A');
998
-     * $redis->rPush('key1', 'B');
999
-     * $redis->rPush('key1', 'C');  // key1 => [ 'A', 'B', 'C' ]
1000
-     * $redis->rPop('key1');        // key1 => [ 'A', 'B' ]
1001
-     * </pre>
1002
-     */
1003
-    public function rPop($key) {}
1004
-
1005
-    /**
1006
-     * Is a blocking lPop primitive. If at least one of the lists contains at least one element,
1007
-     * the element will be popped from the head of the list and returned to the caller.
1008
-     * Il all the list identified by the keys passed in arguments are empty, blPop will block
1009
-     * during the specified timeout until an element is pushed to one of those lists. This element will be popped.
1010
-     *
1011
-     * @param string|string[] $keys    String array containing the keys of the lists OR variadic list of strings
1012
-     * @param int             $timeout Timeout is always the required final parameter
1013
-     *
1014
-     * @return array ['listName', 'element']
1015
-     *
1016
-     * @link    https://redis.io/commands/blpop
1017
-     * @example
1018
-     * <pre>
1019
-     * // Non blocking feature
1020
-     * $redis->lPush('key1', 'A');
1021
-     * $redis->del('key2');
1022
-     *
1023
-     * $redis->blPop('key1', 'key2', 10);        // array('key1', 'A')
1024
-     * // OR
1025
-     * $redis->blPop(['key1', 'key2'], 10);      // array('key1', 'A')
1026
-     *
1027
-     * $redis->brPop('key1', 'key2', 10);        // array('key1', 'A')
1028
-     * // OR
1029
-     * $redis->brPop(['key1', 'key2'], 10); // array('key1', 'A')
1030
-     *
1031
-     * // Blocking feature
1032
-     *
1033
-     * // process 1
1034
-     * $redis->del('key1');
1035
-     * $redis->blPop('key1', 10);
1036
-     * // blocking for 10 seconds
1037
-     *
1038
-     * // process 2
1039
-     * $redis->lPush('key1', 'A');
1040
-     *
1041
-     * // process 1
1042
-     * // array('key1', 'A') is returned
1043
-     * </pre>
1044
-     */
1045
-    public function blPop($keys, $timeout) {}
1046
-
1047
-    /**
1048
-     * Is a blocking rPop primitive. If at least one of the lists contains at least one element,
1049
-     * the element will be popped from the head of the list and returned to the caller.
1050
-     * Il all the list identified by the keys passed in arguments are empty, brPop will
1051
-     * block during the specified timeout until an element is pushed to one of those lists. T
1052
-     * his element will be popped.
1053
-     *
1054
-     * @param string|string[] $keys    String array containing the keys of the lists OR variadic list of strings
1055
-     * @param int             $timeout Timeout is always the required final parameter
1056
-     *
1057
-     * @return array ['listName', 'element']
1058
-     *
1059
-     * @link    https://redis.io/commands/brpop
1060
-     * @example
1061
-     * <pre>
1062
-     * // Non blocking feature
1063
-     * $redis->lPush('key1', 'A');
1064
-     * $redis->del('key2');
1065
-     *
1066
-     * $redis->blPop('key1', 'key2', 10); // array('key1', 'A')
1067
-     * // OR
1068
-     * $redis->blPop(array('key1', 'key2'), 10); // array('key1', 'A')
1069
-     *
1070
-     * $redis->brPop('key1', 'key2', 10); // array('key1', 'A')
1071
-     * // OR
1072
-     * $redis->brPop(array('key1', 'key2'), 10); // array('key1', 'A')
1073
-     *
1074
-     * // Blocking feature
1075
-     *
1076
-     * // process 1
1077
-     * $redis->del('key1');
1078
-     * $redis->blPop('key1', 10);
1079
-     * // blocking for 10 seconds
1080
-     *
1081
-     * // process 2
1082
-     * $redis->lPush('key1', 'A');
1083
-     *
1084
-     * // process 1
1085
-     * // array('key1', 'A') is returned
1086
-     * </pre>
1087
-     */
1088
-    public function brPop(array $keys, $timeout) {}
1089
-
1090
-    /**
1091
-     * Returns the size of a list identified by Key. If the list didn't exist or is empty,
1092
-     * the command returns 0. If the data type identified by Key is not a list, the command return FALSE.
1093
-     *
1094
-     * @param string $key
1095
-     *
1096
-     * @return int|bool The size of the list identified by Key exists.
1097
-     * bool FALSE if the data type identified by Key is not list
1098
-     *
1099
-     * @link    https://redis.io/commands/llen
1100
-     * @example
1101
-     * <pre>
1102
-     * $redis->rPush('key1', 'A');
1103
-     * $redis->rPush('key1', 'B');
1104
-     * $redis->rPush('key1', 'C'); // key1 => [ 'A', 'B', 'C' ]
1105
-     * $redis->lLen('key1');       // 3
1106
-     * $redis->rPop('key1');
1107
-     * $redis->lLen('key1');       // 2
1108
-     * </pre>
1109
-     */
1110
-    public function lLen($key) {}
1111
-
1112
-    /**
1113
-     * @link https://redis.io/commands/llen
1114
-     *
1115
-     * @param string $key
1116
-     *
1117
-     * @return int The size of the list identified by Key exists
1118
-     */
1119
-    #[Deprecated(replacement: '%class%->lLen(%parametersList%)')]
1120
-    public function lSize($key) {}
1121
-
1122
-    /**
1123
-     * Return the specified element of the list stored at the specified key.
1124
-     * 0 the first element, 1 the second ... -1 the last element, -2 the penultimate ...
1125
-     * Return FALSE in case of a bad index or a key that doesn't point to a list.
1126
-     *
1127
-     * @param string $key
1128
-     * @param int    $index
1129
-     *
1130
-     * @return mixed|bool the element at this index
1131
-     *
1132
-     * Bool FALSE if the key identifies a non-string data type, or no value corresponds to this index in the list Key.
1133
-     *
1134
-     * @link    https://redis.io/commands/lindex
1135
-     * @example
1136
-     * <pre>
1137
-     * $redis->rPush('key1', 'A');
1138
-     * $redis->rPush('key1', 'B');
1139
-     * $redis->rPush('key1', 'C');  // key1 => [ 'A', 'B', 'C' ]
1140
-     * $redis->lIndex('key1', 0);     // 'A'
1141
-     * $redis->lIndex('key1', -1);    // 'C'
1142
-     * $redis->lIndex('key1', 10);    // `FALSE`
1143
-     * </pre>
1144
-     */
1145
-    public function lIndex($key, $index) {}
1146
-
1147
-    /**
1148
-     * @link https://redis.io/commands/lindex
1149
-     *
1150
-     * @param string $key
1151
-     * @param int $index
1152
-     * @return mixed|bool the element at this index
1153
-     */
1154
-    #[Deprecated(replacement: '%class%->lIndex(%parametersList%)')]
1155
-    public function lGet($key, $index) {}
1156
-
1157
-    /**
1158
-     * Set the list at index with the new value.
1159
-     *
1160
-     * @param string $key
1161
-     * @param int    $index
1162
-     * @param string $value
1163
-     *
1164
-     * @return bool TRUE if the new value is setted.
1165
-     * FALSE if the index is out of range, or data type identified by key is not a list.
1166
-     *
1167
-     * @link    https://redis.io/commands/lset
1168
-     * @example
1169
-     * <pre>
1170
-     * $redis->rPush('key1', 'A');
1171
-     * $redis->rPush('key1', 'B');
1172
-     * $redis->rPush('key1', 'C');    // key1 => [ 'A', 'B', 'C' ]
1173
-     * $redis->lIndex('key1', 0);     // 'A'
1174
-     * $redis->lSet('key1', 0, 'X');
1175
-     * $redis->lIndex('key1', 0);     // 'X'
1176
-     * </pre>
1177
-     */
1178
-    public function lSet($key, $index, $value) {}
1179
-
1180
-    /**
1181
-     * Returns the specified elements of the list stored at the specified key in
1182
-     * the range [start, end]. start and stop are interpretated as indices: 0 the first element,
1183
-     * 1 the second ... -1 the last element, -2 the penultimate ...
1184
-     *
1185
-     * @param string $key
1186
-     * @param int    $start
1187
-     * @param int    $end
1188
-     *
1189
-     * @return array containing the values in specified range.
1190
-     *
1191
-     * @link    https://redis.io/commands/lrange
1192
-     * @example
1193
-     * <pre>
1194
-     * $redis->rPush('key1', 'A');
1195
-     * $redis->rPush('key1', 'B');
1196
-     * $redis->rPush('key1', 'C');
1197
-     * $redis->lRange('key1', 0, -1); // array('A', 'B', 'C')
1198
-     * </pre>
1199
-     */
1200
-    public function lRange($key, $start, $end) {}
1201
-
1202
-    /**
1203
-     * @link https://redis.io/commands/lrange
1204
-     *
1205
-     * @param string    $key
1206
-     * @param int       $start
1207
-     * @param int       $end
1208
-     * @return array
1209
-     */
1210
-    #[Deprecated(replacement: '%class%->lRange(%parametersList%)')]
1211
-    public function lGetRange($key, $start, $end) {}
1212
-
1213
-    /**
1214
-     * Trims an existing list so that it will contain only a specified range of elements.
1215
-     *
1216
-     * @param string $key
1217
-     * @param int    $start
1218
-     * @param int    $stop
1219
-     *
1220
-     * @return array|false Bool return FALSE if the key identify a non-list value
1221
-     *
1222
-     * @link        https://redis.io/commands/ltrim
1223
-     * @example
1224
-     * <pre>
1225
-     * $redis->rPush('key1', 'A');
1226
-     * $redis->rPush('key1', 'B');
1227
-     * $redis->rPush('key1', 'C');
1228
-     * $redis->lRange('key1', 0, -1); // array('A', 'B', 'C')
1229
-     * $redis->lTrim('key1', 0, 1);
1230
-     * $redis->lRange('key1', 0, -1); // array('A', 'B')
1231
-     * </pre>
1232
-     */
1233
-    public function lTrim($key, $start, $stop) {}
1234
-
1235
-    /**
1236
-     * @link  https://redis.io/commands/ltrim
1237
-     *
1238
-     * @param string    $key
1239
-     * @param int       $start
1240
-     * @param int       $stop
1241
-     */
1242
-    #[Deprecated(replacement: '%class%->lTrim(%parametersList%)')]
1243
-    public function listTrim($key, $start, $stop) {}
1244
-
1245
-    /**
1246
-     * Removes the first count occurrences of the value element from the list.
1247
-     * If count is zero, all the matching elements are removed. If count is negative,
1248
-     * elements are removed from tail to head.
1249
-     *
1250
-     * @param string $key
1251
-     * @param string $value
1252
-     * @param int    $count
1253
-     *
1254
-     * @return int|bool the number of elements to remove
1255
-     * bool FALSE if the value identified by key is not a list.
1256
-     *
1257
-     * @link    https://redis.io/commands/lrem
1258
-     * @example
1259
-     * <pre>
1260
-     * $redis->lPush('key1', 'A');
1261
-     * $redis->lPush('key1', 'B');
1262
-     * $redis->lPush('key1', 'C');
1263
-     * $redis->lPush('key1', 'A');
1264
-     * $redis->lPush('key1', 'A');
1265
-     *
1266
-     * $redis->lRange('key1', 0, -1);   // array('A', 'A', 'C', 'B', 'A')
1267
-     * $redis->lRem('key1', 'A', 2);    // 2
1268
-     * $redis->lRange('key1', 0, -1);   // array('C', 'B', 'A')
1269
-     * </pre>
1270
-     */
1271
-    public function lRem($key, $value, $count) {}
1272
-
1273
-    /**
1274
-     * @link https://redis.io/commands/lremove
1275
-     *
1276
-     * @param string $key
1277
-     * @param string $value
1278
-     * @param int $count
1279
-     */
1280
-    #[Deprecated(replacement: '%class%->lRem(%parametersList%)')]
1281
-    public function lRemove($key, $value, $count) {}
1282
-
1283
-    /**
1284
-     * Insert value in the list before or after the pivot value. the parameter options
1285
-     * specify the position of the insert (before or after). If the list didn't exists,
1286
-     * or the pivot didn't exists, the value is not inserted.
1287
-     *
1288
-     * @param string       $key
1289
-     * @param int          $position Redis::BEFORE | Redis::AFTER
1290
-     * @param string       $pivot
1291
-     * @param string|mixed $value
1292
-     *
1293
-     * @return int The number of the elements in the list, -1 if the pivot didn't exists.
1294
-     *
1295
-     * @link    https://redis.io/commands/linsert
1296
-     * @example
1297
-     * <pre>
1298
-     * $redis->del('key1');
1299
-     * $redis->lInsert('key1', Redis::AFTER, 'A', 'X');     // 0
1300
-     *
1301
-     * $redis->lPush('key1', 'A');
1302
-     * $redis->lPush('key1', 'B');
1303
-     * $redis->lPush('key1', 'C');
1304
-     *
1305
-     * $redis->lInsert('key1', Redis::BEFORE, 'C', 'X');    // 4
1306
-     * $redis->lRange('key1', 0, -1);                       // array('A', 'B', 'X', 'C')
1307
-     *
1308
-     * $redis->lInsert('key1', Redis::AFTER, 'C', 'Y');     // 5
1309
-     * $redis->lRange('key1', 0, -1);                       // array('A', 'B', 'X', 'C', 'Y')
1310
-     *
1311
-     * $redis->lInsert('key1', Redis::AFTER, 'W', 'value'); // -1
1312
-     * </pre>
1313
-     */
1314
-    public function lInsert($key, $position, $pivot, $value) {}
1315
-
1316
-    /**
1317
-     * Adds a values to the set value stored at key.
1318
-     *
1319
-     * @param string       $key       Required key
1320
-     * @param string|mixed ...$value1 Variadic list of values
1321
-     *
1322
-     * @return int|bool The number of elements added to the set.
1323
-     * If this value is already in the set, FALSE is returned
1324
-     *
1325
-     * @link    https://redis.io/commands/sadd
1326
-     * @example
1327
-     * <pre>
1328
-     * $redis->sAdd('k', 'v1');                // int(1)
1329
-     * $redis->sAdd('k', 'v1', 'v2', 'v3');    // int(2)
1330
-     * </pre>
1331
-     */
1332
-    public function sAdd($key, ...$value1) {}
1333
-
1334
-    /**
1335
-     * Removes the specified members from the set value stored at key.
1336
-     *
1337
-     * @param   string       $key
1338
-     * @param   string|mixed ...$member1 Variadic list of members
1339
-     *
1340
-     * @return int The number of elements removed from the set
1341
-     *
1342
-     * @link    https://redis.io/commands/srem
1343
-     * @example
1344
-     * <pre>
1345
-     * var_dump( $redis->sAdd('k', 'v1', 'v2', 'v3') );    // int(3)
1346
-     * var_dump( $redis->sRem('k', 'v2', 'v3') );          // int(2)
1347
-     * var_dump( $redis->sMembers('k') );
1348
-     * //// Output:
1349
-     * // array(1) {
1350
-     * //   [0]=> string(2) "v1"
1351
-     * // }
1352
-     * </pre>
1353
-     */
1354
-    public function sRem($key, ...$member1) {}
1355
-
1356
-    /**
1357
-     * @link    https://redis.io/commands/srem
1358
-     *
1359
-     * @param   string  $key
1360
-     * @param   string|mixed  ...$member1
1361
-     */
1362
-    #[Deprecated(replacement: '%class%->sRem(%parametersList%)')]
1363
-    public function sRemove($key, ...$member1) {}
1364
-
1365
-    /**
1366
-     * Moves the specified member from the set at srcKey to the set at dstKey.
1367
-     *
1368
-     * @param string       $srcKey
1369
-     * @param string       $dstKey
1370
-     * @param string|mixed $member
1371
-     *
1372
-     * @return bool If the operation is successful, return TRUE.
1373
-     * If the srcKey and/or dstKey didn't exist, and/or the member didn't exist in srcKey, FALSE is returned.
1374
-     *
1375
-     * @link    https://redis.io/commands/smove
1376
-     * @example
1377
-     * <pre>
1378
-     * $redis->sAdd('key1' , 'set11');
1379
-     * $redis->sAdd('key1' , 'set12');
1380
-     * $redis->sAdd('key1' , 'set13');          // 'key1' => {'set11', 'set12', 'set13'}
1381
-     * $redis->sAdd('key2' , 'set21');
1382
-     * $redis->sAdd('key2' , 'set22');          // 'key2' => {'set21', 'set22'}
1383
-     * $redis->sMove('key1', 'key2', 'set13');  // 'key1' =>  {'set11', 'set12'}
1384
-     *                                          // 'key2' =>  {'set21', 'set22', 'set13'}
1385
-     * </pre>
1386
-     */
1387
-    public function sMove($srcKey, $dstKey, $member) {}
1388
-
1389
-    /**
1390
-     * Checks if value is a member of the set stored at the key key.
1391
-     *
1392
-     * @param string       $key
1393
-     * @param string|mixed $value
1394
-     *
1395
-     * @return bool TRUE if value is a member of the set at key key, FALSE otherwise
1396
-     *
1397
-     * @link    https://redis.io/commands/sismember
1398
-     * @example
1399
-     * <pre>
1400
-     * $redis->sAdd('key1' , 'set1');
1401
-     * $redis->sAdd('key1' , 'set2');
1402
-     * $redis->sAdd('key1' , 'set3'); // 'key1' => {'set1', 'set2', 'set3'}
1403
-     *
1404
-     * $redis->sIsMember('key1', 'set1'); // TRUE
1405
-     * $redis->sIsMember('key1', 'setX'); // FALSE
1406
-     * </pre>
1407
-     */
1408
-    public function sIsMember($key, $value) {}
1409
-
1410
-    /**
1411
-     * @link    https://redis.io/commands/sismember
1412
-     *
1413
-     * @param string       $key
1414
-     * @param string|mixed $value
1415
-     */
1416
-    #[Deprecated(replacement: '%class%->sIsMember(%parametersList%)')]
1417
-    public function sContains($key, $value) {}
1418
-
1419
-    /**
1420
-     * Returns the cardinality of the set identified by key.
1421
-     *
1422
-     * @param string $key
1423
-     *
1424
-     * @return int the cardinality of the set identified by key, 0 if the set doesn't exist.
1425
-     *
1426
-     * @link    https://redis.io/commands/scard
1427
-     * @example
1428
-     * <pre>
1429
-     * $redis->sAdd('key1' , 'set1');
1430
-     * $redis->sAdd('key1' , 'set2');
1431
-     * $redis->sAdd('key1' , 'set3');   // 'key1' => {'set1', 'set2', 'set3'}
1432
-     * $redis->sCard('key1');           // 3
1433
-     * $redis->sCard('keyX');           // 0
1434
-     * </pre>
1435
-     */
1436
-    public function sCard($key) {}
1437
-
1438
-    /**
1439
-     * Removes and returns a random element from the set value at Key.
1440
-     *
1441
-     * @param string $key
1442
-     * @param int    $count [optional]
1443
-     *
1444
-     * @return string|mixed|array|bool "popped" values
1445
-     * bool FALSE if set identified by key is empty or doesn't exist.
1446
-     *
1447
-     * @link    https://redis.io/commands/spop
1448
-     * @example
1449
-     * <pre>
1450
-     * $redis->sAdd('key1' , 'set1');
1451
-     * $redis->sAdd('key1' , 'set2');
1452
-     * $redis->sAdd('key1' , 'set3');   // 'key1' => {'set3', 'set1', 'set2'}
1453
-     * $redis->sPop('key1');            // 'set1', 'key1' => {'set3', 'set2'}
1454
-     * $redis->sPop('key1');            // 'set3', 'key1' => {'set2'}
1455
-     *
1456
-     * // With count
1457
-     * $redis->sAdd('key2', 'set1', 'set2', 'set3');
1458
-     * var_dump( $redis->sPop('key2', 3) ); // Will return all members but in no particular order
1459
-     *
1460
-     * // array(3) {
1461
-     * //   [0]=> string(4) "set2"
1462
-     * //   [1]=> string(4) "set3"
1463
-     * //   [2]=> string(4) "set1"
1464
-     * // }
1465
-     * </pre>
1466
-     */
1467
-    public function sPop($key, $count = 1) {}
1468
-
1469
-    /**
1470
-     * Returns a random element(s) from the set value at Key, without removing it.
1471
-     *
1472
-     * @param string $key
1473
-     * @param int    $count [optional]
1474
-     *
1475
-     * @return string|mixed|array|bool value(s) from the set
1476
-     * bool FALSE if set identified by key is empty or doesn't exist and count argument isn't passed.
1477
-     *
1478
-     * @link    https://redis.io/commands/srandmember
1479
-     * @example
1480
-     * <pre>
1481
-     * $redis->sAdd('key1' , 'one');
1482
-     * $redis->sAdd('key1' , 'two');
1483
-     * $redis->sAdd('key1' , 'three');              // 'key1' => {'one', 'two', 'three'}
1484
-     *
1485
-     * var_dump( $redis->sRandMember('key1') );     // 'key1' => {'one', 'two', 'three'}
1486
-     *
1487
-     * // string(5) "three"
1488
-     *
1489
-     * var_dump( $redis->sRandMember('key1', 2) );  // 'key1' => {'one', 'two', 'three'}
1490
-     *
1491
-     * // array(2) {
1492
-     * //   [0]=> string(2) "one"
1493
-     * //   [1]=> string(5) "three"
1494
-     * // }
1495
-     * </pre>
1496
-     */
1497
-    public function sRandMember($key, $count = 1) {}
1498
-
1499
-    /**
1500
-     * Returns the members of a set resulting from the intersection of all the sets
1501
-     * held at the specified keys. If just a single key is specified, then this command
1502
-     * produces the members of this set. If one of the keys is missing, FALSE is returned.
1503
-     *
1504
-     * @param string $key1         keys identifying the different sets on which we will apply the intersection.
1505
-     * @param string ...$otherKeys variadic list of keys
1506
-     *
1507
-     * @return array|false contain the result of the intersection between those keys
1508
-     * If the intersection between the different sets is empty, the return value will be empty array.
1509
-     *
1510
-     * @link    https://redis.io/commands/sinter
1511
-     * @example
1512
-     * <pre>
1513
-     * $redis->sAdd('key1', 'val1');
1514
-     * $redis->sAdd('key1', 'val2');
1515
-     * $redis->sAdd('key1', 'val3');
1516
-     * $redis->sAdd('key1', 'val4');
1517
-     *
1518
-     * $redis->sAdd('key2', 'val3');
1519
-     * $redis->sAdd('key2', 'val4');
1520
-     *
1521
-     * $redis->sAdd('key3', 'val3');
1522
-     * $redis->sAdd('key3', 'val4');
1523
-     *
1524
-     * var_dump($redis->sInter('key1', 'key2', 'key3'));
1525
-     *
1526
-     * //array(2) {
1527
-     * //  [0]=>
1528
-     * //  string(4) "val4"
1529
-     * //  [1]=>
1530
-     * //  string(4) "val3"
1531
-     * //}
1532
-     * </pre>
1533
-     */
1534
-    public function sInter($key1, ...$otherKeys) {}
1535
-
1536
-    /**
1537
-     * Performs a sInter command and stores the result in a new set.
1538
-     *
1539
-     * @param string $dstKey       the key to store the diff into.
1540
-     * @param string $key1         keys identifying the different sets on which we will apply the intersection.
1541
-     * @param string ...$otherKeys variadic list of keys
1542
-     *
1543
-     * @return int|false The cardinality of the resulting set, or FALSE in case of a missing key
1544
-     *
1545
-     * @link    https://redis.io/commands/sinterstore
1546
-     * @example
1547
-     * <pre>
1548
-     * $redis->sAdd('key1', 'val1');
1549
-     * $redis->sAdd('key1', 'val2');
1550
-     * $redis->sAdd('key1', 'val3');
1551
-     * $redis->sAdd('key1', 'val4');
1552
-     *
1553
-     * $redis->sAdd('key2', 'val3');
1554
-     * $redis->sAdd('key2', 'val4');
1555
-     *
1556
-     * $redis->sAdd('key3', 'val3');
1557
-     * $redis->sAdd('key3', 'val4');
1558
-     *
1559
-     * var_dump($redis->sInterStore('output', 'key1', 'key2', 'key3'));
1560
-     * var_dump($redis->sMembers('output'));
1561
-     *
1562
-     * //int(2)
1563
-     * //
1564
-     * //array(2) {
1565
-     * //  [0]=>
1566
-     * //  string(4) "val4"
1567
-     * //  [1]=>
1568
-     * //  string(4) "val3"
1569
-     * //}
1570
-     * </pre>
1571
-     */
1572
-    public function sInterStore($dstKey, $key1, ...$otherKeys) {}
1573
-
1574
-    /**
1575
-     * Performs the union between N sets and returns it.
1576
-     *
1577
-     * @param string $key1         first key for union
1578
-     * @param string ...$otherKeys variadic list of keys corresponding to sets in redis
1579
-     *
1580
-     * @return array string[] The union of all these sets
1581
-     *
1582
-     * @link    https://redis.io/commands/sunionstore
1583
-     * @example
1584
-     * <pre>
1585
-     * $redis->sAdd('s0', '1');
1586
-     * $redis->sAdd('s0', '2');
1587
-     * $redis->sAdd('s1', '3');
1588
-     * $redis->sAdd('s1', '1');
1589
-     * $redis->sAdd('s2', '3');
1590
-     * $redis->sAdd('s2', '4');
1591
-     *
1592
-     * var_dump($redis->sUnion('s0', 's1', 's2'));
1593
-     *
1594
-     * array(4) {
1595
-     * //  [0]=>
1596
-     * //  string(1) "3"
1597
-     * //  [1]=>
1598
-     * //  string(1) "4"
1599
-     * //  [2]=>
1600
-     * //  string(1) "1"
1601
-     * //  [3]=>
1602
-     * //  string(1) "2"
1603
-     * //}
1604
-     * </pre>
1605
-     */
1606
-    public function sUnion($key1, ...$otherKeys) {}
1607
-
1608
-    /**
1609
-     * Performs the same action as sUnion, but stores the result in the first key
1610
-     *
1611
-     * @param   string  $dstKey  the key to store the diff into.
1612
-     * @param string $key1         first key for union
1613
-     * @param string ...$otherKeys variadic list of keys corresponding to sets in redis
1614
-     *
1615
-     * @return int Any number of keys corresponding to sets in redis
1616
-     *
1617
-     * @link    https://redis.io/commands/sunionstore
1618
-     * @example
1619
-     * <pre>
1620
-     * $redis->del('s0', 's1', 's2');
1621
-     *
1622
-     * $redis->sAdd('s0', '1');
1623
-     * $redis->sAdd('s0', '2');
1624
-     * $redis->sAdd('s1', '3');
1625
-     * $redis->sAdd('s1', '1');
1626
-     * $redis->sAdd('s2', '3');
1627
-     * $redis->sAdd('s2', '4');
1628
-     *
1629
-     * var_dump($redis->sUnionStore('dst', 's0', 's1', 's2'));
1630
-     * var_dump($redis->sMembers('dst'));
1631
-     *
1632
-     * //int(4)
1633
-     * //array(4) {
1634
-     * //  [0]=>
1635
-     * //  string(1) "3"
1636
-     * //  [1]=>
1637
-     * //  string(1) "4"
1638
-     * //  [2]=>
1639
-     * //  string(1) "1"
1640
-     * //  [3]=>
1641
-     * //  string(1) "2"
1642
-     * //}
1643
-     * </pre>
1644
-     */
1645
-    public function sUnionStore($dstKey, $key1, ...$otherKeys) {}
1646
-
1647
-    /**
1648
-     * Performs the difference between N sets and returns it.
1649
-     *
1650
-     * @param string $key1         first key for diff
1651
-     * @param string ...$otherKeys variadic list of keys corresponding to sets in redis
1652
-     *
1653
-     * @return array string[] The difference of the first set will all the others
1654
-     *
1655
-     * @link    https://redis.io/commands/sdiff
1656
-     * @example
1657
-     * <pre>
1658
-     * $redis->del('s0', 's1', 's2');
1659
-     *
1660
-     * $redis->sAdd('s0', '1');
1661
-     * $redis->sAdd('s0', '2');
1662
-     * $redis->sAdd('s0', '3');
1663
-     * $redis->sAdd('s0', '4');
1664
-     *
1665
-     * $redis->sAdd('s1', '1');
1666
-     * $redis->sAdd('s2', '3');
1667
-     *
1668
-     * var_dump($redis->sDiff('s0', 's1', 's2'));
1669
-     *
1670
-     * //array(2) {
1671
-     * //  [0]=>
1672
-     * //  string(1) "4"
1673
-     * //  [1]=>
1674
-     * //  string(1) "2"
1675
-     * //}
1676
-     * </pre>
1677
-     */
1678
-    public function sDiff($key1, ...$otherKeys) {}
1679
-
1680
-    /**
1681
-     * Performs the same action as sDiff, but stores the result in the first key
1682
-     *
1683
-     * @param string $dstKey       the key to store the diff into.
1684
-     * @param string $key1         first key for diff
1685
-     * @param string ...$otherKeys variadic list of keys corresponding to sets in redis
1686
-     *
1687
-     * @return int|false The cardinality of the resulting set, or FALSE in case of a missing key
1688
-     *
1689
-     * @link    https://redis.io/commands/sdiffstore
1690
-     * @example
1691
-     * <pre>
1692
-     * $redis->del('s0', 's1', 's2');
1693
-     *
1694
-     * $redis->sAdd('s0', '1');
1695
-     * $redis->sAdd('s0', '2');
1696
-     * $redis->sAdd('s0', '3');
1697
-     * $redis->sAdd('s0', '4');
1698
-     *
1699
-     * $redis->sAdd('s1', '1');
1700
-     * $redis->sAdd('s2', '3');
1701
-     *
1702
-     * var_dump($redis->sDiffStore('dst', 's0', 's1', 's2'));
1703
-     * var_dump($redis->sMembers('dst'));
1704
-     *
1705
-     * //int(2)
1706
-     * //array(2) {
1707
-     * //  [0]=>
1708
-     * //  string(1) "4"
1709
-     * //  [1]=>
1710
-     * //  string(1) "2"
1711
-     * //}
1712
-     * </pre>
1713
-     */
1714
-    public function sDiffStore($dstKey, $key1, ...$otherKeys) {}
1715
-
1716
-    /**
1717
-     * Returns the contents of a set.
1718
-     *
1719
-     * @param string $key
1720
-     *
1721
-     * @return array An array of elements, the contents of the set
1722
-     *
1723
-     * @link    https://redis.io/commands/smembers
1724
-     * @example
1725
-     * <pre>
1726
-     * $redis->del('s');
1727
-     * $redis->sAdd('s', 'a');
1728
-     * $redis->sAdd('s', 'b');
1729
-     * $redis->sAdd('s', 'a');
1730
-     * $redis->sAdd('s', 'c');
1731
-     * var_dump($redis->sMembers('s'));
1732
-     *
1733
-     * //array(3) {
1734
-     * //  [0]=>
1735
-     * //  string(1) "c"
1736
-     * //  [1]=>
1737
-     * //  string(1) "a"
1738
-     * //  [2]=>
1739
-     * //  string(1) "b"
1740
-     * //}
1741
-     * // The order is random and corresponds to redis' own internal representation of the set structure.
1742
-     * </pre>
1743
-     */
1744
-    public function sMembers($key) {}
1745
-
1746
-    /**
1747
-     * @link    https://redis.io/commands/smembers
1748
-     *
1749
-     * @param  string  $key
1750
-     * @return array   An array of elements, the contents of the set
1751
-     */
1752
-    #[Deprecated(replacement: '%class%->sMembers(%parametersList%)')]
1753
-    public function sGetMembers($key) {}
1754
-
1755
-    /**
1756
-     * Scan a set for members
1757
-     *
1758
-     * @param string $key      The set to search.
1759
-     * @param int    &$iterator LONG (reference) to the iterator as we go.
1760
-     * @param string   $pattern  String, optional pattern to match against.
1761
-     * @param int    $count    How many members to return at a time (Redis might return a different amount)
1762
-     *
1763
-     * @return array|false PHPRedis will return an array of keys or FALSE when we're done iterating
1764
-     *
1765
-     * @link    https://redis.io/commands/sscan
1766
-     * @example
1767
-     * <pre>
1768
-     * $iterator = null;
1769
-     * while ($members = $redis->sScan('set', $iterator)) {
1770
-     *     foreach ($members as $member) {
1771
-     *         echo $member . PHP_EOL;
1772
-     *     }
1773
-     * }
1774
-     * </pre>
1775
-     */
1776
-    public function sScan($key, &$iterator, $pattern = null, $count = 0) {}
1777
-
1778
-    /**
1779
-     * Sets a value and returns the previous entry at that key.
1780
-     *
1781
-     * @param string       $key
1782
-     * @param string|mixed $value
1783
-     *
1784
-     * @return string|mixed A string (mixed, if used serializer), the previous value located at this key
1785
-     *
1786
-     * @link    https://redis.io/commands/getset
1787
-     * @example
1788
-     * <pre>
1789
-     * $redis->set('x', '42');
1790
-     * $exValue = $redis->getSet('x', 'lol');   // return '42', replaces x by 'lol'
1791
-     * $newValue = $redis->get('x')'            // return 'lol'
1792
-     * </pre>
1793
-     */
1794
-    public function getSet($key, $value) {}
1795
-
1796
-    /**
1797
-     * Returns a random key
1798
-     *
1799
-     * @return string an existing key in redis
1800
-     *
1801
-     * @link    https://redis.io/commands/randomkey
1802
-     * @example
1803
-     * <pre>
1804
-     * $key = $redis->randomKey();
1805
-     * $surprise = $redis->get($key);  // who knows what's in there.
1806
-     * </pre>
1807
-     */
1808
-    public function randomKey() {}
1809
-
1810
-    /**
1811
-     * Switches to a given database
1812
-     *
1813
-     * @param int $dbIndex
1814
-     *
1815
-     * @return bool TRUE in case of success, FALSE in case of failure
1816
-     *
1817
-     * @link    https://redis.io/commands/select
1818
-     * @example
1819
-     * <pre>
1820
-     * $redis->select(0);       // switch to DB 0
1821
-     * $redis->set('x', '42');  // write 42 to x
1822
-     * $redis->move('x', 1);    // move to DB 1
1823
-     * $redis->select(1);       // switch to DB 1
1824
-     * $redis->get('x');        // will return 42
1825
-     * </pre>
1826
-     */
1827
-    public function select($dbIndex) {}
1828
-
1829
-    /**
1830
-     * Moves a key to a different database.
1831
-     *
1832
-     * @param string $key
1833
-     * @param int    $dbIndex
1834
-     *
1835
-     * @return bool TRUE in case of success, FALSE in case of failure
1836
-     *
1837
-     * @link    https://redis.io/commands/move
1838
-     * @example
1839
-     * <pre>
1840
-     * $redis->select(0);       // switch to DB 0
1841
-     * $redis->set('x', '42');  // write 42 to x
1842
-     * $redis->move('x', 1);    // move to DB 1
1843
-     * $redis->select(1);       // switch to DB 1
1844
-     * $redis->get('x');        // will return 42
1845
-     * </pre>
1846
-     */
1847
-    public function move($key, $dbIndex) {}
1848
-
1849
-    /**
1850
-     * Renames a key
1851
-     *
1852
-     * @param string $srcKey
1853
-     * @param string $dstKey
1854
-     *
1855
-     * @return bool TRUE in case of success, FALSE in case of failure
1856
-     *
1857
-     * @link    https://redis.io/commands/rename
1858
-     * @example
1859
-     * <pre>
1860
-     * $redis->set('x', '42');
1861
-     * $redis->rename('x', 'y');
1862
-     * $redis->get('y');   // → 42
1863
-     * $redis->get('x');   // → `FALSE`
1864
-     * </pre>
1865
-     */
1866
-    public function rename($srcKey, $dstKey) {}
1867
-
1868
-    /**
1869
-     * @link    https://redis.io/commands/rename
1870
-     *
1871
-     * @param   string  $srcKey
1872
-     * @param   string  $dstKey
1873
-     */
1874
-    #[Deprecated(replacement: '%class%->rename(%parametersList%)')]
1875
-    public function renameKey($srcKey, $dstKey) {}
1876
-
1877
-    /**
1878
-     * Renames a key
1879
-     *
1880
-     * Same as rename, but will not replace a key if the destination already exists.
1881
-     * This is the same behaviour as setNx.
1882
-     *
1883
-     * @param string $srcKey
1884
-     * @param string $dstKey
1885
-     *
1886
-     * @return bool TRUE in case of success, FALSE in case of failure
1887
-     *
1888
-     * @link    https://redis.io/commands/renamenx
1889
-     * @example
1890
-     * <pre>
1891
-     * $redis->set('x', '42');
1892
-     * $redis->rename('x', 'y');
1893
-     * $redis->get('y');   // → 42
1894
-     * $redis->get('x');   // → `FALSE`
1895
-     * </pre>
1896
-     */
1897
-    public function renameNx($srcKey, $dstKey) {}
1898
-
1899
-    /**
1900
-     * Sets an expiration date (a timeout) on an item
1901
-     *
1902
-     * @param string $key The key that will disappear
1903
-     * @param int    $ttl The key's remaining Time To Live, in seconds
1904
-     *
1905
-     * @return bool TRUE in case of success, FALSE in case of failure
1906
-     *
1907
-     * @link    https://redis.io/commands/expire
1908
-     * @example
1909
-     * <pre>
1910
-     * $redis->set('x', '42');
1911
-     * $redis->expire('x', 3);  // x will disappear in 3 seconds.
1912
-     * sleep(5);                    // wait 5 seconds
1913
-     * $redis->get('x');            // will return `FALSE`, as 'x' has expired.
1914
-     * </pre>
1915
-     */
1916
-    public function expire($key, $ttl) {}
1917
-
1918
-    /**
1919
-     * Sets an expiration date (a timeout in milliseconds) on an item
1920
-     *
1921
-     * @param string $key The key that will disappear.
1922
-     * @param int    $ttl The key's remaining Time To Live, in milliseconds
1923
-     *
1924
-     * @return bool TRUE in case of success, FALSE in case of failure
1925
-     *
1926
-     * @link    https://redis.io/commands/pexpire
1927
-     * @example
1928
-     * <pre>
1929
-     * $redis->set('x', '42');
1930
-     * $redis->pExpire('x', 11500); // x will disappear in 11500 milliseconds.
1931
-     * $redis->ttl('x');            // 12
1932
-     * $redis->pttl('x');           // 11500
1933
-     * </pre>
1934
-     */
1935
-    public function pExpire($key, $ttl) {}
1936
-
1937
-    /**
1938
-     * @link    https://redis.io/commands/expire
1939
-     *
1940
-     * @param   string  $key
1941
-     * @param   int     $ttl
1942
-     * @return  bool
1943
-     */
1944
-    #[Deprecated(replacement: '%class%->expire(%parametersList%)')]
1945
-    public function setTimeout($key, $ttl) {}
1946
-
1947
-    /**
1948
-     * Sets an expiration date (a timestamp) on an item.
1949
-     *
1950
-     * @param string $key       The key that will disappear.
1951
-     * @param int    $timestamp Unix timestamp. The key's date of death, in seconds from Epoch time.
1952
-     *
1953
-     * @return bool TRUE in case of success, FALSE in case of failure
1954
-     *
1955
-     * @link    https://redis.io/commands/expireat
1956
-     * @example
1957
-     * <pre>
1958
-     * $redis->set('x', '42');
1959
-     * $now = time(NULL);               // current timestamp
1960
-     * $redis->expireAt('x', $now + 3); // x will disappear in 3 seconds.
1961
-     * sleep(5);                        // wait 5 seconds
1962
-     * $redis->get('x');                // will return `FALSE`, as 'x' has expired.
1963
-     * </pre>
1964
-     */
1965
-    public function expireAt($key, $timestamp) {}
1966
-
1967
-    /**
1968
-     * Sets an expiration date (a timestamp) on an item. Requires a timestamp in milliseconds
1969
-     *
1970
-     * @param string $key       The key that will disappear
1971
-     * @param int    $timestamp Unix timestamp. The key's date of death, in seconds from Epoch time
1972
-     *
1973
-     * @return bool TRUE in case of success, FALSE in case of failure
1974
-     *
1975
-     * @link    https://redis.io/commands/pexpireat
1976
-     * @example
1977
-     * <pre>
1978
-     * $redis->set('x', '42');
1979
-     * $redis->pExpireAt('x', 1555555555005);
1980
-     * echo $redis->ttl('x');                       // 218270121
1981
-     * echo $redis->pttl('x');                      // 218270120575
1982
-     * </pre>
1983
-     */
1984
-    public function pExpireAt($key, $timestamp) {}
1985
-
1986
-    /**
1987
-     * Returns the keys that match a certain pattern.
1988
-     *
1989
-     * @param string $pattern pattern, using '*' as a wildcard
1990
-     *
1991
-     * @return array string[] The keys that match a certain pattern.
1992
-     *
1993
-     * @link    https://redis.io/commands/keys
1994
-     * @example
1995
-     * <pre>
1996
-     * $allKeys = $redis->keys('*');   // all keys will match this.
1997
-     * $keyWithUserPrefix = $redis->keys('user*');
1998
-     * </pre>
1999
-     */
2000
-    public function keys($pattern) {}
2001
-
2002
-    /**
2003
-     * @param string $pattern
2004
-     * @link    https://redis.io/commands/keys
2005
-     */
2006
-    #[Deprecated(replacement: '%class%->keys(%parametersList%)')]
2007
-    public function getKeys($pattern) {}
2008
-
2009
-    /**
2010
-     * Returns the current database's size
2011
-     *
2012
-     * @return int DB size, in number of keys
2013
-     *
2014
-     * @link    https://redis.io/commands/dbsize
2015
-     * @example
2016
-     * <pre>
2017
-     * $count = $redis->dbSize();
2018
-     * echo "Redis has $count keys\n";
2019
-     * </pre>
2020
-     */
2021
-    public function dbSize() {}
2022
-
2023
-    /**
2024
-     * Authenticate the connection using a password.
2025
-     * Warning: The password is sent in plain-text over the network.
2026
-     *
2027
-     * @param string|string[] $password
2028
-     *
2029
-     * @return bool TRUE if the connection is authenticated, FALSE otherwise
2030
-     *
2031
-     * @link    https://redis.io/commands/auth
2032
-     * @example $redis->auth('foobared');
2033
-     */
2034
-    public function auth($password) {}
2035
-
2036
-    /**
2037
-     * Starts the background rewrite of AOF (Append-Only File)
2038
-     *
2039
-     * @return bool TRUE in case of success, FALSE in case of failure
2040
-     *
2041
-     * @link    https://redis.io/commands/bgrewriteaof
2042
-     * @example $redis->bgrewriteaof();
2043
-     */
2044
-    public function bgrewriteaof() {}
2045
-
2046
-    /**
2047
-     * Changes the slave status
2048
-     * Either host and port, or no parameter to stop being a slave.
2049
-     *
2050
-     * @param string $host [optional]
2051
-     * @param int    $port [optional]
2052
-     *
2053
-     * @return bool TRUE in case of success, FALSE in case of failure
2054
-     *
2055
-     * @link    https://redis.io/commands/slaveof
2056
-     * @example
2057
-     * <pre>
2058
-     * $redis->slaveof('10.0.1.7', 6379);
2059
-     * // ...
2060
-     * $redis->slaveof();
2061
-     * </pre>
2062
-     */
2063
-    public function slaveof($host = '127.0.0.1', $port = 6379) {}
2064
-
2065
-    /**
2066
-     * Access the Redis slowLog
2067
-     *
2068
-     * @param string   $operation This can be either GET, LEN, or RESET
2069
-     * @param int|null $length    If executing a SLOWLOG GET command, you can pass an optional length.
2070
-     *
2071
-     * @return mixed The return value of SLOWLOG will depend on which operation was performed.
2072
-     * - SLOWLOG GET: Array of slowLog entries, as provided by Redis
2073
-     * - SLOGLOG LEN: Integer, the length of the slowLog
2074
-     * - SLOWLOG RESET: Boolean, depending on success
2075
-     *
2076
-     * @example
2077
-     * <pre>
2078
-     * // Get ten slowLog entries
2079
-     * $redis->slowLog('get', 10);
2080
-     * // Get the default number of slowLog entries
2081
-     *
2082
-     * $redis->slowLog('get');
2083
-     * // Reset our slowLog
2084
-     * $redis->slowLog('reset');
2085
-     *
2086
-     * // Retrieve slowLog length
2087
-     * $redis->slowLog('len');
2088
-     * </pre>
2089
-     *
2090
-     * @link https://redis.io/commands/slowlog
2091
-     */
2092
-    public function slowLog(string $operation, int $length = null) {}
2093
-
2094
-    /**
2095
-     * Describes the object pointed to by a key.
2096
-     * The information to retrieve (string) and the key (string).
2097
-     * Info can be one of the following:
2098
-     * - "encoding"
2099
-     * - "refcount"
2100
-     * - "idletime"
2101
-     *
2102
-     * @param string $string
2103
-     * @param string $key
2104
-     *
2105
-     * @return string|int|false for "encoding", int for "refcount" and "idletime", FALSE if the key doesn't exist.
2106
-     *
2107
-     * @link    https://redis.io/commands/object
2108
-     * @example
2109
-     * <pre>
2110
-     * $redis->lPush('l', 'Hello, world!');
2111
-     * $redis->object("encoding", "l"); // → ziplist
2112
-     * $redis->object("refcount", "l"); // → 1
2113
-     * $redis->object("idletime", "l"); // → 400 (in seconds, with a precision of 10 seconds).
2114
-     * </pre>
2115
-     */
2116
-    public function object($string = '', $key = '') {}
2117
-
2118
-    /**
2119
-     * Performs a synchronous save.
2120
-     *
2121
-     * @return bool TRUE in case of success, FALSE in case of failure
2122
-     * If a save is already running, this command will fail and return FALSE.
2123
-     *
2124
-     * @link    https://redis.io/commands/save
2125
-     * @example $redis->save();
2126
-     */
2127
-    public function save() {}
2128
-
2129
-    /**
2130
-     * Performs a background save.
2131
-     *
2132
-     * @return bool TRUE in case of success, FALSE in case of failure
2133
-     * If a save is already running, this command will fail and return FALSE
2134
-     *
2135
-     * @link    https://redis.io/commands/bgsave
2136
-     * @example $redis->bgSave();
2137
-     */
2138
-    public function bgsave() {}
2139
-
2140
-    /**
2141
-     * Returns the timestamp of the last disk save.
2142
-     *
2143
-     * @return int timestamp
2144
-     *
2145
-     * @link    https://redis.io/commands/lastsave
2146
-     * @example $redis->lastSave();
2147
-     */
2148
-    public function lastSave() {}
2149
-
2150
-    /**
2151
-     * Blocks the current client until all the previous write commands are successfully transferred and
2152
-     * acknowledged by at least the specified number of slaves.
2153
-     *
2154
-     * @param int $numSlaves Number of slaves that need to acknowledge previous write commands.
2155
-     * @param int $timeout   Timeout in milliseconds.
2156
-     *
2157
-     * @return  int The command returns the number of slaves reached by all the writes performed in the
2158
-     *              context of the current connection
2159
-     *
2160
-     * @link    https://redis.io/commands/wait
2161
-     * @example $redis->wait(2, 1000);
2162
-     */
2163
-    public function wait($numSlaves, $timeout) {}
2164
-
2165
-    /**
2166
-     * Returns the type of data pointed by a given key.
2167
-     *
2168
-     * @param string $key
2169
-     *
2170
-     * @return int
2171
-     * Depending on the type of the data pointed by the key,
2172
-     * this method will return the following value:
2173
-     * - string: Redis::REDIS_STRING
2174
-     * - set:   Redis::REDIS_SET
2175
-     * - list:  Redis::REDIS_LIST
2176
-     * - zset:  Redis::REDIS_ZSET
2177
-     * - hash:  Redis::REDIS_HASH
2178
-     * - other: Redis::REDIS_NOT_FOUND
2179
-     *
2180
-     * @link    https://redis.io/commands/type
2181
-     * @example $redis->type('key');
2182
-     */
2183
-    public function type($key) {}
2184
-
2185
-    /**
2186
-     * Append specified string to the string stored in specified key.
2187
-     *
2188
-     * @param string       $key
2189
-     * @param string|mixed $value
2190
-     *
2191
-     * @return int Size of the value after the append
2192
-     *
2193
-     * @link    https://redis.io/commands/append
2194
-     * @example
2195
-     * <pre>
2196
-     * $redis->set('key', 'value1');
2197
-     * $redis->append('key', 'value2'); // 12
2198
-     * $redis->get('key');              // 'value1value2'
2199
-     * </pre>
2200
-     */
2201
-    public function append($key, $value) {}
2202
-
2203
-    /**
2204
-     * Return a substring of a larger string
2205
-     *
2206
-     * @param string $key
2207
-     * @param int    $start
2208
-     * @param int    $end
2209
-     *
2210
-     * @return string the substring
2211
-     *
2212
-     * @link    https://redis.io/commands/getrange
2213
-     * @example
2214
-     * <pre>
2215
-     * $redis->set('key', 'string value');
2216
-     * $redis->getRange('key', 0, 5);   // 'string'
2217
-     * $redis->getRange('key', -5, -1); // 'value'
2218
-     * </pre>
2219
-     */
2220
-    public function getRange($key, $start, $end) {}
2221
-
2222
-    /**
2223
-     * Return a substring of a larger string
2224
-     *
2225
-     * @param   string  $key
2226
-     * @param   int     $start
2227
-     * @param   int     $end
2228
-     */
2229
-    #[Deprecated]
2230
-    public function substr($key, $start, $end) {}
2231
-
2232
-    /**
2233
-     * Changes a substring of a larger string.
2234
-     *
2235
-     * @param string $key
2236
-     * @param int    $offset
2237
-     * @param string $value
2238
-     *
2239
-     * @return int the length of the string after it was modified
2240
-     *
2241
-     * @link    https://redis.io/commands/setrange
2242
-     * @example
2243
-     * <pre>
2244
-     * $redis->set('key', 'Hello world');
2245
-     * $redis->setRange('key', 6, "redis"); // returns 11
2246
-     * $redis->get('key');                  // "Hello redis"
2247
-     * </pre>
2248
-     */
2249
-    public function setRange($key, $offset, $value) {}
2250
-
2251
-    /**
2252
-     * Get the length of a string value.
2253
-     *
2254
-     * @param string $key
2255
-     * @return int
2256
-     *
2257
-     * @link    https://redis.io/commands/strlen
2258
-     * @example
2259
-     * <pre>
2260
-     * $redis->set('key', 'value');
2261
-     * $redis->strlen('key'); // 5
2262
-     * </pre>
2263
-     */
2264
-    public function strlen($key) {}
2265
-
2266
-    /**
2267
-     * Return the position of the first bit set to 1 or 0 in a string. The position is returned, thinking of the
2268
-     * string as an array of bits from left to right, where the first byte's most significant bit is at position 0,
2269
-     * the second byte's most significant bit is at position 8, and so forth.
2270
-     *
2271
-     * @param string $key
2272
-     * @param int    $bit
2273
-     * @param int    $start
2274
-     * @param int    $end
2275
-     *
2276
-     * @return int The command returns the position of the first bit set to 1 or 0 according to the request.
2277
-     * If we look for set bits (the bit argument is 1) and the string is empty or composed of just
2278
-     * zero bytes, -1 is returned. If we look for clear bits (the bit argument is 0) and the string
2279
-     * only contains bit set to 1, the function returns the first bit not part of the string on the
2280
-     * right. So if the string is three bytes set to the value 0xff the command BITPOS key 0 will
2281
-     * return 24, since up to bit 23 all the bits are 1. Basically, the function considers the right
2282
-     * of the string as padded with zeros if you look for clear bits and specify no range or the
2283
-     * start argument only. However, this behavior changes if you are looking for clear bits and
2284
-     * specify a range with both start and end. If no clear bit is found in the specified range, the
2285
-     * function returns -1 as the user specified a clear range and there are no 0 bits in that range.
2286
-     *
2287
-     * @link    https://redis.io/commands/bitpos
2288
-     * @example
2289
-     * <pre>
2290
-     * $redis->set('key', '\xff\xff');
2291
-     * $redis->bitpos('key', 1); // int(0)
2292
-     * $redis->bitpos('key', 1, 1); // int(8)
2293
-     * $redis->bitpos('key', 1, 3); // int(-1)
2294
-     * $redis->bitpos('key', 0); // int(16)
2295
-     * $redis->bitpos('key', 0, 1); // int(16)
2296
-     * $redis->bitpos('key', 0, 1, 5); // int(-1)
2297
-     * </pre>
2298
-     */
2299
-    public function bitpos($key, $bit, $start = 0, $end = null) {}
2300
-
2301
-    /**
2302
-     * Return a single bit out of a larger string
2303
-     *
2304
-     * @param string $key
2305
-     * @param int    $offset
2306
-     *
2307
-     * @return int the bit value (0 or 1)
2308
-     *
2309
-     * @link    https://redis.io/commands/getbit
2310
-     * @example
2311
-     * <pre>
2312
-     * $redis->set('key', "\x7f");  // this is 0111 1111
2313
-     * $redis->getBit('key', 0);    // 0
2314
-     * $redis->getBit('key', 1);    // 1
2315
-     * </pre>
2316
-     */
2317
-    public function getBit($key, $offset) {}
2318
-
2319
-    /**
2320
-     * Changes a single bit of a string.
2321
-     *
2322
-     * @param string   $key
2323
-     * @param int      $offset
2324
-     * @param bool|int $value  bool or int (1 or 0)
2325
-     *
2326
-     * @return int 0 or 1, the value of the bit before it was set
2327
-     *
2328
-     * @link    https://redis.io/commands/setbit
2329
-     * @example
2330
-     * <pre>
2331
-     * $redis->set('key', "*");     // ord("*") = 42 = 0x2f = "0010 1010"
2332
-     * $redis->setBit('key', 5, 1); // returns 0
2333
-     * $redis->setBit('key', 7, 1); // returns 0
2334
-     * $redis->get('key');          // chr(0x2f) = "/" = b("0010 1111")
2335
-     * </pre>
2336
-     */
2337
-    public function setBit($key, $offset, $value) {}
2338
-
2339
-    /**
2340
-     * Count bits in a string
2341
-     *
2342
-     * @param string $key
2343
-     *
2344
-     * @return int The number of bits set to 1 in the value behind the input key
2345
-     *
2346
-     * @link    https://redis.io/commands/bitcount
2347
-     * @example
2348
-     * <pre>
2349
-     * $redis->set('bit', '345'); // // 11 0011  0011 0100  0011 0101
2350
-     * var_dump( $redis->bitCount('bit', 0, 0) ); // int(4)
2351
-     * var_dump( $redis->bitCount('bit', 1, 1) ); // int(3)
2352
-     * var_dump( $redis->bitCount('bit', 2, 2) ); // int(4)
2353
-     * var_dump( $redis->bitCount('bit', 0, 2) ); // int(11)
2354
-     * </pre>
2355
-     */
2356
-    public function bitCount($key) {}
2357
-
2358
-    /**
2359
-     * Bitwise operation on multiple keys.
2360
-     *
2361
-     * @param string $operation    either "AND", "OR", "NOT", "XOR"
2362
-     * @param string $retKey       return key
2363
-     * @param string $key1         first key
2364
-     * @param string ...$otherKeys variadic list of keys
2365
-     *
2366
-     * @return int The size of the string stored in the destination key
2367
-     *
2368
-     * @link    https://redis.io/commands/bitop
2369
-     * @example
2370
-     * <pre>
2371
-     * $redis->set('bit1', '1'); // 11 0001
2372
-     * $redis->set('bit2', '2'); // 11 0010
2373
-     *
2374
-     * $redis->bitOp('AND', 'bit', 'bit1', 'bit2'); // bit = 110000
2375
-     * $redis->bitOp('OR',  'bit', 'bit1', 'bit2'); // bit = 110011
2376
-     * $redis->bitOp('NOT', 'bit', 'bit1', 'bit2'); // bit = 110011
2377
-     * $redis->bitOp('XOR', 'bit', 'bit1', 'bit2'); // bit = 11
2378
-     * </pre>
2379
-     */
2380
-    public function bitOp($operation, $retKey, $key1, ...$otherKeys) {}
2381
-
2382
-    /**
2383
-     * Removes all entries from the current database.
2384
-     *
2385
-     * @return bool Always TRUE
2386
-     * @link    https://redis.io/commands/flushdb
2387
-     * @example $redis->flushDB();
2388
-     */
2389
-    public function flushDB() {}
2390
-
2391
-    /**
2392
-     * Removes all entries from all databases.
2393
-     *
2394
-     * @return bool Always TRUE
2395
-     *
2396
-     * @link    https://redis.io/commands/flushall
2397
-     * @example $redis->flushAll();
2398
-     */
2399
-    public function flushAll() {}
2400
-
2401
-    /**
2402
-     * Sort
2403
-     *
2404
-     * @param string $key
2405
-     * @param array  $option array(key => value, ...) - optional, with the following keys and values:
2406
-     * - 'by' => 'some_pattern_*',
2407
-     * - 'limit' => array(0, 1),
2408
-     * - 'get' => 'some_other_pattern_*' or an array of patterns,
2409
-     * - 'sort' => 'asc' or 'desc',
2410
-     * - 'alpha' => TRUE,
2411
-     * - 'store' => 'external-key'
2412
-     *
2413
-     * @return array
2414
-     * An array of values, or a number corresponding to the number of elements stored if that was used
2415
-     *
2416
-     * @link    https://redis.io/commands/sort
2417
-     * @example
2418
-     * <pre>
2419
-     * $redis->del('s');
2420
-     * $redis->sadd('s', 5);
2421
-     * $redis->sadd('s', 4);
2422
-     * $redis->sadd('s', 2);
2423
-     * $redis->sadd('s', 1);
2424
-     * $redis->sadd('s', 3);
2425
-     *
2426
-     * var_dump($redis->sort('s')); // 1,2,3,4,5
2427
-     * var_dump($redis->sort('s', array('sort' => 'desc'))); // 5,4,3,2,1
2428
-     * var_dump($redis->sort('s', array('sort' => 'desc', 'store' => 'out'))); // (int)5
2429
-     * </pre>
2430
-     */
2431
-    public function sort($key, $option = null) {}
2432
-
2433
-    /**
2434
-     * Returns an associative array of strings and integers
2435
-     *
2436
-     * @param string $option Optional. The option to provide redis.
2437
-     * SERVER | CLIENTS | MEMORY | PERSISTENCE | STATS | REPLICATION | CPU | CLASTER | KEYSPACE | COMANDSTATS
2438
-     *
2439
-     * Returns an associative array of strings and integers, with the following keys:
2440
-     * - redis_version
2441
-     * - redis_git_sha1
2442
-     * - redis_git_dirty
2443
-     * - arch_bits
2444
-     * - multiplexing_api
2445
-     * - process_id
2446
-     * - uptime_in_seconds
2447
-     * - uptime_in_days
2448
-     * - lru_clock
2449
-     * - used_cpu_sys
2450
-     * - used_cpu_user
2451
-     * - used_cpu_sys_children
2452
-     * - used_cpu_user_children
2453
-     * - connected_clients
2454
-     * - connected_slaves
2455
-     * - client_longest_output_list
2456
-     * - client_biggest_input_buf
2457
-     * - blocked_clients
2458
-     * - used_memory
2459
-     * - used_memory_human
2460
-     * - used_memory_peak
2461
-     * - used_memory_peak_human
2462
-     * - mem_fragmentation_ratio
2463
-     * - mem_allocator
2464
-     * - loading
2465
-     * - aof_enabled
2466
-     * - changes_since_last_save
2467
-     * - bgsave_in_progress
2468
-     * - last_save_time
2469
-     * - total_connections_received
2470
-     * - total_commands_processed
2471
-     * - expired_keys
2472
-     * - evicted_keys
2473
-     * - keyspace_hits
2474
-     * - keyspace_misses
2475
-     * - hash_max_zipmap_entries
2476
-     * - hash_max_zipmap_value
2477
-     * - pubsub_channels
2478
-     * - pubsub_patterns
2479
-     * - latest_fork_usec
2480
-     * - vm_enabled
2481
-     * - role
2482
-     *
2483
-     * @return array
2484
-     *
2485
-     * @link    https://redis.io/commands/info
2486
-     * @example
2487
-     * <pre>
2488
-     * $redis->info();
2489
-     *
2490
-     * or
2491
-     *
2492
-     * $redis->info("COMMANDSTATS"); //Information on the commands that have been run (>=2.6 only)
2493
-     * $redis->info("CPU"); // just CPU information from Redis INFO
2494
-     * </pre>
2495
-     */
2496
-    public function info($option = null) {}
2497
-
2498
-    /**
2499
-     * Resets the statistics reported by Redis using the INFO command (`info()` function).
2500
-     * These are the counters that are reset:
2501
-     *      - Keyspace hits
2502
-     *      - Keyspace misses
2503
-     *      - Number of commands processed
2504
-     *      - Number of connections received
2505
-     *      - Number of expired keys
2506
-     *
2507
-     * @return bool `TRUE` in case of success, `FALSE` in case of failure.
2508
-     *
2509
-     * @example $redis->resetStat();
2510
-     * @link https://redis.io/commands/config-resetstat
2511
-     */
2512
-    public function resetStat() {}
2513
-
2514
-    /**
2515
-     * Returns the time to live left for a given key, in seconds. If the key doesn't exist, FALSE is returned.
2516
-     *
2517
-     * @param string $key
2518
-     *
2519
-     * @return int|bool the time left to live in seconds
2520
-     *
2521
-     * @link    https://redis.io/commands/ttl
2522
-     * @example
2523
-     * <pre>
2524
-     * $redis->setEx('key', 123, 'test');
2525
-     * $redis->ttl('key'); // int(123)
2526
-     * </pre>
2527
-     */
2528
-    public function ttl($key) {}
2529
-
2530
-    /**
2531
-     * Returns a time to live left for a given key, in milliseconds.
2532
-     *
2533
-     * If the key doesn't exist, FALSE is returned.
2534
-     *
2535
-     * @param string $key
2536
-     *
2537
-     * @return int|bool the time left to live in milliseconds
2538
-     *
2539
-     * @link    https://redis.io/commands/pttl
2540
-     * @example
2541
-     * <pre>
2542
-     * $redis->setEx('key', 123, 'test');
2543
-     * $redis->pttl('key'); // int(122999)
2544
-     * </pre>
2545
-     */
2546
-    public function pttl($key) {}
2547
-
2548
-    /**
2549
-     * Remove the expiration timer from a key.
2550
-     *
2551
-     * @param string $key
2552
-     *
2553
-     * @return bool TRUE if a timeout was removed, FALSE if the key didn’t exist or didn’t have an expiration timer.
2554
-     *
2555
-     * @link    https://redis.io/commands/persist
2556
-     * @example $redis->persist('key');
2557
-     */
2558
-    public function persist($key) {}
2559
-
2560
-    /**
2561
-     * Sets multiple key-value pairs in one atomic command.
2562
-     * MSETNX only returns TRUE if all the keys were set (see SETNX).
2563
-     *
2564
-     * @param array $array Pairs: array(key => value, ...)
2565
-     *
2566
-     * @return bool TRUE in case of success, FALSE in case of failure
2567
-     *
2568
-     * @link    https://redis.io/commands/mset
2569
-     * @example
2570
-     * <pre>
2571
-     * $redis->mset(array('key0' => 'value0', 'key1' => 'value1'));
2572
-     * var_dump($redis->get('key0'));
2573
-     * var_dump($redis->get('key1'));
2574
-     * // Output:
2575
-     * // string(6) "value0"
2576
-     * // string(6) "value1"
2577
-     * </pre>
2578
-     */
2579
-    public function mset(array $array) {}
2580
-
2581
-    /**
2582
-     * Get the values of all the specified keys.
2583
-     * If one or more keys dont exist, the array will contain FALSE at the position of the key.
2584
-     *
2585
-     * @param array $keys Array containing the list of the keys
2586
-     *
2587
-     * @return array Array containing the values related to keys in argument
2588
-     *
2589
-     * @example
2590
-     * <pre>
2591
-     * $redis->set('key1', 'value1');
2592
-     * $redis->set('key2', 'value2');
2593
-     * $redis->set('key3', 'value3');
2594
-     * $redis->getMultiple(array('key1', 'key2', 'key3')); // array('value1', 'value2', 'value3');
2595
-     * $redis->getMultiple(array('key0', 'key1', 'key5')); // array(`FALSE`, 'value2', `FALSE`);
2596
-     * </pre>
2597
-     */
2598
-    #[Deprecated(replacement: '%class%->mGet(%parametersList%)')]
2599
-    public function getMultiple(array $keys) {}
2600
-
2601
-    /**
2602
-     * Returns the values of all specified keys.
2603
-     *
2604
-     * For every key that does not hold a string value or does not exist,
2605
-     * the special value false is returned. Because of this, the operation never fails.
2606
-     *
2607
-     * @param array $array
2608
-     *
2609
-     * @return array
2610
-     *
2611
-     * @link https://redis.io/commands/mget
2612
-     * @example
2613
-     * <pre>
2614
-     * $redis->del('x', 'y', 'z', 'h');  // remove x y z
2615
-     * $redis->mset(array('x' => 'a', 'y' => 'b', 'z' => 'c'));
2616
-     * $redis->hset('h', 'field', 'value');
2617
-     * var_dump($redis->mget(array('x', 'y', 'z', 'h')));
2618
-     * // Output:
2619
-     * // array(3) {
2620
-     * //   [0]=> string(1) "a"
2621
-     * //   [1]=> string(1) "b"
2622
-     * //   [2]=> string(1) "c"
2623
-     * //   [3]=> bool(false)
2624
-     * // }
2625
-     * </pre>
2626
-     */
2627
-    public function mGet(array $array) {}
2628
-
2629
-    /**
2630
-     * @see mset()
2631
-     * @param array $array
2632
-     * @return int 1 (if the keys were set) or 0 (no key was set)
2633
-     *
2634
-     * @link    https://redis.io/commands/msetnx
2635
-     */
2636
-    public function mSetNx(array $array) {}
2637
-
2638
-    /**
2639
-     * Pops a value from the tail of a list, and pushes it to the front of another list.
2640
-     * Also return this value.
2641
-     *
2642
-     * @since   redis >= 1.1
2643
-     *
2644
-     * @param string $srcKey
2645
-     * @param string $dstKey
2646
-     *
2647
-     * @return string|mixed|false The element that was moved in case of success, FALSE in case of failure.
2648
-     *
2649
-     * @link    https://redis.io/commands/rpoplpush
2650
-     * @example
2651
-     * <pre>
2652
-     * $redis->del('x', 'y');
2653
-     *
2654
-     * $redis->lPush('x', 'abc');
2655
-     * $redis->lPush('x', 'def');
2656
-     * $redis->lPush('y', '123');
2657
-     * $redis->lPush('y', '456');
2658
-     *
2659
-     * // move the last of x to the front of y.
2660
-     * var_dump($redis->rpoplpush('x', 'y'));
2661
-     * var_dump($redis->lRange('x', 0, -1));
2662
-     * var_dump($redis->lRange('y', 0, -1));
2663
-     *
2664
-     * //Output:
2665
-     * //
2666
-     * //string(3) "abc"
2667
-     * //array(1) {
2668
-     * //  [0]=>
2669
-     * //  string(3) "def"
2670
-     * //}
2671
-     * //array(3) {
2672
-     * //  [0]=>
2673
-     * //  string(3) "abc"
2674
-     * //  [1]=>
2675
-     * //  string(3) "456"
2676
-     * //  [2]=>
2677
-     * //  string(3) "123"
2678
-     * //}
2679
-     * </pre>
2680
-     */
2681
-    public function rPopLPush($srcKey, $dstKey) {}
2682
-
2683
-    /**
2684
-     * A blocking version of rPopLPush, with an integral timeout in the third parameter.
2685
-     *
2686
-     * @param string $srcKey
2687
-     * @param string $dstKey
2688
-     * @param int    $timeout
2689
-     *
2690
-     * @return  string|mixed|bool  The element that was moved in case of success, FALSE in case of timeout
2691
-     *
2692
-     * @link    https://redis.io/commands/brpoplpush
2693
-     */
2694
-    public function bRPopLPush($srcKey, $dstKey, $timeout) {}
2695
-
2696
-    /**
2697
-     * Adds the specified member with a given score to the sorted set stored at key
2698
-     *
2699
-     * @param string                $key     Required key
2700
-     * @param array|float           $options Options if needed or score if omitted
2701
-     * @param float|string|mixed    $score1  Required score or value if options omitted
2702
-     * @param string|float|mixed    $value1  Required value or optional score if options omitted
2703
-     * @param float|string|mixed    $score2  Optional score or value if options omitted
2704
-     * @param string|float|mixed    $value2  Optional value or score if options omitted
2705
-     * @param float|string|mixed    $scoreN  Optional score or value if options omitted
2706
-     * @param string|float|mixed    $valueN  Optional value or score if options omitted
2707
-     *
2708
-     * @return int Number of values added
2709
-     *
2710
-     * @link    https://redis.io/commands/zadd
2711
-     * @example
2712
-     * <pre>
2713
-     * $redis->zAdd('z', 1, 'v1', 2, 'v2', 3, 'v3', 4, 'v4' );  // int(2)
2714
-     * $redis->zRem('z', 'v2', 'v3');                           // int(2)
2715
-     * $redis->zAdd('z', ['NX'], 5, 'v5');                      // int(1)
2716
-     * $redis->zAdd('z', ['NX'], 6, 'v5');                      // int(0)
2717
-     * $redis->zAdd('z', 7, 'v6');                              // int(1)
2718
-     * $redis->zAdd('z', 8, 'v6');                              // int(0)
2719
-     *
2720
-     * var_dump( $redis->zRange('z', 0, -1) );
2721
-     * // Output:
2722
-     * // array(4) {
2723
-     * //   [0]=> string(2) "v1"
2724
-     * //   [1]=> string(2) "v4"
2725
-     * //   [2]=> string(2) "v5"
2726
-     * //   [3]=> string(2) "v8"
2727
-     * // }
2728
-     *
2729
-     * var_dump( $redis->zRange('z', 0, -1, true) );
2730
-     * // Output:
2731
-     * // array(4) {
2732
-     * //   ["v1"]=> float(1)
2733
-     * //   ["v4"]=> float(4)
2734
-     * //   ["v5"]=> float(5)
2735
-     * //   ["v6"]=> float(8)
2736
-     * </pre>
2737
-     */
2738
-    public function zAdd($key, $options, $score1, $value1 = null, $score2 = null, $value2 = null, $scoreN = null, $valueN = null) {}
2739
-
2740
-    /**
2741
-     * Returns a range of elements from the ordered set stored at the specified key,
2742
-     * with values in the range [start, end]. start and stop are interpreted as zero-based indices:
2743
-     * 0 the first element,
2744
-     * 1 the second ...
2745
-     * -1 the last element,
2746
-     * -2 the penultimate ...
2747
-     *
2748
-     * @param string $key
2749
-     * @param int    $start
2750
-     * @param int    $end
2751
-     * @param bool   $withscores
2752
-     *
2753
-     * @return array Array containing the values in specified range.
2754
-     *
2755
-     * @link    https://redis.io/commands/zrange
2756
-     * @example
2757
-     * <pre>
2758
-     * $redis->zAdd('key1', 0, 'val0');
2759
-     * $redis->zAdd('key1', 2, 'val2');
2760
-     * $redis->zAdd('key1', 10, 'val10');
2761
-     * $redis->zRange('key1', 0, -1); // array('val0', 'val2', 'val10')
2762
-     * // with scores
2763
-     * $redis->zRange('key1', 0, -1, true); // array('val0' => 0, 'val2' => 2, 'val10' => 10)
2764
-     * </pre>
2765
-     */
2766
-    public function zRange($key, $start, $end, $withscores = null) {}
2767
-
2768
-    /**
2769
-     * Deletes a specified member from the ordered set.
2770
-     *
2771
-     * @param string       $key
2772
-     * @param string|mixed $member1
2773
-     * @param string|mixed ...$otherMembers
2774
-     *
2775
-     * @return int Number of deleted values
2776
-     *
2777
-     * @link    https://redis.io/commands/zrem
2778
-     * @example
2779
-     * <pre>
2780
-     * $redis->zAdd('z', 1, 'v1', 2, 'v2', 3, 'v3', 4, 'v4' );  // int(2)
2781
-     * $redis->zRem('z', 'v2', 'v3');                           // int(2)
2782
-     * var_dump( $redis->zRange('z', 0, -1) );
2783
-     * //// Output:
2784
-     * // array(2) {
2785
-     * //   [0]=> string(2) "v1"
2786
-     * //   [1]=> string(2) "v4"
2787
-     * // }
2788
-     * </pre>
2789
-     */
2790
-    public function zRem($key, $member1, ...$otherMembers) {}
2791
-
2792
-    /**
2793
-     * @link https://redis.io/commands/zrem
2794
-     *
2795
-     * @param string       $key
2796
-     * @param string|mixed $member1
2797
-     * @param string|mixed ...$otherMembers
2798
-     *
2799
-     * @return int Number of deleted values
2800
-     */
2801
-    #[Deprecated(replacement: '%class%->zRem(%parametersList%)')]
2802
-    public function zDelete($key, $member1, ...$otherMembers) {}
2803
-
2804
-    /**
2805
-     * Returns the elements of the sorted set stored at the specified key in the range [start, end]
2806
-     * in reverse order. start and stop are interpretated as zero-based indices:
2807
-     * 0 the first element,
2808
-     * 1 the second ...
2809
-     * -1 the last element,
2810
-     * -2 the penultimate ...
2811
-     *
2812
-     * @param string $key
2813
-     * @param int    $start
2814
-     * @param int    $end
2815
-     * @param bool   $withscore
2816
-     *
2817
-     * @return array Array containing the values in specified range.
2818
-     *
2819
-     * @link    https://redis.io/commands/zrevrange
2820
-     * @example
2821
-     * <pre>
2822
-     * $redis->zAdd('key', 0, 'val0');
2823
-     * $redis->zAdd('key', 2, 'val2');
2824
-     * $redis->zAdd('key', 10, 'val10');
2825
-     * $redis->zRevRange('key', 0, -1); // array('val10', 'val2', 'val0')
2826
-     *
2827
-     * // with scores
2828
-     * $redis->zRevRange('key', 0, -1, true); // array('val10' => 10, 'val2' => 2, 'val0' => 0)
2829
-     * </pre>
2830
-     */
2831
-    public function zRevRange($key, $start, $end, $withscore = null) {}
2832
-
2833
-    /**
2834
-     * Returns the elements of the sorted set stored at the specified key which have scores in the
2835
-     * range [start,end]. Adding a parenthesis before start or end excludes it from the range.
2836
-     * +inf and -inf are also valid limits.
2837
-     *
2838
-     * zRevRangeByScore returns the same items in reverse order, when the start and end parameters are swapped.
2839
-     *
2840
-     * @param string $key
2841
-     * @param int    $start
2842
-     * @param int    $end
2843
-     * @param array  $options Two options are available:
2844
-     *  - withscores => TRUE,
2845
-     *  - and limit => array($offset, $count)
2846
-     *
2847
-     * @return array Array containing the values in specified range.
2848
-     *
2849
-     * @link    https://redis.io/commands/zrangebyscore
2850
-     * @example
2851
-     * <pre>
2852
-     * $redis->zAdd('key', 0, 'val0');
2853
-     * $redis->zAdd('key', 2, 'val2');
2854
-     * $redis->zAdd('key', 10, 'val10');
2855
-     * $redis->zRangeByScore('key', 0, 3);                                          // array('val0', 'val2')
2856
-     * $redis->zRangeByScore('key', 0, 3, array('withscores' => TRUE);              // array('val0' => 0, 'val2' => 2)
2857
-     * $redis->zRangeByScore('key', 0, 3, array('limit' => array(1, 1));                        // array('val2')
2858
-     * $redis->zRangeByScore('key', 0, 3, array('withscores' => TRUE, 'limit' => array(1, 1));  // array('val2' => 2)
2859
-     * </pre>
2860
-     */
2861
-    public function zRangeByScore($key, $start, $end, array $options = []) {}
2862
-
2863
-    /**
2864
-     * @see zRangeByScore()
2865
-     * @param string $key
2866
-     * @param int    $start
2867
-     * @param int    $end
2868
-     * @param array  $options
2869
-     *
2870
-     * @return array
2871
-     */
2872
-    public function zRevRangeByScore($key, $start, $end, array $options = []) {}
2873
-
2874
-    /**
2875
-     * Returns a lexigraphical range of members in a sorted set, assuming the members have the same score. The
2876
-     * min and max values are required to start with '(' (exclusive), '[' (inclusive), or be exactly the values
2877
-     * '-' (negative inf) or '+' (positive inf).  The command must be called with either three *or* five
2878
-     * arguments or will return FALSE.
2879
-     *
2880
-     * @param string $key    The ZSET you wish to run against.
2881
-     * @param int    $min    The minimum alphanumeric value you wish to get.
2882
-     * @param int    $max    The maximum alphanumeric value you wish to get.
2883
-     * @param int    $offset Optional argument if you wish to start somewhere other than the first element.
2884
-     * @param int    $limit  Optional argument if you wish to limit the number of elements returned.
2885
-     *
2886
-     * @return array|false Array containing the values in the specified range.
2887
-     *
2888
-     * @link    https://redis.io/commands/zrangebylex
2889
-     * @example
2890
-     * <pre>
2891
-     * foreach (array('a', 'b', 'c', 'd', 'e', 'f', 'g') as $char) {
2892
-     *     $redis->zAdd('key', $char);
2893
-     * }
2894
-     *
2895
-     * $redis->zRangeByLex('key', '-', '[c'); // array('a', 'b', 'c')
2896
-     * $redis->zRangeByLex('key', '-', '(c'); // array('a', 'b')
2897
-     * $redis->zRangeByLex('key', '-', '[c'); // array('b', 'c')
2898
-     * </pre>
2899
-     */
2900
-    public function zRangeByLex($key, $min, $max, $offset = null, $limit = null) {}
2901
-
2902
-    /**
2903
-     * @see zRangeByLex()
2904
-     * @param string $key
2905
-     * @param int    $min
2906
-     * @param int    $max
2907
-     * @param int    $offset
2908
-     * @param int    $limit
2909
-     *
2910
-     * @return array
2911
-     *
2912
-     * @link    https://redis.io/commands/zrevrangebylex
2913
-     */
2914
-    public function zRevRangeByLex($key, $min, $max, $offset = null, $limit = null) {}
2915
-
2916
-    /**
2917
-     * Returns the number of elements of the sorted set stored at the specified key which have
2918
-     * scores in the range [start,end]. Adding a parenthesis before start or end excludes it
2919
-     * from the range. +inf and -inf are also valid limits.
2920
-     *
2921
-     * @param string $key
2922
-     * @param string $start
2923
-     * @param string $end
2924
-     *
2925
-     * @return int the size of a corresponding zRangeByScore
2926
-     *
2927
-     * @link    https://redis.io/commands/zcount
2928
-     * @example
2929
-     * <pre>
2930
-     * $redis->zAdd('key', 0, 'val0');
2931
-     * $redis->zAdd('key', 2, 'val2');
2932
-     * $redis->zAdd('key', 10, 'val10');
2933
-     * $redis->zCount('key', 0, 3); // 2, corresponding to array('val0', 'val2')
2934
-     * </pre>
2935
-     */
2936
-    public function zCount($key, $start, $end) {}
2937
-
2938
-    /**
2939
-     * Deletes the elements of the sorted set stored at the specified key which have scores in the range [start,end].
2940
-     *
2941
-     * @param string $key
2942
-     * @param string $start double or "+inf" or "-inf" as a string
2943
-     * @param string $end double or "+inf" or "-inf" as a string
2944
-     *
2945
-     * @return int The number of values deleted from the sorted set
2946
-     *
2947
-     * @link    https://redis.io/commands/zremrangebyscore
2948
-     * @example
2949
-     * <pre>
2950
-     * $redis->zAdd('key', 0, 'val0');
2951
-     * $redis->zAdd('key', 2, 'val2');
2952
-     * $redis->zAdd('key', 10, 'val10');
2953
-     * $redis->zRemRangeByScore('key', '0', '3'); // 2
2954
-     * </pre>
2955
-     */
2956
-    public function zRemRangeByScore($key, $start, $end) {}
2957
-
2958
-    /**
2959
-     * @param string $key
2960
-     * @param float  $start
2961
-     * @param float  $end
2962
-     */
2963
-    #[Deprecated(replacement: '%class%->zRemRangeByScore(%parametersList%)')]
2964
-    public function zDeleteRangeByScore($key, $start, $end) {}
2965
-
2966
-    /**
2967
-     * Deletes the elements of the sorted set stored at the specified key which have rank in the range [start,end].
2968
-     *
2969
-     * @param string $key
2970
-     * @param int    $start
2971
-     * @param int    $end
2972
-     *
2973
-     * @return int The number of values deleted from the sorted set
2974
-     *
2975
-     * @link    https://redis.io/commands/zremrangebyrank
2976
-     * @example
2977
-     * <pre>
2978
-     * $redis->zAdd('key', 1, 'one');
2979
-     * $redis->zAdd('key', 2, 'two');
2980
-     * $redis->zAdd('key', 3, 'three');
2981
-     * $redis->zRemRangeByRank('key', 0, 1); // 2
2982
-     * $redis->zRange('key', 0, -1, array('withscores' => TRUE)); // array('three' => 3)
2983
-     * </pre>
2984
-     */
2985
-    public function zRemRangeByRank($key, $start, $end) {}
2986
-
2987
-    /**
2988
-     * @link    https://redis.io/commands/zremrangebyscore
2989
-     *
2990
-     * @param string $key
2991
-     * @param int    $start
2992
-     * @param int    $end
2993
-     */
2994
-    #[Deprecated(replacement: '%class%->zRemRangeByRank(%parametersList%)')]
2995
-    public function zDeleteRangeByRank($key, $start, $end) {}
2996
-
2997
-    /**
2998
-     * Returns the cardinality of an ordered set.
2999
-     *
3000
-     * @param string $key
3001
-     *
3002
-     * @return int the set's cardinality
3003
-     *
3004
-     * @link    https://redis.io/commands/zsize
3005
-     * @example
3006
-     * <pre>
3007
-     * $redis->zAdd('key', 0, 'val0');
3008
-     * $redis->zAdd('key', 2, 'val2');
3009
-     * $redis->zAdd('key', 10, 'val10');
3010
-     * $redis->zCard('key');            // 3
3011
-     * </pre>
3012
-     */
3013
-    public function zCard($key) {}
3014
-
3015
-    /**
3016
-     * @param string $key
3017
-     * @return int
3018
-     */
3019
-    #[Deprecated(replacement: '%class%->zCard(%parametersList%)')]
3020
-    public function zSize($key) {}
3021
-
3022
-    /**
3023
-     * Returns the score of a given member in the specified sorted set.
3024
-     *
3025
-     * @param string       $key
3026
-     * @param string|mixed $member
3027
-     *
3028
-     * @return float|bool false if member or key not exists
3029
-     *
3030
-     * @link    https://redis.io/commands/zscore
3031
-     * @example
3032
-     * <pre>
3033
-     * $redis->zAdd('key', 2.5, 'val2');
3034
-     * $redis->zScore('key', 'val2'); // 2.5
3035
-     * </pre>
3036
-     */
3037
-    public function zScore($key, $member) {}
3038
-
3039
-    /**
3040
-     * Returns the rank of a given member in the specified sorted set, starting at 0 for the item
3041
-     * with the smallest score. zRevRank starts at 0 for the item with the largest score.
3042
-     *
3043
-     * @param string       $key
3044
-     * @param string|mixed $member
3045
-     *
3046
-     * @return int|false the item's score, or false if key or member is not exists
3047
-     *
3048
-     * @link    https://redis.io/commands/zrank
3049
-     * @example
3050
-     * <pre>
3051
-     * $redis->del('z');
3052
-     * $redis->zAdd('key', 1, 'one');
3053
-     * $redis->zAdd('key', 2, 'two');
3054
-     * $redis->zRank('key', 'one');     // 0
3055
-     * $redis->zRank('key', 'two');     // 1
3056
-     * $redis->zRevRank('key', 'one');  // 1
3057
-     * $redis->zRevRank('key', 'two');  // 0
3058
-     * </pre>
3059
-     */
3060
-    public function zRank($key, $member) {}
3061
-
3062
-    /**
3063
-     * @see zRank()
3064
-     * @param string       $key
3065
-     * @param string|mixed $member
3066
-     *
3067
-     * @return int|false the item's score, false - if key or member is not exists
3068
-     *
3069
-     * @link   https://redis.io/commands/zrevrank
3070
-     */
3071
-    public function zRevRank($key, $member) {}
3072
-
3073
-    /**
3074
-     * Increments the score of a member from a sorted set by a given amount.
3075
-     *
3076
-     * @param string $key
3077
-     * @param float  $value (double) value that will be added to the member's score
3078
-     * @param string $member
3079
-     *
3080
-     * @return float the new value
3081
-     *
3082
-     * @link    https://redis.io/commands/zincrby
3083
-     * @example
3084
-     * <pre>
3085
-     * $redis->del('key');
3086
-     * $redis->zIncrBy('key', 2.5, 'member1');  // key or member1 didn't exist, so member1's score is to 0
3087
-     *                                          // before the increment and now has the value 2.5
3088
-     * $redis->zIncrBy('key', 1, 'member1');    // 3.5
3089
-     * </pre>
3090
-     */
3091
-    public function zIncrBy($key, $value, $member) {}
3092
-
3093
-    /**
3094
-     * Creates an union of sorted sets given in second argument.
3095
-     * The result of the union will be stored in the sorted set defined by the first argument.
3096
-     * The third optionnel argument defines weights to apply to the sorted sets in input.
3097
-     * In this case, the weights will be multiplied by the score of each element in the sorted set
3098
-     * before applying the aggregation. The forth argument defines the AGGREGATE option which
3099
-     * specify how the results of the union are aggregated.
3100
-     *
3101
-     * @param string $output
3102
-     * @param array  $zSetKeys
3103
-     * @param null|array $weights
3104
-     * @param string $aggregateFunction  Either "SUM", "MIN", or "MAX": defines the behaviour to use on
3105
-     * duplicate entries during the zUnionStore
3106
-     *
3107
-     * @return int The number of values in the new sorted set
3108
-     *
3109
-     * @link    https://redis.io/commands/zunionstore
3110
-     * @example
3111
-     * <pre>
3112
-     * $redis->del('k1');
3113
-     * $redis->del('k2');
3114
-     * $redis->del('k3');
3115
-     * $redis->del('ko1');
3116
-     * $redis->del('ko2');
3117
-     * $redis->del('ko3');
3118
-     *
3119
-     * $redis->zAdd('k1', 0, 'val0');
3120
-     * $redis->zAdd('k1', 1, 'val1');
3121
-     *
3122
-     * $redis->zAdd('k2', 2, 'val2');
3123
-     * $redis->zAdd('k2', 3, 'val3');
3124
-     *
3125
-     * $redis->zUnionStore('ko1', array('k1', 'k2')); // 4, 'ko1' => array('val0', 'val1', 'val2', 'val3')
3126
-     *
3127
-     * // Weighted zUnionStore
3128
-     * $redis->zUnionStore('ko2', array('k1', 'k2'), array(1, 1)); // 4, 'ko2' => array('val0', 'val1', 'val2', 'val3')
3129
-     * $redis->zUnionStore('ko3', array('k1', 'k2'), array(5, 1)); // 4, 'ko3' => array('val0', 'val2', 'val3', 'val1')
3130
-     * </pre>
3131
-     */
3132
-    public function zUnionStore($output, $zSetKeys, ?array $weights = null, $aggregateFunction = 'SUM') {}
3133
-
3134
-    /**
3135
-     * @param string     $Output
3136
-     * @param array      $ZSetKeys
3137
-     * @param array|null $Weights
3138
-     * @param string     $aggregateFunction
3139
-     */
3140
-    #[Deprecated(replacement: '%class%->zUnionStore(%parametersList%)')]
3141
-    public function zUnion($Output, $ZSetKeys, array $Weights = null, $aggregateFunction = 'SUM') {}
3142
-
3143
-    /**
3144
-     * Creates an intersection of sorted sets given in second argument.
3145
-     * The result of the union will be stored in the sorted set defined by the first argument.
3146
-     * The third optional argument defines weights to apply to the sorted sets in input.
3147
-     * In this case, the weights will be multiplied by the score of each element in the sorted set
3148
-     * before applying the aggregation. The forth argument defines the AGGREGATE option which
3149
-     * specify how the results of the union are aggregated.
3150
-     *
3151
-     * @param string $output
3152
-     * @param array  $zSetKeys
3153
-     * @param null|array $weights
3154
-     * @param string $aggregateFunction Either "SUM", "MIN", or "MAX":
3155
-     * defines the behaviour to use on duplicate entries during the zInterStore.
3156
-     *
3157
-     * @return int The number of values in the new sorted set.
3158
-     *
3159
-     * @link    https://redis.io/commands/zinterstore
3160
-     * @example
3161
-     * <pre>
3162
-     * $redis->del('k1');
3163
-     * $redis->del('k2');
3164
-     * $redis->del('k3');
3165
-     *
3166
-     * $redis->del('ko1');
3167
-     * $redis->del('ko2');
3168
-     * $redis->del('ko3');
3169
-     * $redis->del('ko4');
3170
-     *
3171
-     * $redis->zAdd('k1', 0, 'val0');
3172
-     * $redis->zAdd('k1', 1, 'val1');
3173
-     * $redis->zAdd('k1', 3, 'val3');
3174
-     *
3175
-     * $redis->zAdd('k2', 2, 'val1');
3176
-     * $redis->zAdd('k2', 3, 'val3');
3177
-     *
3178
-     * $redis->zInterStore('ko1', array('k1', 'k2'));               // 2, 'ko1' => array('val1', 'val3')
3179
-     * $redis->zInterStore('ko2', array('k1', 'k2'), array(1, 1));  // 2, 'ko2' => array('val1', 'val3')
3180
-     *
3181
-     * // Weighted zInterStore
3182
-     * $redis->zInterStore('ko3', array('k1', 'k2'), array(1, 5), 'min'); // 2, 'ko3' => array('val1', 'val3')
3183
-     * $redis->zInterStore('ko4', array('k1', 'k2'), array(1, 5), 'max'); // 2, 'ko4' => array('val3', 'val1')
3184
-     * </pre>
3185
-     */
3186
-    public function zInterStore($output, $zSetKeys, array $weights = null, $aggregateFunction = 'SUM') {}
3187
-
3188
-    /**
3189
-     * @param $Output
3190
-     * @param $ZSetKeys
3191
-     * @param array|null $Weights
3192
-     * @param string $aggregateFunction
3193
-     */
3194
-    #[Deprecated(replacement: '%class%->zInterStore(%parametersList%)')]
3195
-    public function zInter($Output, $ZSetKeys, array $Weights = null, $aggregateFunction = 'SUM') {}
3196
-
3197
-    /**
3198
-     * Scan a sorted set for members, with optional pattern and count
3199
-     *
3200
-     * @param string $key      String, the set to scan.
3201
-     * @param int    &$iterator Long (reference), initialized to NULL.
3202
-     * @param string $pattern  String (optional), the pattern to match.
3203
-     * @param int    $count    How many keys to return per iteration (Redis might return a different number).
3204
-     *
3205
-     * @return array|false PHPRedis will return matching keys from Redis, or FALSE when iteration is complete
3206
-     *
3207
-     * @link    https://redis.io/commands/zscan
3208
-     * @example
3209
-     * <pre>
3210
-     * $iterator = null;
3211
-     * while ($members = $redis-zscan('zset', $iterator)) {
3212
-     *     foreach ($members as $member => $score) {
3213
-     *         echo $member . ' => ' . $score . PHP_EOL;
3214
-     *     }
3215
-     * }
3216
-     * </pre>
3217
-     */
3218
-    public function zScan($key, &$iterator, $pattern = null, $count = 0) {}
3219
-
3220
-    /**
3221
-     * Block until Redis can pop the highest or lowest scoring members from one or more ZSETs.
3222
-     * There are two commands (BZPOPMIN and BZPOPMAX for popping the lowest and highest scoring elements respectively.)
3223
-     *
3224
-     * @param string|array $key1
3225
-     * @param string|array $key2 ...
3226
-     * @param int $timeout
3227
-     *
3228
-     * @return array Either an array with the key member and score of the highest or lowest element or an empty array
3229
-     * if the timeout was reached without an element to pop.
3230
-     *
3231
-     * @since >= 5.0
3232
-     * @link https://redis.io/commands/bzpopmax
3233
-     * @example
3234
-     * <pre>
3235
-     * // Wait up to 5 seconds to pop the *lowest* scoring member from sets `zs1` and `zs2`.
3236
-     * $redis->bzPopMin(['zs1', 'zs2'], 5);
3237
-     * $redis->bzPopMin('zs1', 'zs2', 5);
3238
-     *
3239
-     * // Wait up to 5 seconds to pop the *highest* scoring member from sets `zs1` and `zs2`
3240
-     * $redis->bzPopMax(['zs1', 'zs2'], 5);
3241
-     * $redis->bzPopMax('zs1', 'zs2', 5);
3242
-     * </pre>
3243
-     */
3244
-    public function bzPopMax($key1, $key2, $timeout) {}
3245
-
3246
-    /**
3247
-     * @param string|array $key1
3248
-     * @param string|array $key2 ...
3249
-     * @param int $timeout
3250
-     *
3251
-     * @return array Either an array with the key member and score of the highest or lowest element or an empty array
3252
-     * if the timeout was reached without an element to pop.
3253
-     *
3254
-     * @see bzPopMax
3255
-     * @since >= 5.0
3256
-     * @link https://redis.io/commands/bzpopmin
3257
-     */
3258
-    public function bzPopMin($key1, $key2, $timeout) {}
3259
-
3260
-    /**
3261
-     * Can pop the highest scoring members from one ZSET.
3262
-     *
3263
-     * @param string $key
3264
-     * @param int $count
3265
-     *
3266
-     * @return array Either an array with the key member and score of the highest element or an empty array
3267
-     * if there is no element to pop.
3268
-     *
3269
-     * @since >= 5.0
3270
-     * @link https://redis.io/commands/zpopmax
3271
-     * @example
3272
-     * <pre>
3273
-     * // Pop the *lowest* scoring member from set `zs1`.
3274
-     * $redis->zPopMax('zs1');
3275
-     * // Pop the *lowest* 3 scoring member from set `zs1`.
3276
-     * $redis->zPopMax('zs1', 3);
3277
-     * </pre>
3278
-     */
3279
-    public function zPopMax($key, $count = 1) {}
3280
-
3281
-    /**
3282
-     * Can pop the lowest scoring members from one ZSET.
3283
-     *
3284
-     * @param string $key
3285
-     * @param int $count
3286
-     *
3287
-     * @return array Either an array with the key member and score of the lowest element or an empty array
3288
-     * if there is no element to pop.
3289
-     *
3290
-     * @since >= 5.0
3291
-     * @link https://redis.io/commands/zpopmin
3292
-     * @example
3293
-     * <pre>
3294
-     * // Pop the *lowest* scoring member from set `zs1`.
3295
-     * $redis->zPopMin('zs1');
3296
-     * // Pop the *lowest* 3 scoring member from set `zs1`.
3297
-     * $redis->zPopMin('zs1', 3);
3298
-     * </pre>
3299
-     */
3300
-    public function zPopMin($key, $count = 1) {}
3301
-
3302
-    /**
3303
-     * Adds a value to the hash stored at key. If this value is already in the hash, FALSE is returned.
3304
-     *
3305
-     * @param string $key
3306
-     * @param string $hashKey
3307
-     * @param string $value
3308
-     *
3309
-     * @return int|bool
3310
-     * - 1 if value didn't exist and was added successfully,
3311
-     * - 0 if the value was already present and was replaced, FALSE if there was an error.
3312
-     *
3313
-     * @link    https://redis.io/commands/hset
3314
-     * @example
3315
-     * <pre>
3316
-     * $redis->del('h')
3317
-     * $redis->hSet('h', 'key1', 'hello');  // 1, 'key1' => 'hello' in the hash at "h"
3318
-     * $redis->hGet('h', 'key1');           // returns "hello"
3319
-     *
3320
-     * $redis->hSet('h', 'key1', 'plop');   // 0, value was replaced.
3321
-     * $redis->hGet('h', 'key1');           // returns "plop"
3322
-     * </pre>
3323
-     */
3324
-    public function hSet($key, $hashKey, $value) {}
3325
-
3326
-    /**
3327
-     * Adds a value to the hash stored at key only if this field isn't already in the hash.
3328
-     *
3329
-     * @param string $key
3330
-     * @param string $hashKey
3331
-     * @param string $value
3332
-     *
3333
-     * @return  bool TRUE if the field was set, FALSE if it was already present.
3334
-     *
3335
-     * @link    https://redis.io/commands/hsetnx
3336
-     * @example
3337
-     * <pre>
3338
-     * $redis->del('h')
3339
-     * $redis->hSetNx('h', 'key1', 'hello'); // TRUE, 'key1' => 'hello' in the hash at "h"
3340
-     * $redis->hSetNx('h', 'key1', 'world'); // FALSE, 'key1' => 'hello' in the hash at "h". No change since the field
3341
-     * wasn't replaced.
3342
-     * </pre>
3343
-     */
3344
-    public function hSetNx($key, $hashKey, $value) {}
3345
-
3346
-    /**
3347
-     * Gets a value from the hash stored at key.
3348
-     * If the hash table doesn't exist, or the key doesn't exist, FALSE is returned.
3349
-     *
3350
-     * @param string $key
3351
-     * @param string $hashKey
3352
-     *
3353
-     * @return string|false The value, if the command executed successfully BOOL FALSE in case of failure
3354
-     *
3355
-     * @link    https://redis.io/commands/hget
3356
-     */
3357
-    public function hGet($key, $hashKey) {}
3358
-
3359
-    /**
3360
-     * Returns the length of a hash, in number of items
3361
-     *
3362
-     * @param string $key
3363
-     *
3364
-     * @return int|false the number of items in a hash, FALSE if the key doesn't exist or isn't a hash
3365
-     *
3366
-     * @link    https://redis.io/commands/hlen
3367
-     * @example
3368
-     * <pre>
3369
-     * $redis->del('h')
3370
-     * $redis->hSet('h', 'key1', 'hello');
3371
-     * $redis->hSet('h', 'key2', 'plop');
3372
-     * $redis->hLen('h'); // returns 2
3373
-     * </pre>
3374
-     */
3375
-    public function hLen($key) {}
3376
-
3377
-    /**
3378
-     * Removes a values from the hash stored at key.
3379
-     * If the hash table doesn't exist, or the key doesn't exist, FALSE is returned.
3380
-     *
3381
-     * @param string $key
3382
-     * @param string $hashKey1
3383
-     * @param string ...$otherHashKeys
3384
-     *
3385
-     * @return int|bool Number of deleted fields
3386
-     *
3387
-     * @link    https://redis.io/commands/hdel
3388
-     * @example
3389
-     * <pre>
3390
-     * $redis->hMSet('h',
3391
-     *               array(
3392
-     *                    'f1' => 'v1',
3393
-     *                    'f2' => 'v2',
3394
-     *                    'f3' => 'v3',
3395
-     *                    'f4' => 'v4',
3396
-     *               ));
3397
-     *
3398
-     * var_dump( $redis->hDel('h', 'f1') );        // int(1)
3399
-     * var_dump( $redis->hDel('h', 'f2', 'f3') );  // int(2)
3400
-     * s
3401
-     * var_dump( $redis->hGetAll('h') );
3402
-     * //// Output:
3403
-     * //  array(1) {
3404
-     * //    ["f4"]=> string(2) "v4"
3405
-     * //  }
3406
-     * </pre>
3407
-     */
3408
-    public function hDel($key, $hashKey1, ...$otherHashKeys) {}
3409
-
3410
-    /**
3411
-     * Returns the keys in a hash, as an array of strings.
3412
-     *
3413
-     * @param string $key
3414
-     *
3415
-     * @return array An array of elements, the keys of the hash. This works like PHP's array_keys().
3416
-     *
3417
-     * @link    https://redis.io/commands/hkeys
3418
-     * @example
3419
-     * <pre>
3420
-     * $redis->del('h');
3421
-     * $redis->hSet('h', 'a', 'x');
3422
-     * $redis->hSet('h', 'b', 'y');
3423
-     * $redis->hSet('h', 'c', 'z');
3424
-     * $redis->hSet('h', 'd', 't');
3425
-     * var_dump($redis->hKeys('h'));
3426
-     *
3427
-     * // Output:
3428
-     * // array(4) {
3429
-     * // [0]=>
3430
-     * // string(1) "a"
3431
-     * // [1]=>
3432
-     * // string(1) "b"
3433
-     * // [2]=>
3434
-     * // string(1) "c"
3435
-     * // [3]=>
3436
-     * // string(1) "d"
3437
-     * // }
3438
-     * // The order is random and corresponds to redis' own internal representation of the set structure.
3439
-     * </pre>
3440
-     */
3441
-    public function hKeys($key) {}
3442
-
3443
-    /**
3444
-     * Returns the values in a hash, as an array of strings.
3445
-     *
3446
-     * @param string $key
3447
-     *
3448
-     * @return array An array of elements, the values of the hash. This works like PHP's array_values().
3449
-     *
3450
-     * @link    https://redis.io/commands/hvals
3451
-     * @example
3452
-     * <pre>
3453
-     * $redis->del('h');
3454
-     * $redis->hSet('h', 'a', 'x');
3455
-     * $redis->hSet('h', 'b', 'y');
3456
-     * $redis->hSet('h', 'c', 'z');
3457
-     * $redis->hSet('h', 'd', 't');
3458
-     * var_dump($redis->hVals('h'));
3459
-     *
3460
-     * // Output
3461
-     * // array(4) {
3462
-     * //   [0]=>
3463
-     * //   string(1) "x"
3464
-     * //   [1]=>
3465
-     * //   string(1) "y"
3466
-     * //   [2]=>
3467
-     * //   string(1) "z"
3468
-     * //   [3]=>
3469
-     * //   string(1) "t"
3470
-     * // }
3471
-     * // The order is random and corresponds to redis' own internal representation of the set structure.
3472
-     * </pre>
3473
-     */
3474
-    public function hVals($key) {}
3475
-
3476
-    /**
3477
-     * Returns the whole hash, as an array of strings indexed by strings.
3478
-     *
3479
-     * @param string $key
3480
-     *
3481
-     * @return array An array of elements, the contents of the hash.
3482
-     *
3483
-     * @link    https://redis.io/commands/hgetall
3484
-     * @example
3485
-     * <pre>
3486
-     * $redis->del('h');
3487
-     * $redis->hSet('h', 'a', 'x');
3488
-     * $redis->hSet('h', 'b', 'y');
3489
-     * $redis->hSet('h', 'c', 'z');
3490
-     * $redis->hSet('h', 'd', 't');
3491
-     * var_dump($redis->hGetAll('h'));
3492
-     *
3493
-     * // Output:
3494
-     * // array(4) {
3495
-     * //   ["a"]=>
3496
-     * //   string(1) "x"
3497
-     * //   ["b"]=>
3498
-     * //   string(1) "y"
3499
-     * //   ["c"]=>
3500
-     * //   string(1) "z"
3501
-     * //   ["d"]=>
3502
-     * //   string(1) "t"
3503
-     * // }
3504
-     * // The order is random and corresponds to redis' own internal representation of the set structure.
3505
-     * </pre>
3506
-     */
3507
-    public function hGetAll($key) {}
3508
-
3509
-    /**
3510
-     * Verify if the specified member exists in a key.
3511
-     *
3512
-     * @param string $key
3513
-     * @param string $hashKey
3514
-     *
3515
-     * @return bool If the member exists in the hash table, return TRUE, otherwise return FALSE.
3516
-     *
3517
-     * @link    https://redis.io/commands/hexists
3518
-     * @example
3519
-     * <pre>
3520
-     * $redis->hSet('h', 'a', 'x');
3521
-     * $redis->hExists('h', 'a');               //  TRUE
3522
-     * $redis->hExists('h', 'NonExistingKey');  // FALSE
3523
-     * </pre>
3524
-     */
3525
-    public function hExists($key, $hashKey) {}
3526
-
3527
-    /**
3528
-     * Increments the value of a member from a hash by a given amount.
3529
-     *
3530
-     * @param string $key
3531
-     * @param string $hashKey
3532
-     * @param int    $value (integer) value that will be added to the member's value
3533
-     *
3534
-     * @return int the new value
3535
-     *
3536
-     * @link    https://redis.io/commands/hincrby
3537
-     * @example
3538
-     * <pre>
3539
-     * $redis->del('h');
3540
-     * $redis->hIncrBy('h', 'x', 2); // returns 2: h[x] = 2 now.
3541
-     * $redis->hIncrBy('h', 'x', 1); // h[x] ← 2 + 1. Returns 3
3542
-     * </pre>
3543
-     */
3544
-    public function hIncrBy($key, $hashKey, $value) {}
3545
-
3546
-    /**
3547
-     * Increment the float value of a hash field by the given amount
3548
-     *
3549
-     * @param string $key
3550
-     * @param string $field
3551
-     * @param float  $increment
3552
-     *
3553
-     * @return float
3554
-     *
3555
-     * @link    https://redis.io/commands/hincrbyfloat
3556
-     * @example
3557
-     * <pre>
3558
-     * $redis = new Redis();
3559
-     * $redis->connect('127.0.0.1');
3560
-     * $redis->hset('h', 'float', 3);
3561
-     * $redis->hset('h', 'int',   3);
3562
-     * var_dump( $redis->hIncrByFloat('h', 'float', 1.5) ); // float(4.5)
3563
-     *
3564
-     * var_dump( $redis->hGetAll('h') );
3565
-     *
3566
-     * // Output
3567
-     *  array(2) {
3568
-     *    ["float"]=>
3569
-     *    string(3) "4.5"
3570
-     *    ["int"]=>
3571
-     *    string(1) "3"
3572
-     *  }
3573
-     * </pre>
3574
-     */
3575
-    public function hIncrByFloat($key, $field, $increment) {}
3576
-
3577
-    /**
3578
-     * Fills in a whole hash. Non-string values are converted to string, using the standard (string) cast.
3579
-     * NULL values are stored as empty strings
3580
-     *
3581
-     * @param string $key
3582
-     * @param array  $hashKeys key → value array
3583
-     *
3584
-     * @return bool
3585
-     *
3586
-     * @link    https://redis.io/commands/hmset
3587
-     * @example
3588
-     * <pre>
3589
-     * $redis->del('user:1');
3590
-     * $redis->hMSet('user:1', array('name' => 'Joe', 'salary' => 2000));
3591
-     * $redis->hIncrBy('user:1', 'salary', 100); // Joe earns 100 more now.
3592
-     * </pre>
3593
-     */
3594
-    public function hMSet($key, $hashKeys) {}
3595
-
3596
-    /**
3597
-     * Retrieve the values associated to the specified fields in the hash.
3598
-     *
3599
-     * @param string $key
3600
-     * @param array  $hashKeys
3601
-     *
3602
-     * @return array Array An array of elements, the values of the specified fields in the hash,
3603
-     * with the hash keys as array keys.
3604
-     *
3605
-     * @link    https://redis.io/commands/hmget
3606
-     * @example
3607
-     * <pre>
3608
-     * $redis->del('h');
3609
-     * $redis->hSet('h', 'field1', 'value1');
3610
-     * $redis->hSet('h', 'field2', 'value2');
3611
-     * $redis->hMGet('h', array('field1', 'field2')); // returns array('field1' => 'value1', 'field2' => 'value2')
3612
-     * </pre>
3613
-     */
3614
-    public function hMGet($key, $hashKeys) {}
3615
-
3616
-    /**
3617
-     * Scan a HASH value for members, with an optional pattern and count.
3618
-     *
3619
-     * @param string $key
3620
-     * @param int    &$iterator
3621
-     * @param string $pattern    Optional pattern to match against.
3622
-     * @param int    $count      How many keys to return in a go (only a sugestion to Redis).
3623
-     *
3624
-     * @return array An array of members that match our pattern.
3625
-     *
3626
-     * @link    https://redis.io/commands/hscan
3627
-     * @example
3628
-     * <pre>
3629
-     * // $iterator = null;
3630
-     * // while($elements = $redis->hscan('hash', $iterator)) {
3631
-     * //     foreach($elements as $key => $value) {
3632
-     * //         echo $key . ' => ' . $value . PHP_EOL;
3633
-     * //     }
3634
-     * // }
3635
-     * </pre>
3636
-     */
3637
-    public function hScan($key, &$iterator, $pattern = null, $count = 0) {}
3638
-
3639
-    /**
3640
-     * Get the string length of the value associated with field in the hash stored at key
3641
-     *
3642
-     * @param string $key
3643
-     * @param string $field
3644
-     *
3645
-     * @return int the string length of the value associated with field, or zero when field is not present in the hash
3646
-     * or key does not exist at all.
3647
-     *
3648
-     * @link https://redis.io/commands/hstrlen
3649
-     * @since >= 3.2
3650
-     */
3651
-    public function hStrLen(string $key, string $field) {}
3652
-
3653
-    /**
3654
-     * Add one or more geospatial items to the specified key.
3655
-     * This function must be called with at least one longitude, latitude, member triplet.
3656
-     *
3657
-     * @param string $key
3658
-     * @param float  $longitude
3659
-     * @param float  $latitude
3660
-     * @param string $member
3661
-     *
3662
-     * @return int The number of elements added to the geospatial key
3663
-     *
3664
-     * @link https://redis.io/commands/geoadd
3665
-     * @since >= 3.2
3666
-     *
3667
-     * @example
3668
-     * <pre>
3669
-     * $redis->del("myplaces");
3670
-     *
3671
-     * // Since the key will be new, $result will be 2
3672
-     * $result = $redis->geoAdd(
3673
-     *   "myplaces",
3674
-     *   -122.431, 37.773, "San Francisco",
3675
-     *   -157.858, 21.315, "Honolulu"
3676
-     * ); // 2
3677
-     * </pre>
3678
-     */
3679
-    public function geoAdd($key, $longitude, $latitude, $member) {}
3680
-
3681
-    /**
3682
-     * Retrieve Geohash strings for one or more elements of a geospatial index.
3683
-
3684
-     * @param string $key
3685
-     * @param string ...$member variadic list of members
3686
-     *
3687
-     * @return array One or more Redis Geohash encoded strings
3688
-     *
3689
-     * @link https://redis.io/commands/geohash
3690
-     * @since >= 3.2
3691
-     *
3692
-     * @example
3693
-     * <pre>
3694
-     * $redis->geoAdd("hawaii", -157.858, 21.306, "Honolulu", -156.331, 20.798, "Maui");
3695
-     * $hashes = $redis->geoHash("hawaii", "Honolulu", "Maui");
3696
-     * var_dump($hashes);
3697
-     * // Output: array(2) {
3698
-     * //   [0]=>
3699
-     * //   string(11) "87z9pyek3y0"
3700
-     * //   [1]=>
3701
-     * //   string(11) "8e8y6d5jps0"
3702
-     * // }
3703
-     * </pre>
3704
-     */
3705
-    public function geoHash($key, ...$member) {}
3706
-
3707
-    /**
3708
-     * Return longitude, latitude positions for each requested member.
3709
-     *
3710
-     * @param string $key
3711
-     * @param string $member
3712
-     * @return array One or more longitude/latitude positions
3713
-     *
3714
-     * @link https://redis.io/commands/geopos
3715
-     * @since >= 3.2
3716
-     *
3717
-     * @example
3718
-     * <pre>
3719
-     * $redis->geoAdd("hawaii", -157.858, 21.306, "Honolulu", -156.331, 20.798, "Maui");
3720
-     * $positions = $redis->geoPos("hawaii", "Honolulu", "Maui");
3721
-     * var_dump($positions);
3722
-     *
3723
-     * // Output:
3724
-     * array(2) {
3725
-     *  [0]=> array(2) {
3726
-     *      [0]=> string(22) "-157.85800248384475708"
3727
-     *      [1]=> string(19) "21.3060004581273077"
3728
-     *  }
3729
-     *  [1]=> array(2) {
3730
-     *      [0]=> string(22) "-156.33099943399429321"
3731
-     *      [1]=> string(20) "20.79799924753607598"
3732
-     *  }
3733
-     * }
3734
-     * </pre>
3735
-     */
3736
-    public function geoPos(string $key, string $member) {}
3737
-
3738
-    /**
3739
-     * Return the distance between two members in a geospatial set.
3740
-     *
3741
-     * If units are passed it must be one of the following values:
3742
-     * - 'm' => Meters
3743
-     * - 'km' => Kilometers
3744
-     * - 'mi' => Miles
3745
-     * - 'ft' => Feet
3746
-     *
3747
-     * @param string $key
3748
-     * @param string $member1
3749
-     * @param string $member2
3750
-     * @param string|null $unit
3751
-     *
3752
-     * @return float The distance between the two passed members in the units requested (meters by default)
3753
-     *
3754
-     * @link https://redis.io/commands/geodist
3755
-     * @since >= 3.2
3756
-     *
3757
-     * @example
3758
-     * <pre>
3759
-     * $redis->geoAdd("hawaii", -157.858, 21.306, "Honolulu", -156.331, 20.798, "Maui");
3760
-     *
3761
-     * $meters = $redis->geoDist("hawaii", "Honolulu", "Maui");
3762
-     * $kilometers = $redis->geoDist("hawaii", "Honolulu", "Maui", 'km');
3763
-     * $miles = $redis->geoDist("hawaii", "Honolulu", "Maui", 'mi');
3764
-     * $feet = $redis->geoDist("hawaii", "Honolulu", "Maui", 'ft');
3765
-     *
3766
-     * echo "Distance between Honolulu and Maui:\n";
3767
-     * echo "  meters    : $meters\n";
3768
-     * echo "  kilometers: $kilometers\n";
3769
-     * echo "  miles     : $miles\n";
3770
-     * echo "  feet      : $feet\n";
3771
-     *
3772
-     * // Bad unit
3773
-     * $inches = $redis->geoDist("hawaii", "Honolulu", "Maui", 'in');
3774
-     * echo "Invalid unit returned:\n";
3775
-     * var_dump($inches);
3776
-     *
3777
-     * // Output
3778
-     * Distance between Honolulu and Maui:
3779
-     * meters    : 168275.204
3780
-     * kilometers: 168.2752
3781
-     * miles     : 104.5616
3782
-     * feet      : 552084.0028
3783
-     * Invalid unit returned:
3784
-     * bool(false)
3785
-     * </pre>
3786
-     */
3787
-    public function geoDist($key, $member1, $member2, $unit = null) {}
3788
-
3789
-    /**
3790
-     * Return members of a set with geospatial information that are within the radius specified by the caller.
3791
-     *
3792
-     * @param $key
3793
-     * @param $longitude
3794
-     * @param $latitude
3795
-     * @param $radius
3796
-     * @param $unit
3797
-     * @param array|null $options
3798
-     * <pre>
3799
-     * |Key         |Value          |Description                                        |
3800
-     * |------------|---------------|---------------------------------------------------|
3801
-     * |COUNT       |integer > 0    |Limit how many results are returned                |
3802
-     * |            |WITHCOORD      |Return longitude and latitude of matching members  |
3803
-     * |            |WITHDIST       |Return the distance from the center                |
3804
-     * |            |WITHHASH       |Return the raw geohash-encoded score               |
3805
-     * |            |ASC            |Sort results in ascending order                    |
3806
-     * |            |DESC           |Sort results in descending order                   |
3807
-     * |STORE       |key            |Store results in key                               |
3808
-     * |STOREDIST   |key            |Store the results as distances in key              |
3809
-     * </pre>
3810
-     * Note: It doesn't make sense to pass both ASC and DESC options but if both are passed
3811
-     * the last one passed will be used.
3812
-     * Note: When using STORE[DIST] in Redis Cluster, the store key must has to the same slot as
3813
-     * the query key or you will get a CROSSLOT error.
3814
-     * @return mixed When no STORE option is passed, this function returns an array of results.
3815
-     * If it is passed this function returns the number of stored entries.
3816
-     *
3817
-     * @link https://redis.io/commands/georadius
3818
-     * @since >= 3.2
3819
-     * @example
3820
-     * <pre>
3821
-     * // Add some cities
3822
-     * $redis->geoAdd("hawaii", -157.858, 21.306, "Honolulu", -156.331, 20.798, "Maui");
3823
-     *
3824
-     * echo "Within 300 miles of Honolulu:\n";
3825
-     * var_dump($redis->geoRadius("hawaii", -157.858, 21.306, 300, 'mi'));
3826
-     *
3827
-     * echo "\nWithin 300 miles of Honolulu with distances:\n";
3828
-     * $options = ['WITHDIST'];
3829
-     * var_dump($redis->geoRadius("hawaii", -157.858, 21.306, 300, 'mi', $options));
3830
-     *
3831
-     * echo "\nFirst result within 300 miles of Honolulu with distances:\n";
3832
-     * $options['count'] = 1;
3833
-     * var_dump($redis->geoRadius("hawaii", -157.858, 21.306, 300, 'mi', $options));
3834
-     *
3835
-     * echo "\nFirst result within 300 miles of Honolulu with distances in descending sort order:\n";
3836
-     * $options[] = 'DESC';
3837
-     * var_dump($redis->geoRadius("hawaii", -157.858, 21.306, 300, 'mi', $options));
3838
-     *
3839
-     * // Output
3840
-     * Within 300 miles of Honolulu:
3841
-     * array(2) {
3842
-     *  [0]=> string(8) "Honolulu"
3843
-     *  [1]=> string(4) "Maui"
3844
-     * }
3845
-     *
3846
-     * Within 300 miles of Honolulu with distances:
3847
-     * array(2) {
3848
-     *     [0]=>
3849
-     *   array(2) {
3850
-     *         [0]=>
3851
-     *     string(8) "Honolulu"
3852
-     *         [1]=>
3853
-     *     string(6) "0.0002"
3854
-     *   }
3855
-     *   [1]=>
3856
-     *   array(2) {
3857
-     *         [0]=>
3858
-     *     string(4) "Maui"
3859
-     *         [1]=>
3860
-     *     string(8) "104.5615"
3861
-     *   }
3862
-     * }
3863
-     *
3864
-     * First result within 300 miles of Honolulu with distances:
3865
-     * array(1) {
3866
-     *     [0]=>
3867
-     *   array(2) {
3868
-     *         [0]=>
3869
-     *     string(8) "Honolulu"
3870
-     *         [1]=>
3871
-     *     string(6) "0.0002"
3872
-     *   }
3873
-     * }
3874
-     *
3875
-     * First result within 300 miles of Honolulu with distances in descending sort order:
3876
-     * array(1) {
3877
-     *     [0]=>
3878
-     *   array(2) {
3879
-     *         [0]=>
3880
-     *     string(4) "Maui"
3881
-     *         [1]=>
3882
-     *     string(8) "104.5615"
3883
-     *   }
3884
-     * }
3885
-     * </pre>
3886
-     */
3887
-    public function geoRadius($key, $longitude, $latitude, $radius, $unit, array $options = null) {}
3888
-
3889
-    /**
3890
-     * This method is identical to geoRadius except that instead of passing a longitude and latitude as the "source"
3891
-     * you pass an existing member in the geospatial set
3892
-     *
3893
-     * @param string $key
3894
-     * @param string $member
3895
-     * @param $radius
3896
-     * @param $units
3897
-     * @param array|null $options see georadius
3898
-     *
3899
-     * @return array The zero or more entries that are close enough to the member given the distance and radius specified
3900
-     *
3901
-     * @link https://redis.io/commands/georadiusbymember
3902
-     * @since >= 3.2
3903
-     * @see georadius
3904
-     * @example
3905
-     * <pre>
3906
-     * $redis->geoAdd("hawaii", -157.858, 21.306, "Honolulu", -156.331, 20.798, "Maui");
3907
-     *
3908
-     * echo "Within 300 miles of Honolulu:\n";
3909
-     * var_dump($redis->geoRadiusByMember("hawaii", "Honolulu", 300, 'mi'));
3910
-     *
3911
-     * echo "\nFirst match within 300 miles of Honolulu:\n";
3912
-     * var_dump($redis->geoRadiusByMember("hawaii", "Honolulu", 300, 'mi', ['count' => 1]));
3913
-     *
3914
-     * // Output
3915
-     * Within 300 miles of Honolulu:
3916
-     * array(2) {
3917
-     *  [0]=> string(8) "Honolulu"
3918
-     *  [1]=> string(4) "Maui"
3919
-     * }
3920
-     *
3921
-     * First match within 300 miles of Honolulu:
3922
-     * array(1) {
3923
-     *  [0]=> string(8) "Honolulu"
3924
-     * }
3925
-     * </pre>
3926
-     */
3927
-    public function geoRadiusByMember($key, $member, $radius, $units, array $options = null) {}
3928
-
3929
-    /**
3930
-     * Get or Set the redis config keys.
3931
-     *
3932
-     * @param string       $operation either `GET` or `SET`
3933
-     * @param string       $key       for `SET`, glob-pattern for `GET`
3934
-     * @param string|mixed $value     optional string (only for `SET`)
3935
-     *
3936
-     * @return array Associative array for `GET`, key -> value
3937
-     *
3938
-     * @link    https://redis.io/commands/config-get
3939
-     * @example
3940
-     * <pre>
3941
-     * $redis->config("GET", "*max-*-entries*");
3942
-     * $redis->config("SET", "dir", "/var/run/redis/dumps/");
3943
-     * </pre>
3944
-     */
3945
-    public function config($operation, $key, $value) {}
3946
-
3947
-    /**
3948
-     * Evaluate a LUA script serverside
3949
-     *
3950
-     * @param string $script
3951
-     * @param array  $args
3952
-     * @param int    $numKeys
3953
-     *
3954
-     * @return mixed What is returned depends on what the LUA script itself returns, which could be a scalar value
3955
-     * (int/string), or an array. Arrays that are returned can also contain other arrays, if that's how it was set up in
3956
-     * your LUA script.  If there is an error executing the LUA script, the getLastError() function can tell you the
3957
-     * message that came back from Redis (e.g. compile error).
3958
-     *
3959
-     * @link   https://redis.io/commands/eval
3960
-     * @example
3961
-     * <pre>
3962
-     * $redis->eval("return 1"); // Returns an integer: 1
3963
-     * $redis->eval("return {1,2,3}"); // Returns Array(1,2,3)
3964
-     * $redis->del('mylist');
3965
-     * $redis->rpush('mylist','a');
3966
-     * $redis->rpush('mylist','b');
3967
-     * $redis->rpush('mylist','c');
3968
-     * // Nested response:  Array(1,2,3,Array('a','b','c'));
3969
-     * $redis->eval("return {1,2,3,redis.call('lrange','mylist',0,-1)}}");
3970
-     * </pre>
3971
-     */
3972
-    public function eval($script, $args = [], $numKeys = 0) {}
3973
-
3974
-    /**
3975
-     * @param   string  $script
3976
-     * @param   array   $args
3977
-     * @param   int     $numKeys
3978
-     * @return  mixed   @see eval()
3979
-     */
3980
-    #[Deprecated(replacement: '%class%->eval(%parametersList%)')]
3981
-    public function evaluate($script, $args = [], $numKeys = 0) {}
3982
-
3983
-    /**
3984
-     * Evaluate a LUA script serverside, from the SHA1 hash of the script instead of the script itself.
3985
-     * In order to run this command Redis will have to have already loaded the script, either by running it or via
3986
-     * the SCRIPT LOAD command.
3987
-     *
3988
-     * @param string $scriptSha
3989
-     * @param array  $args
3990
-     * @param int    $numKeys
3991
-     *
3992
-     * @return mixed @see eval()
3993
-     *
3994
-     * @see     eval()
3995
-     * @link    https://redis.io/commands/evalsha
3996
-     * @example
3997
-     * <pre>
3998
-     * $script = 'return 1';
3999
-     * $sha = $redis->script('load', $script);
4000
-     * $redis->evalSha($sha); // Returns 1
4001
-     * </pre>
4002
-     */
4003
-    public function evalSha($scriptSha, $args = [], $numKeys = 0) {}
4004
-
4005
-    /**
4006
-     * @param string $scriptSha
4007
-     * @param array  $args
4008
-     * @param int    $numKeys
4009
-     */
4010
-    #[Deprecated(replacement: '%class%->evalSha(%parametersList%)')]
4011
-    public function evaluateSha($scriptSha, $args = [], $numKeys = 0) {}
4012
-
4013
-    /**
4014
-     * Execute the Redis SCRIPT command to perform various operations on the scripting subsystem.
4015
-     * @param string $command load | flush | kill | exists
4016
-     * @param string $script
4017
-     *
4018
-     * @return  mixed
4019
-     *
4020
-     * @link    https://redis.io/commands/script-load
4021
-     * @link    https://redis.io/commands/script-kill
4022
-     * @link    https://redis.io/commands/script-flush
4023
-     * @link    https://redis.io/commands/script-exists
4024
-     * @example
4025
-     * <pre>
4026
-     * $redis->script('load', $script);
4027
-     * $redis->script('flush');
4028
-     * $redis->script('kill');
4029
-     * $redis->script('exists', $script1, [$script2, $script3, ...]);
4030
-     * </pre>
4031
-     *
4032
-     * SCRIPT LOAD will return the SHA1 hash of the passed script on success, and FALSE on failure.
4033
-     * SCRIPT FLUSH should always return TRUE
4034
-     * SCRIPT KILL will return true if a script was able to be killed and false if not
4035
-     * SCRIPT EXISTS will return an array with TRUE or FALSE for each passed script
4036
-     */
4037
-    public function script($command, $script) {}
4038
-
4039
-    /**
4040
-     * The last error message (if any)
4041
-     *
4042
-     * @return string|null A string with the last returned script based error message, or NULL if there is no error
4043
-     *
4044
-     * @example
4045
-     * <pre>
4046
-     * $redis->eval('this-is-not-lua');
4047
-     * $err = $redis->getLastError();
4048
-     * // "ERR Error compiling script (new function): user_script:1: '=' expected near '-'"
4049
-     * </pre>
4050
-     */
4051
-    public function getLastError() {}
4052
-
4053
-    /**
4054
-     * Clear the last error message
4055
-     *
4056
-     * @return bool true
4057
-     *
4058
-     * @example
4059
-     * <pre>
4060
-     * $redis->set('x', 'a');
4061
-     * $redis->incr('x');
4062
-     * $err = $redis->getLastError();
4063
-     * // "ERR value is not an integer or out of range"
4064
-     * $redis->clearLastError();
4065
-     * $err = $redis->getLastError();
4066
-     * // NULL
4067
-     * </pre>
4068
-     */
4069
-    public function clearLastError() {}
4070
-
4071
-    /**
4072
-     * Issue the CLIENT command with various arguments.
4073
-     * The Redis CLIENT command can be used in four ways:
4074
-     * - CLIENT LIST
4075
-     * - CLIENT GETNAME
4076
-     * - CLIENT SETNAME [name]
4077
-     * - CLIENT KILL [ip:port]
4078
-     *
4079
-     * @param string $command
4080
-     * @param string $value
4081
-     * @return mixed This will vary depending on which client command was executed:
4082
-     * - CLIENT LIST will return an array of arrays with client information.
4083
-     * - CLIENT GETNAME will return the client name or false if none has been set
4084
-     * - CLIENT SETNAME will return true if it can be set and false if not
4085
-     * - CLIENT KILL will return true if the client can be killed, and false if not
4086
-     *
4087
-     * Note: phpredis will attempt to reconnect so you can actually kill your own connection but may not notice losing it!
4088
-     *
4089
-     * @link https://redis.io/commands/client-list
4090
-     * @link https://redis.io/commands/client-getname
4091
-     * @link https://redis.io/commands/client-setname
4092
-     * @link https://redis.io/commands/client-kill
4093
-     *
4094
-     * @example
4095
-     * <pre>
4096
-     * $redis->client('list'); // Get a list of clients
4097
-     * $redis->client('getname'); // Get the name of the current connection
4098
-     * $redis->client('setname', 'somename'); // Set the name of the current connection
4099
-     * $redis->client('kill', <ip:port>); // Kill the process at ip:port
4100
-     * </pre>
4101
-     */
4102
-    public function client($command, $value = '') {}
4103
-
4104
-    /**
4105
-     * A utility method to prefix the value with the prefix setting for phpredis.
4106
-     *
4107
-     * @param mixed $value The value you wish to prefix
4108
-     *
4109
-     * @return string If a prefix is set up, the value now prefixed.
4110
-     * If there is no prefix, the value will be returned unchanged.
4111
-     *
4112
-     * @example
4113
-     * <pre>
4114
-     * $redis->setOption(Redis::OPT_PREFIX, 'my-prefix:');
4115
-     * $redis->_prefix('my-value'); // Will return 'my-prefix:my-value'
4116
-     * </pre>
4117
-     */
4118
-    public function _prefix($value) {}
4119
-
4120
-    /**
4121
-     * A utility method to unserialize data with whatever serializer is set up.  If there is no serializer set, the
4122
-     * value will be returned unchanged.  If there is a serializer set up, and the data passed in is malformed, an
4123
-     * exception will be thrown. This can be useful if phpredis is serializing values, and you return something from
4124
-     * redis in a LUA script that is serialized.
4125
-     *
4126
-     * @param string $value The value to be unserialized
4127
-     *
4128
-     * @return mixed
4129
-     * @example
4130
-     * <pre>
4131
-     * $redis->setOption(Redis::OPT_SERIALIZER, Redis::SERIALIZER_PHP);
4132
-     * $redis->_unserialize('a:3:{i:0;i:1;i:1;i:2;i:2;i:3;}'); // Will return Array(1,2,3)
4133
-     * </pre>
4134
-     */
4135
-    public function _unserialize($value) {}
4136
-
4137
-    /**
4138
-     * A utility method to serialize values manually. This method allows you to serialize a value with whatever
4139
-     * serializer is configured, manually. This can be useful for serialization/unserialization of data going in
4140
-     * and out of EVAL commands as phpredis can't automatically do this itself.  Note that if no serializer is
4141
-     * set, phpredis will change Array values to 'Array', and Objects to 'Object'.
4142
-     *
4143
-     * @param mixed $value The value to be serialized.
4144
-     *
4145
-     * @return  mixed
4146
-     * @example
4147
-     * <pre>
4148
-     * $redis->setOption(Redis::OPT_SERIALIZER, Redis::SERIALIZER_NONE);
4149
-     * $redis->_serialize("foo"); // returns "foo"
4150
-     * $redis->_serialize(Array()); // Returns "Array"
4151
-     * $redis->_serialize(new stdClass()); // Returns "Object"
4152
-     *
4153
-     * $redis->setOption(Redis::OPT_SERIALIZER, Redis::SERIALIZER_PHP);
4154
-     * $redis->_serialize("foo"); // Returns 's:3:"foo";'
4155
-     * </pre>
4156
-     */
4157
-    public function _serialize($value) {}
4158
-
4159
-    /**
4160
-     * Dump a key out of a redis database, the value of which can later be passed into redis using the RESTORE command.
4161
-     * The data that comes out of DUMP is a binary representation of the key as Redis stores it.
4162
-     * @param string $key
4163
-     *
4164
-     * @return string|false The Redis encoded value of the key, or FALSE if the key doesn't exist
4165
-     *
4166
-     * @link    https://redis.io/commands/dump
4167
-     * @example
4168
-     * <pre>
4169
-     * $redis->set('foo', 'bar');
4170
-     * $val = $redis->dump('foo'); // $val will be the Redis encoded key value
4171
-     * </pre>
4172
-     */
4173
-    public function dump($key) {}
4174
-
4175
-    /**
4176
-     * Restore a key from the result of a DUMP operation.
4177
-     *
4178
-     * @param string $key   The key name
4179
-     * @param int    $ttl   How long the key should live (if zero, no expire will be set on the key)
4180
-     * @param string $value (binary).  The Redis encoded key value (from DUMP)
4181
-     *
4182
-     * @return bool
4183
-     *
4184
-     * @link    https://redis.io/commands/restore
4185
-     * @example
4186
-     * <pre>
4187
-     * $redis->set('foo', 'bar');
4188
-     * $val = $redis->dump('foo');
4189
-     * $redis->restore('bar', 0, $val); // The key 'bar', will now be equal to the key 'foo'
4190
-     * </pre>
4191
-     */
4192
-    public function restore($key, $ttl, $value) {}
4193
-
4194
-    /**
4195
-     * Migrates a key to a different Redis instance.
4196
-     *
4197
-     * @param string $host    The destination host
4198
-     * @param int    $port    The TCP port to connect to.
4199
-     * @param string $key     The key to migrate.
4200
-     * @param int    $db      The target DB.
4201
-     * @param int    $timeout The maximum amount of time given to this transfer.
4202
-     * @param bool   $copy    Should we send the COPY flag to redis.
4203
-     * @param bool   $replace Should we send the REPLACE flag to redis.
4204
-     *
4205
-     * @return bool
4206
-     *
4207
-     * @link    https://redis.io/commands/migrate
4208
-     * @example
4209
-     * <pre>
4210
-     * $redis->migrate('backup', 6379, 'foo', 0, 3600);
4211
-     * </pre>
4212
-     */
4213
-    public function migrate($host, $port, $key, $db, $timeout, $copy = false, $replace = false) {}
4214
-
4215
-    /**
4216
-     * Return the current Redis server time.
4217
-     *
4218
-     * @return array If successful, the time will come back as an associative array with element zero being the
4219
-     * unix timestamp, and element one being microseconds.
4220
-     *
4221
-     * @link    https://redis.io/commands/time
4222
-     * @example
4223
-     * <pre>
4224
-     * var_dump( $redis->time() );
4225
-     * // array(2) {
4226
-     * //   [0] => string(10) "1342364352"
4227
-     * //   [1] => string(6) "253002"
4228
-     * // }
4229
-     * </pre>
4230
-     */
4231
-    public function time() {}
4232
-
4233
-    /**
4234
-     * Scan the keyspace for keys
4235
-     *
4236
-     * @param int    &$iterator Iterator, initialized to NULL.
4237
-     * @param string $pattern  Pattern to match.
4238
-     * @param int    $count    Count of keys per iteration (only a suggestion to Redis).
4239
-     *
4240
-     * @return array|false This function will return an array of keys or FALSE if there are no more keys.
4241
-     *
4242
-     * @link   https://redis.io/commands/scan
4243
-     * @example
4244
-     * <pre>
4245
-     * $iterator = null;
4246
-     * while(false !== ($keys = $redis->scan($iterator))) {
4247
-     *     foreach($keys as $key) {
4248
-     *         echo $key . PHP_EOL;
4249
-     *     }
4250
-     * }
4251
-     * </pre>
4252
-     */
4253
-    public function scan(&$iterator, $pattern = null, $count = 0) {}
4254
-
4255
-    /**
4256
-     * Adds all the element arguments to the HyperLogLog data structure stored at the key.
4257
-     *
4258
-     * @param string $key
4259
-     * @param array  $elements
4260
-     *
4261
-     * @return bool
4262
-     *
4263
-     * @link    https://redis.io/commands/pfadd
4264
-     * @example $redis->pfAdd('key', array('elem1', 'elem2'))
4265
-     */
4266
-    public function pfAdd($key, array $elements) {}
4267
-
4268
-    /**
4269
-     * When called with a single key, returns the approximated cardinality computed by the HyperLogLog data
4270
-     * structure stored at the specified variable, which is 0 if the variable does not exist.
4271
-     *
4272
-     * @param string|array $key
4273
-     *
4274
-     * @return int
4275
-     *
4276
-     * @link    https://redis.io/commands/pfcount
4277
-     * @example
4278
-     * <pre>
4279
-     * $redis->pfAdd('key1', array('elem1', 'elem2'));
4280
-     * $redis->pfAdd('key2', array('elem3', 'elem2'));
4281
-     * $redis->pfCount('key1'); // int(2)
4282
-     * $redis->pfCount(array('key1', 'key2')); // int(3)
4283
-     * </pre>
4284
-     */
4285
-    public function pfCount($key) {}
4286
-
4287
-    /**
4288
-     * Merge multiple HyperLogLog values into an unique value that will approximate the cardinality
4289
-     * of the union of the observed Sets of the source HyperLogLog structures.
4290
-     *
4291
-     * @param string $destKey
4292
-     * @param array  $sourceKeys
4293
-     *
4294
-     * @return bool
4295
-     *
4296
-     * @link    https://redis.io/commands/pfmerge
4297
-     * @example
4298
-     * <pre>
4299
-     * $redis->pfAdd('key1', array('elem1', 'elem2'));
4300
-     * $redis->pfAdd('key2', array('elem3', 'elem2'));
4301
-     * $redis->pfMerge('key3', array('key1', 'key2'));
4302
-     * $redis->pfCount('key3'); // int(3)
4303
-     * </pre>
4304
-     */
4305
-    public function pfMerge($destKey, array $sourceKeys) {}
4306
-
4307
-    /**
4308
-     * Send arbitrary things to the redis server.
4309
-     *
4310
-     * @param string $command   Required command to send to the server.
4311
-     * @param mixed  $arguments Optional variable amount of arguments to send to the server.
4312
-     *
4313
-     * @return mixed
4314
-     *
4315
-     * @example
4316
-     * <pre>
4317
-     * $redis->rawCommand('SET', 'key', 'value'); // bool(true)
4318
-     * $redis->rawCommand('GET", 'key'); // string(5) "value"
4319
-     * </pre>
4320
-     */
4321
-    public function rawCommand($command, $arguments) {}
4322
-
4323
-    /**
4324
-     * Detect whether we're in ATOMIC/MULTI/PIPELINE mode.
4325
-     *
4326
-     * @return int Either Redis::ATOMIC, Redis::MULTI or Redis::PIPELINE
4327
-     *
4328
-     * @example $redis->getMode();
4329
-     */
4330
-    public function getMode() {}
4331
-
4332
-    /**
4333
-     * Acknowledge one or more messages on behalf of a consumer group.
4334
-     *
4335
-     * @param string $stream
4336
-     * @param string $group
4337
-     * @param array  $messages
4338
-     *
4339
-     * @return int The number of messages Redis reports as acknowledged.
4340
-     *
4341
-     * @link    https://redis.io/commands/xack
4342
-     * @example
4343
-     * <pre>
4344
-     * $redis->xAck('stream', 'group1', ['1530063064286-0', '1530063064286-1']);
4345
-     * </pre>
4346
-     */
4347
-    public function xAck($stream, $group, $messages) {}
4348
-
4349
-    /**
4350
-     * Add a message to a stream
4351
-     *
4352
-     * @param string $key
4353
-     * @param string $id
4354
-     * @param array  $messages
4355
-     * @param int    $maxLen
4356
-     * @param bool   $isApproximate
4357
-     *
4358
-     * @return string The added message ID.
4359
-     *
4360
-     * @link    https://redis.io/commands/xadd
4361
-     * @example
4362
-     * <pre>
4363
-     * $redis->xAdd('mystream', "*", ['field' => 'value']);
4364
-     * $redis->xAdd('mystream', "*", ['field' => 'value'], 10);
4365
-     * $redis->xAdd('mystream', "*", ['field' => 'value'], 10, true);
4366
-     * </pre>
4367
-     */
4368
-    public function xAdd($key, $id, $messages, $maxLen = 0, $isApproximate = false) {}
4369
-
4370
-    /**
4371
-     * Claim ownership of one or more pending messages
4372
-     *
4373
-     * @param string $key
4374
-     * @param string $group
4375
-     * @param string $consumer
4376
-     * @param int    $minIdleTime
4377
-     * @param array  $ids
4378
-     * @param array  $options ['IDLE' => $value, 'TIME' => $value, 'RETRYCOUNT' => $value, 'FORCE', 'JUSTID']
4379
-     *
4380
-     * @return array Either an array of message IDs along with corresponding data, or just an array of IDs
4381
-     * (if the 'JUSTID' option was passed).
4382
-     *
4383
-     * @link    https://redis.io/commands/xclaim
4384
-     * @example
4385
-     * <pre>
4386
-     * $ids = ['1530113681011-0', '1530113681011-1', '1530113681011-2'];
4387
-     *
4388
-     * // Without any options
4389
-     * $redis->xClaim('mystream', 'group1', 'myconsumer1', 0, $ids);
4390
-     *
4391
-     * // With options
4392
-     * $redis->xClaim(
4393
-     *     'mystream', 'group1', 'myconsumer2', 0, $ids,
4394
-     *     [
4395
-     *         'IDLE' => time() * 1000,
4396
-     *         'RETRYCOUNT' => 5,
4397
-     *         'FORCE',
4398
-     *         'JUSTID'
4399
-     *     ]
4400
-     * );
4401
-     * </pre>
4402
-     */
4403
-    public function xClaim($key, $group, $consumer, $minIdleTime, $ids, $options = []) {}
4404
-
4405
-    /**
4406
-     * Delete one or more messages from a stream
4407
-     *
4408
-     * @param string $key
4409
-     * @param array  $ids
4410
-     *
4411
-     * @return int The number of messages removed
4412
-     *
4413
-     * @link    https://redis.io/commands/xdel
4414
-     * @example
4415
-     * <pre>
4416
-     * $redis->xDel('mystream', ['1530115304877-0', '1530115305731-0']);
4417
-     * </pre>
4418
-     */
4419
-    public function xDel($key, $ids) {}
4420
-
4421
-    /**
4422
-     * @param string $operation  e.g.: 'HELP', 'SETID', 'DELGROUP', 'CREATE', 'DELCONSUMER'
4423
-     * @param string $key
4424
-     * @param string $group
4425
-     * @param string $msgId
4426
-     * @param bool   $mkStream
4427
-     *
4428
-     * @return mixed This command returns different types depending on the specific XGROUP command executed.
4429
-     *
4430
-     * @link    https://redis.io/commands/xgroup
4431
-     * @example
4432
-     * <pre>
4433
-     * $redis->xGroup('CREATE', 'mystream', 'mygroup', 0);
4434
-     * $redis->xGroup('CREATE', 'mystream', 'mygroup', 0, true); // create stream
4435
-     * $redis->xGroup('DESTROY', 'mystream', 'mygroup');
4436
-     * </pre>
4437
-     */
4438
-    public function xGroup($operation, $key, $group, $msgId = '', $mkStream = false) {}
4439
-
4440
-    /**
4441
-     * Get information about a stream or consumer groups
4442
-     *
4443
-     * @param string $operation  e.g.: 'CONSUMERS', 'GROUPS', 'STREAM', 'HELP'
4444
-     * @param string $stream
4445
-     * @param string $group
4446
-     *
4447
-     * @return mixed This command returns different types depending on which subcommand is used.
4448
-     *
4449
-     * @link    https://redis.io/commands/xinfo
4450
-     * @example
4451
-     * <pre>
4452
-     * $redis->xInfo('STREAM', 'mystream');
4453
-     * </pre>
4454
-     */
4455
-    public function xInfo($operation, $stream, $group) {}
4456
-
4457
-    /**
4458
-     * Get the length of a given stream.
4459
-     *
4460
-     * @param string $stream
4461
-     *
4462
-     * @return int The number of messages in the stream.
4463
-     *
4464
-     * @link    https://redis.io/commands/xlen
4465
-     * @example
4466
-     * <pre>
4467
-     * $redis->xLen('mystream');
4468
-     * </pre>
4469
-     */
4470
-    public function xLen($stream) {}
4471
-
4472
-    /**
4473
-     * Get information about pending messages in a given stream
4474
-     *
4475
-     * @param string $stream
4476
-     * @param string $group
4477
-     * @param string $start
4478
-     * @param string $end
4479
-     * @param int    $count
4480
-     * @param string $consumer
4481
-     *
4482
-     * @return array Information about the pending messages, in various forms depending on
4483
-     * the specific invocation of XPENDING.
4484
-     *
4485
-     * @link https://redis.io/commands/xpending
4486
-     * @example
4487
-     * <pre>
4488
-     * $redis->xPending('mystream', 'mygroup');
4489
-     * $redis->xPending('mystream', 'mygroup', '-', '+', 1, 'consumer-1');
4490
-     * </pre>
4491
-     */
4492
-    public function xPending($stream, $group, $start = null, $end = null, $count = null, $consumer = null) {}
4493
-
4494
-    /**
4495
-     * Get a range of messages from a given stream
4496
-     *
4497
-     * @param string $stream
4498
-     * @param string $start
4499
-     * @param string $end
4500
-     * @param int    $count
4501
-     *
4502
-     * @return array The messages in the stream within the requested range.
4503
-     *
4504
-     * @link    https://redis.io/commands/xrange
4505
-     * @example
4506
-     * <pre>
4507
-     * // Get everything in this stream
4508
-     * $redis->xRange('mystream', '-', '+');
4509
-     * // Only the first two messages
4510
-     * $redis->xRange('mystream', '-', '+', 2);
4511
-     * </pre>
4512
-     */
4513
-    public function xRange($stream, $start, $end, $count = null) {}
4514
-
4515
-    /**
4516
-     * Read data from one or more streams and only return IDs greater than sent in the command.
4517
-     *
4518
-     * @param array      $streams
4519
-     * @param int|string $count
4520
-     * @param int|string $block
4521
-     *
4522
-     * @return array The messages in the stream newer than the IDs passed to Redis (if any)
4523
-     *
4524
-     * @link    https://redis.io/commands/xread
4525
-     * @example
4526
-     * <pre>
4527
-     * $redis->xRead(['stream1' => '1535222584555-0', 'stream2' => '1535222584555-0']);
4528
-     * </pre>
4529
-     */
4530
-    public function xRead($streams, $count = null, $block = null) {}
4531
-
4532
-    /**
4533
-     * This method is similar to xRead except that it supports reading messages for a specific consumer group.
4534
-     *
4535
-     * @param string   $group
4536
-     * @param string   $consumer
4537
-     * @param array    $streams
4538
-     * @param int|null $count
4539
-     * @param int|null $block
4540
-     *
4541
-     * @return array The messages delivered to this consumer group (if any).
4542
-     *
4543
-     * @link    https://redis.io/commands/xreadgroup
4544
-     * @example
4545
-     * <pre>
4546
-     * // Consume messages for 'mygroup', 'consumer1'
4547
-     * $redis->xReadGroup('mygroup', 'consumer1', ['s1' => 0, 's2' => 0]);
4548
-     * // Read a single message as 'consumer2' for up to a second until a message arrives.
4549
-     * $redis->xReadGroup('mygroup', 'consumer2', ['s1' => 0, 's2' => 0], 1, 1000);
4550
-     * </pre>
4551
-     */
4552
-    public function xReadGroup($group, $consumer, $streams, $count = null, $block = null) {}
4553
-
4554
-    /**
4555
-     * This is identical to xRange except the results come back in reverse order.
4556
-     * Also note that Redis reverses the order of "start" and "end".
4557
-     *
4558
-     * @param string $stream
4559
-     * @param string $end
4560
-     * @param string $start
4561
-     * @param int    $count
4562
-     *
4563
-     * @return array The messages in the range specified
4564
-     *
4565
-     * @link    https://redis.io/commands/xrevrange
4566
-     * @example
4567
-     * <pre>
4568
-     * $redis->xRevRange('mystream', '+', '-');
4569
-     * </pre>
4570
-     */
4571
-    public function xRevRange($stream, $end, $start, $count = null) {}
4572
-
4573
-    /**
4574
-     * Trim the stream length to a given maximum.
4575
-     * If the "approximate" flag is pasesed, Redis will use your size as a hint but only trim trees in whole nodes
4576
-     * (this is more efficient)
4577
-     *
4578
-     * @param string $stream
4579
-     * @param int    $maxLen
4580
-     * @param bool   $isApproximate
4581
-     *
4582
-     * @return int The number of messages trimed from the stream.
4583
-     *
4584
-     * @link    https://redis.io/commands/xtrim
4585
-     * @example
4586
-     * <pre>
4587
-     * // Trim to exactly 100 messages
4588
-     * $redis->xTrim('mystream', 100);
4589
-     * // Let Redis approximate the trimming
4590
-     * $redis->xTrim('mystream', 100, true);
4591
-     * </pre>
4592
-     */
4593
-    public function xTrim($stream, $maxLen, $isApproximate) {}
4594
-
4595
-    /**
4596
-     * Adds a values to the set value stored at key.
4597
-     *
4598
-     * @param string $key Required key
4599
-     * @param array  $values Required values
4600
-     *
4601
-     * @return  int|bool The number of elements added to the set.
4602
-     * If this value is already in the set, FALSE is returned
4603
-     *
4604
-     * @link    https://redis.io/commands/sadd
4605
-     * @link    https://github.com/phpredis/phpredis/commit/3491b188e0022f75b938738f7542603c7aae9077
4606
-     * @since   phpredis 2.2.8
4607
-     * @example
4608
-     * <pre>
4609
-     * $redis->sAddArray('k', array('v1'));                // boolean
4610
-     * $redis->sAddArray('k', array('v1', 'v2', 'v3'));    // boolean
4611
-     * </pre>
4612
-     */
4613
-    public function sAddArray($key, array $values) {}
13
+	public const AFTER = 'after';
14
+	public const BEFORE = 'before';
15
+
16
+	/**
17
+	 * Options
18
+	 */
19
+	public const OPT_SERIALIZER = 1;
20
+	public const OPT_PREFIX = 2;
21
+	public const OPT_READ_TIMEOUT = 3;
22
+	public const OPT_SCAN = 4;
23
+	public const OPT_FAILOVER = 5;
24
+	public const OPT_TCP_KEEPALIVE = 6;
25
+	public const OPT_COMPRESSION = 7;
26
+	public const OPT_REPLY_LITERAL = 8;
27
+	public const OPT_COMPRESSION_LEVEL = 9;
28
+
29
+	/**
30
+	 * Cluster options
31
+	 */
32
+	public const FAILOVER_NONE = 0;
33
+	public const FAILOVER_ERROR = 1;
34
+	public const FAILOVER_DISTRIBUTE = 2;
35
+	public const FAILOVER_DISTRIBUTE_SLAVES = 3;
36
+
37
+	/**
38
+	 * SCAN options
39
+	 */
40
+	public const SCAN_NORETRY = 0;
41
+	public const SCAN_RETRY = 1;
42
+
43
+	/**
44
+	 * @since 5.3.0
45
+	 */
46
+	public const SCAN_PREFIX = 2;
47
+
48
+	/**
49
+	 * @since 5.3.0
50
+	 */
51
+	public const SCAN_NOPREFIX = 3;
52
+
53
+	/**
54
+	 * Serializers
55
+	 */
56
+	public const SERIALIZER_NONE = 0;
57
+	public const SERIALIZER_PHP = 1;
58
+	public const SERIALIZER_IGBINARY = 2;
59
+	public const SERIALIZER_MSGPACK = 3;
60
+	public const SERIALIZER_JSON = 4;
61
+
62
+	/**
63
+	 * Compressions
64
+	 */
65
+	public const COMPRESSION_NONE = 0;
66
+	public const COMPRESSION_LZF = 1;
67
+	public const COMPRESSION_ZSTD = 2;
68
+	public const COMPRESSION_LZ4 = 3;
69
+
70
+	/**
71
+	 * Compression ZSTD levels
72
+	 */
73
+	public const COMPRESSION_ZSTD_MIN = 1;
74
+	public const COMPRESSION_ZSTD_DEFAULT = 3;
75
+	public const COMPRESSION_ZSTD_MAX = 22;
76
+
77
+	/**
78
+	 * Multi
79
+	 */
80
+	public const ATOMIC = 0;
81
+	public const MULTI = 1;
82
+	public const PIPELINE = 2;
83
+
84
+	/**
85
+	 * Type
86
+	 */
87
+	public const REDIS_NOT_FOUND = 0;
88
+	public const REDIS_STRING = 1;
89
+	public const REDIS_SET = 2;
90
+	public const REDIS_LIST = 3;
91
+	public const REDIS_ZSET = 4;
92
+	public const REDIS_HASH = 5;
93
+	public const REDIS_STREAM = 6;
94
+
95
+	/**
96
+	 * Creates a Redis client
97
+	 *
98
+	 * @example $redis = new Redis();
99
+	 */
100
+	public function __construct() {}
101
+
102
+	/**
103
+	 * Connects to a Redis instance.
104
+	 *
105
+	 * @param string $host          can be a host, or the path to a unix domain socket
106
+	 * @param int    $port          optional
107
+	 * @param float  $timeout       value in seconds (optional, default is 0.0 meaning unlimited)
108
+	 * @param null   $reserved      should be null if $retryInterval is specified
109
+	 * @param int    $retryInterval retry interval in milliseconds.
110
+	 * @param float  $readTimeout   value in seconds (optional, default is 0 meaning unlimited)
111
+	 *
112
+	 * @return bool TRUE on success, FALSE on error
113
+	 *
114
+	 * @example
115
+	 * <pre>
116
+	 * $redis->connect('127.0.0.1', 6379);
117
+	 * $redis->connect('127.0.0.1');            // port 6379 by default
118
+	 * $redis->connect('127.0.0.1', 6379, 2.5); // 2.5 sec timeout.
119
+	 * $redis->connect('/tmp/redis.sock');      // unix domain socket.
120
+	 * </pre>
121
+	 */
122
+	public function connect(
123
+		$host,
124
+		$port = 6379,
125
+		$timeout = 0.0,
126
+		$reserved = null,
127
+		$retryInterval = 0,
128
+		$readTimeout = 0.0
129
+	) {}
130
+
131
+	/**
132
+	 * Connects to a Redis instance.
133
+	 *
134
+	 * @param string $host          can be a host, or the path to a unix domain socket
135
+	 * @param int    $port          optional
136
+	 * @param float  $timeout       value in seconds (optional, default is 0.0 meaning unlimited)
137
+	 * @param null   $reserved      should be null if $retry_interval is specified
138
+	 * @param int    $retryInterval retry interval in milliseconds.
139
+	 * @param float  $readTimeout   value in seconds (optional, default is 0 meaning unlimited)
140
+	 *
141
+	 * @return bool TRUE on success, FALSE on error
142
+	 */
143
+	#[Deprecated(replacement: '%class%->connect(%parametersList%)')]
144
+	public function open(
145
+		$host,
146
+		$port = 6379,
147
+		$timeout = 0.0,
148
+		$reserved = null,
149
+		$retryInterval = 0,
150
+		$readTimeout = 0.0
151
+	) {}
152
+
153
+	/**
154
+	 * A method to determine if a phpredis object thinks it's connected to a server
155
+	 *
156
+	 * @return bool Returns TRUE if phpredis thinks it's connected and FALSE if not
157
+	 */
158
+	public function isConnected() {}
159
+
160
+	/**
161
+	 * Retrieve our host or unix socket that we're connected to
162
+	 *
163
+	 * @return string|false The host or unix socket we're connected to or FALSE if we're not connected
164
+	 */
165
+	public function getHost() {}
166
+
167
+	/**
168
+	 * Get the port we're connected to
169
+	 *
170
+	 * @return int|false Returns the port we're connected to or FALSE if we're not connected
171
+	 */
172
+	public function getPort() {}
173
+
174
+	/**
175
+	 * Get the database number phpredis is pointed to
176
+	 *
177
+	 * @return int|bool Returns the database number (int) phpredis thinks it's pointing to
178
+	 * or FALSE if we're not connected
179
+	 */
180
+	public function getDbNum() {}
181
+
182
+	/**
183
+	 * Get the (write) timeout in use for phpredis
184
+	 *
185
+	 * @return float|false The timeout (DOUBLE) specified in our connect call or FALSE if we're not connected
186
+	 */
187
+	public function getTimeout() {}
188
+
189
+	/**
190
+	 * Get the read timeout specified to phpredis or FALSE if we're not connected
191
+	 *
192
+	 * @return float|bool Returns the read timeout (which can be set using setOption and Redis::OPT_READ_TIMEOUT)
193
+	 * or FALSE if we're not connected
194
+	 */
195
+	public function getReadTimeout() {}
196
+
197
+	/**
198
+	 * Gets the persistent ID that phpredis is using
199
+	 *
200
+	 * @return string|null|bool Returns the persistent id phpredis is using
201
+	 * (which will only be set if connected with pconnect),
202
+	 * NULL if we're not using a persistent ID,
203
+	 * and FALSE if we're not connected
204
+	 */
205
+	public function getPersistentID() {}
206
+
207
+	/**
208
+	 * Get the password used to authenticate the phpredis connection
209
+	 *
210
+	 * @return string|null|bool Returns the password used to authenticate a phpredis session or NULL if none was used,
211
+	 * and FALSE if we're not connected
212
+	 */
213
+	public function getAuth() {}
214
+
215
+	/**
216
+	 * Connects to a Redis instance or reuse a connection already established with pconnect/popen.
217
+	 *
218
+	 * The connection will not be closed on close or end of request until the php process ends.
219
+	 * So be patient on to many open FD's (specially on redis server side) when using persistent connections on
220
+	 * many servers connecting to one redis server.
221
+	 *
222
+	 * Also more than one persistent connection can be made identified by either host + port + timeout
223
+	 * or host + persistentId or unix socket + timeout.
224
+	 *
225
+	 * This feature is not available in threaded versions. pconnect and popen then working like their non persistent
226
+	 * equivalents.
227
+	 *
228
+	 * @param string $host          can be a host, or the path to a unix domain socket
229
+	 * @param int    $port          optional
230
+	 * @param float  $timeout       value in seconds (optional, default is 0 meaning unlimited)
231
+	 * @param string $persistentId  identity for the requested persistent connection
232
+	 * @param int    $retryInterval retry interval in milliseconds.
233
+	 * @param float  $readTimeout   value in seconds (optional, default is 0 meaning unlimited)
234
+	 *
235
+	 * @return bool TRUE on success, FALSE on ertcnror.
236
+	 *
237
+	 * @example
238
+	 * <pre>
239
+	 * $redis->pconnect('127.0.0.1', 6379);
240
+	 *
241
+	 * // port 6379 by default - same connection like before
242
+	 * $redis->pconnect('127.0.0.1');
243
+	 *
244
+	 * // 2.5 sec timeout and would be another connection than the two before.
245
+	 * $redis->pconnect('127.0.0.1', 6379, 2.5);
246
+	 *
247
+	 * // x is sent as persistent_id and would be another connection than the three before.
248
+	 * $redis->pconnect('127.0.0.1', 6379, 2.5, 'x');
249
+	 *
250
+	 * // unix domain socket - would be another connection than the four before.
251
+	 * $redis->pconnect('/tmp/redis.sock');
252
+	 * </pre>
253
+	 */
254
+	public function pconnect(
255
+		$host,
256
+		$port = 6379,
257
+		$timeout = 0.0,
258
+		$persistentId = null,
259
+		$retryInterval = 0,
260
+		$readTimeout = 0.0
261
+	) {}
262
+
263
+	/**
264
+	 * @param string $host
265
+	 * @param int    $port
266
+	 * @param float  $timeout
267
+	 * @param string $persistentId
268
+	 * @param int    $retryInterval
269
+	 * @param float  $readTimeout
270
+	 *
271
+	 * @return bool
272
+	 */
273
+	#[Deprecated(replacement: '%class%->pconnect(%parametersList%)')]
274
+	public function popen(
275
+		$host,
276
+		$port = 6379,
277
+		$timeout = 0.0,
278
+		$persistentId = '',
279
+		$retryInterval = 0,
280
+		$readTimeout = 0.0
281
+	) {}
282
+
283
+	/**
284
+	 * Disconnects from the Redis instance.
285
+	 *
286
+	 * Note: Closing a persistent connection requires PhpRedis >= 4.2.0
287
+	 *
288
+	 * @since >= 4.2 Closing a persistent connection requires PhpRedis
289
+	 *
290
+	 * @return bool TRUE on success, FALSE on error
291
+	 */
292
+	public function close() {}
293
+
294
+	/**
295
+	 * Swap one Redis database with another atomically
296
+	 *
297
+	 * Note: Requires Redis >= 4.0.0
298
+	 *
299
+	 * @param int $db1
300
+	 * @param int $db2
301
+	 *
302
+	 * @return bool TRUE on success and FALSE on failure
303
+	 *
304
+	 * @link https://redis.io/commands/swapdb
305
+	 * @since >= 4.0
306
+	 * @example
307
+	 * <pre>
308
+	 * // Swaps DB 0 with DB 1 atomically
309
+	 * $redis->swapdb(0, 1);
310
+	 * </pre>
311
+	 */
312
+	public function swapdb(int $db1, int $db2) {}
313
+
314
+	/**
315
+	 * Set client option
316
+	 *
317
+	 * @param int   $option option name
318
+	 * @param mixed $value  option value
319
+	 *
320
+	 * @return bool TRUE on success, FALSE on error
321
+	 *
322
+	 * @example
323
+	 * <pre>
324
+	 * $redis->setOption(Redis::OPT_SERIALIZER, Redis::SERIALIZER_NONE);        // don't serialize data
325
+	 * $redis->setOption(Redis::OPT_SERIALIZER, Redis::SERIALIZER_PHP);         // use built-in serialize/unserialize
326
+	 * $redis->setOption(Redis::OPT_SERIALIZER, Redis::SERIALIZER_IGBINARY);    // use igBinary serialize/unserialize
327
+	 * $redis->setOption(Redis::OPT_SERIALIZER, Redis::SERIALIZER_MSGPACK);     // Use msgpack serialize/unserialize
328
+	 * $redis->setOption(Redis::OPT_SERIALIZER, Redis::SERIALIZER_JSON);        // Use json serialize/unserialize
329
+	 *
330
+	 * $redis->setOption(Redis::OPT_PREFIX, 'myAppName:');                      // use custom prefix on all keys
331
+	 *
332
+	 * // Options for the SCAN family of commands, indicating whether to abstract
333
+	 * // empty results from the user.  If set to SCAN_NORETRY (the default), phpredis
334
+	 * // will just issue one SCAN command at a time, sometimes returning an empty
335
+	 * // array of results.  If set to SCAN_RETRY, phpredis will retry the scan command
336
+	 * // until keys come back OR Redis returns an iterator of zero
337
+	 * $redis->setOption(Redis::OPT_SCAN, Redis::SCAN_NORETRY);
338
+	 * $redis->setOption(Redis::OPT_SCAN, Redis::SCAN_RETRY);
339
+	 * </pre>
340
+	 */
341
+	public function setOption($option, $value) {}
342
+
343
+	/**
344
+	 * Get client option
345
+	 *
346
+	 * @param int $option parameter name
347
+	 *
348
+	 * @return mixed|null Parameter value
349
+	 *
350
+	 * @see setOption()
351
+	 * @example
352
+	 * // return option value
353
+	 * $redis->getOption(Redis::OPT_SERIALIZER);
354
+	 */
355
+	public function getOption($option) {}
356
+
357
+	/**
358
+	 * Check the current connection status
359
+	 *
360
+	 * @param string $message [optional]
361
+	 *
362
+	 * @return bool|string TRUE if the command is successful or returns message
363
+	 * Throws a RedisException object on connectivity error, as described above.
364
+	 * @throws RedisException
365
+	 * @link    https://redis.io/commands/ping
366
+	 */
367
+	public function ping($message = null) {}
368
+
369
+	/**
370
+	 * Echo the given string
371
+	 *
372
+	 * @param string $message
373
+	 *
374
+	 * @return string Returns message
375
+	 *
376
+	 * @link    https://redis.io/commands/echo
377
+	 */
378
+	public function echo($message) {}
379
+
380
+	/**
381
+	 * Get the value related to the specified key
382
+	 *
383
+	 * @param string $key
384
+	 *
385
+	 * @return string|mixed|false If key didn't exist, FALSE is returned.
386
+	 * Otherwise, the value related to this key is returned
387
+	 *
388
+	 * @link    https://redis.io/commands/get
389
+	 * @example
390
+	 * <pre>
391
+	 * $redis->set('key', 'hello');
392
+	 * $redis->get('key');
393
+	 *
394
+	 * // set and get with serializer
395
+	 * $redis->setOption(Redis::OPT_SERIALIZER, Redis::SERIALIZER_JSON);
396
+	 *
397
+	 * $redis->set('key', ['asd' => 'as', 'dd' => 123, 'b' => true]);
398
+	 * var_dump($redis->get('key'));
399
+	 * // Output:
400
+	 * array(3) {
401
+	 *  'asd' => string(2) "as"
402
+	 *  'dd' => int(123)
403
+	 *  'b' => bool(true)
404
+	 * }
405
+	 * </pre>
406
+	 */
407
+	public function get($key) {}
408
+
409
+	/**
410
+	 * Set the string value in argument as value of the key.
411
+	 *
412
+	 * @since If you're using Redis >= 2.6.12, you can pass extended options as explained in example
413
+	 *
414
+	 * @param string       $key
415
+	 * @param string|mixed $value string if not used serializer
416
+	 * @param int|array    $timeout [optional] Calling setEx() is preferred if you want a timeout.<br>
417
+	 * Since 2.6.12 it also supports different flags inside an array. Example ['NX', 'EX' => 60]<br>
418
+	 *  - EX seconds -- Set the specified expire time, in seconds.<br>
419
+	 *  - PX milliseconds -- Set the specified expire time, in milliseconds.<br>
420
+	 *  - NX -- Only set the key if it does not already exist.<br>
421
+	 *  - XX -- Only set the key if it already exist.<br>
422
+	 * <pre>
423
+	 * // Simple key -> value set
424
+	 * $redis->set('key', 'value');
425
+	 *
426
+	 * // Will redirect, and actually make an SETEX call
427
+	 * $redis->set('key','value', 10);
428
+	 *
429
+	 * // Will set the key, if it doesn't exist, with a ttl of 10 seconds
430
+	 * $redis->set('key', 'value', ['nx', 'ex' => 10]);
431
+	 *
432
+	 * // Will set a key, if it does exist, with a ttl of 1000 milliseconds
433
+	 * $redis->set('key', 'value', ['xx', 'px' => 1000]);
434
+	 * </pre>
435
+	 *
436
+	 * @return bool TRUE if the command is successful
437
+	 *
438
+	 * @link     https://redis.io/commands/set
439
+	 */
440
+	public function set($key, $value, $timeout = null) {}
441
+
442
+	/**
443
+	 * Set the string value in argument as value of the key, with a time to live.
444
+	 *
445
+	 * @param string       $key
446
+	 * @param int          $ttl
447
+	 * @param string|mixed $value
448
+	 *
449
+	 * @return bool TRUE if the command is successful
450
+	 *
451
+	 * @link    https://redis.io/commands/setex
452
+	 * @example $redis->setEx('key', 3600, 'value'); // sets key → value, with 1h TTL.
453
+	 */
454
+	public function setEx($key, $ttl, $value) {}
455
+
456
+	/**
457
+	 * Set the value and expiration in milliseconds of a key.
458
+	 *
459
+	 * @see     setEx()
460
+	 * @param   string       $key
461
+	 * @param   int          $ttl in milliseconds.
462
+	 * @param   string|mixed $value
463
+	 *
464
+	 * @return bool TRUE if the command is successful
465
+	 *
466
+	 * @link    https://redis.io/commands/psetex
467
+	 * @example $redis->pSetEx('key', 1000, 'value'); // sets key → value, with 1sec TTL.
468
+	 */
469
+	public function pSetEx($key, $ttl, $value) {}
470
+
471
+	/**
472
+	 * Set the string value in argument as value of the key if the key doesn't already exist in the database.
473
+	 *
474
+	 * @param string       $key
475
+	 * @param string|mixed $value
476
+	 *
477
+	 * @return bool TRUE in case of success, FALSE in case of failure
478
+	 *
479
+	 * @link    https://redis.io/commands/setnx
480
+	 * @example
481
+	 * <pre>
482
+	 * $redis->setNx('key', 'value');   // return TRUE
483
+	 * $redis->setNx('key', 'value');   // return FALSE
484
+	 * </pre>
485
+	 */
486
+	public function setNx($key, $value) {}
487
+
488
+	/**
489
+	 * Remove specified keys.
490
+	 *
491
+	 * @param   int|string|array $key1 An array of keys, or an undefined number of parameters, each a key: key1 key2 key3 ... keyN
492
+	 * @param   int|string       ...$otherKeys
493
+	 *
494
+	 * @return int Number of keys deleted
495
+	 *
496
+	 * @link https://redis.io/commands/del
497
+	 * @example
498
+	 * <pre>
499
+	 * $redis->set('key1', 'val1');
500
+	 * $redis->set('key2', 'val2');
501
+	 * $redis->set('key3', 'val3');
502
+	 * $redis->set('key4', 'val4');
503
+	 *
504
+	 * $redis->del('key1', 'key2');     // return 2
505
+	 * $redis->del(['key3', 'key4']);   // return 2
506
+	 * </pre>
507
+	 */
508
+	public function del($key1, ...$otherKeys) {}
509
+
510
+	/**
511
+	 * @param   string|string[] $key1
512
+	 * @param   string          $key2
513
+	 * @param   string          $key3
514
+	 *
515
+	 * @return int Number of keys deleted
516
+	 */
517
+	#[Deprecated(replacement: "%class%->del(%parametersList%)")]
518
+	public function delete($key1, $key2 = null, $key3 = null) {}
519
+
520
+	/**
521
+	 * Delete a key asynchronously in another thread. Otherwise it is just as DEL, but non blocking.
522
+	 *
523
+	 * @see del()
524
+	 * @param string|string[] $key1
525
+	 * @param string          $key2
526
+	 * @param string          $key3
527
+	 *
528
+	 * @return int Number of keys unlinked.
529
+	 *
530
+	 * @link    https://redis.io/commands/unlink
531
+	 * @example
532
+	 * <pre>
533
+	 * $redis->set('key1', 'val1');
534
+	 * $redis->set('key2', 'val2');
535
+	 * $redis->set('key3', 'val3');
536
+	 * $redis->set('key4', 'val4');
537
+	 * $redis->unlink('key1', 'key2');          // return 2
538
+	 * $redis->unlink(array('key3', 'key4'));   // return 2
539
+	 * </pre>
540
+	 */
541
+	public function unlink($key1, $key2 = null, $key3 = null) {}
542
+
543
+	/**
544
+	 * Enter and exit transactional mode.
545
+	 *
546
+	 * @param int $mode Redis::MULTI|Redis::PIPELINE
547
+	 * Defaults to Redis::MULTI.
548
+	 * A Redis::MULTI block of commands runs as a single transaction;
549
+	 * a Redis::PIPELINE block is simply transmitted faster to the server, but without any guarantee of atomicity.
550
+	 * discard cancels a transaction.
551
+	 *
552
+	 * @return static returns the Redis instance and enters multi-mode.
553
+	 * Once in multi-mode, all subsequent method calls return the same object until exec() is called.
554
+	 *
555
+	 * @link    https://redis.io/commands/multi
556
+	 * @example
557
+	 * <pre>
558
+	 * $ret = $redis->multi()
559
+	 *      ->set('key1', 'val1')
560
+	 *      ->get('key1')
561
+	 *      ->set('key2', 'val2')
562
+	 *      ->get('key2')
563
+	 *      ->exec();
564
+	 *
565
+	 * //$ret == array (
566
+	 * //    0 => TRUE,
567
+	 * //    1 => 'val1',
568
+	 * //    2 => TRUE,
569
+	 * //    3 => 'val2');
570
+	 * </pre>
571
+	 */
572
+	public function multi($mode = Redis::MULTI) {}
573
+
574
+	/**
575
+	 * Returns a Redis instance which can simply transmitted faster to the server.
576
+	 *
577
+	 * @return Redis returns the Redis instance.
578
+	 * Once in pipeline-mode, all subsequent method calls return the same object until exec() is called.
579
+	 * Pay attention, that Pipeline is not a transaction, so you can get unexpected
580
+	 * results in case of big pipelines and small read/write timeouts.
581
+	 *
582
+	 * @link   https://redis.io/topics/pipelining
583
+	 * @example
584
+	 * <pre>
585
+	 * $ret = $this->redis->pipeline()
586
+	 *      ->ping()
587
+	 *      ->multi()->set('x', 42)->incr('x')->exec()
588
+	 *      ->ping()
589
+	 *      ->multi()->get('x')->del('x')->exec()
590
+	 *      ->ping()
591
+	 *      ->exec();
592
+	 *
593
+	 * //$ret == array (
594
+	 * //    0 => '+PONG',
595
+	 * //    1 => [TRUE, 43],
596
+	 * //    2 => '+PONG',
597
+	 * //    3 => [43, 1],
598
+	 * //    4 => '+PONG');
599
+	 * </pre>
600
+	 */
601
+	public function pipeline() {}
602
+
603
+	/**
604
+	 * @return void|array
605
+	 *
606
+	 * @see multi()
607
+	 * @link https://redis.io/commands/exec
608
+	 */
609
+	public function exec() {}
610
+
611
+	/**
612
+	 * @see multi()
613
+	 * @link https://redis.io/commands/discard
614
+	 */
615
+	public function discard() {}
616
+
617
+	/**
618
+	 * Watches a key for modifications by another client. If the key is modified between WATCH and EXEC,
619
+	 * the MULTI/EXEC transaction will fail (return FALSE). unwatch cancels all the watching of all keys by this client.
620
+	 * @param string|string[] $key a list of keys
621
+	 *
622
+	 * @return void
623
+	 *
624
+	 * @link    https://redis.io/commands/watch
625
+	 * @example
626
+	 * <pre>
627
+	 * $redis->watch('x');
628
+	 * // long code here during the execution of which other clients could well modify `x`
629
+	 * $ret = $redis->multi()
630
+	 *          ->incr('x')
631
+	 *          ->exec();
632
+	 * // $ret = FALSE if x has been modified between the call to WATCH and the call to EXEC.
633
+	 * </pre>
634
+	 */
635
+	public function watch($key) {}
636
+
637
+	/**
638
+	 * @see watch()
639
+	 * @link    https://redis.io/commands/unwatch
640
+	 */
641
+	public function unwatch() {}
642
+
643
+	/**
644
+	 * Subscribe to channels.
645
+	 *
646
+	 * Warning: this function will probably change in the future.
647
+	 *
648
+	 * @param string[]     $channels an array of channels to subscribe
649
+	 * @param string|array $callback either a string or an array($instance, 'method_name').
650
+	 * The callback function receives 3 parameters: the redis instance, the channel name, and the message.
651
+	 *
652
+	 * @return mixed|null Any non-null return value in the callback will be returned to the caller.
653
+	 *
654
+	 * @link    https://redis.io/commands/subscribe
655
+	 * @example
656
+	 * <pre>
657
+	 * function f($redis, $chan, $msg) {
658
+	 *  switch($chan) {
659
+	 *      case 'chan-1':
660
+	 *          ...
661
+	 *          break;
662
+	 *
663
+	 *      case 'chan-2':
664
+	 *                     ...
665
+	 *          break;
666
+	 *
667
+	 *      case 'chan-2':
668
+	 *          ...
669
+	 *          break;
670
+	 *      }
671
+	 * }
672
+	 *
673
+	 * $redis->subscribe(array('chan-1', 'chan-2', 'chan-3'), 'f'); // subscribe to 3 chans
674
+	 * </pre>
675
+	 */
676
+	public function subscribe($channels, $callback) {}
677
+
678
+	/**
679
+	 * Subscribe to channels by pattern
680
+	 *
681
+	 * @param array        $patterns   an array of glob-style patterns to subscribe
682
+	 * @param string|array $callback   Either a string or an array with an object and method.
683
+	 *                     The callback will get four arguments ($redis, $pattern, $channel, $message)
684
+	 * @return mixed       Any non-null return value in the callback will be returned to the caller
685
+	 *
686
+	 * @link    https://redis.io/commands/psubscribe
687
+	 * @example
688
+	 * <pre>
689
+	 * function psubscribe($redis, $pattern, $chan, $msg) {
690
+	 *  echo "Pattern: $pattern\n";
691
+	 *  echo "Channel: $chan\n";
692
+	 *  echo "Payload: $msg\n";
693
+	 * }
694
+	 * </pre>
695
+	 */
696
+	public function psubscribe($patterns, $callback) {}
697
+
698
+	/**
699
+	 * Publish messages to channels.
700
+	 *
701
+	 * Warning: this function will probably change in the future.
702
+	 *
703
+	 * @param string $channel a channel to publish to
704
+	 * @param string $message string
705
+	 *
706
+	 * @return int Number of clients that received the message
707
+	 *
708
+	 * @link    https://redis.io/commands/publish
709
+	 * @example $redis->publish('chan-1', 'hello, world!'); // send message.
710
+	 */
711
+	public function publish($channel, $message) {}
712
+
713
+	/**
714
+	 * A command allowing you to get information on the Redis pub/sub system
715
+	 *
716
+	 * @param string       $keyword    String, which can be: "channels", "numsub", or "numpat"
717
+	 * @param string|array $argument   Optional, variant.
718
+	 *                                 For the "channels" subcommand, you can pass a string pattern.
719
+	 *                                 For "numsub" an array of channel names
720
+	 *
721
+	 * @return array|int Either an integer or an array.
722
+	 *   - channels  Returns an array where the members are the matching channels.
723
+	 *   - numsub    Returns a key/value array where the keys are channel names and
724
+	 *               values are their counts.
725
+	 *   - numpat    Integer return containing the number active pattern subscriptions
726
+	 *
727
+	 * @link    https://redis.io/commands/pubsub
728
+	 * @example
729
+	 * <pre>
730
+	 * $redis->pubsub('channels'); // All channels
731
+	 * $redis->pubsub('channels', '*pattern*'); // Just channels matching your pattern
732
+	 * $redis->pubsub('numsub', array('chan1', 'chan2')); // Get subscriber counts for 'chan1' and 'chan2'
733
+	 * $redis->pubsub('numpat'); // Get the number of pattern subscribers
734
+	 * </pre>
735
+	 */
736
+	public function pubsub($keyword, $argument) {}
737
+
738
+	/**
739
+	 * Stop listening for messages posted to the given channels.
740
+	 *
741
+	 * @param array $channels an array of channels to usubscribe
742
+	 *
743
+	 * @link    https://redis.io/commands/unsubscribe
744
+	 */
745
+	public function unsubscribe($channels = null) {}
746
+
747
+	/**
748
+	 * Stop listening for messages posted to the given channels.
749
+	 *
750
+	 * @param array $patterns   an array of glob-style patterns to unsubscribe
751
+	 *
752
+	 * @link https://redis.io/commands/punsubscribe
753
+	 */
754
+	public function punsubscribe($patterns = null) {}
755
+
756
+	/**
757
+	 * Verify if the specified key/keys exists
758
+	 *
759
+	 * This function took a single argument and returned TRUE or FALSE in phpredis versions < 4.0.0.
760
+	 *
761
+	 * @since >= 4.0 Returned int, if < 4.0 returned bool
762
+	 *
763
+	 * @param string|string[] $key
764
+	 *
765
+	 * @return int|bool The number of keys tested that do exist
766
+	 *
767
+	 * @link https://redis.io/commands/exists
768
+	 * @link https://github.com/phpredis/phpredis#exists
769
+	 * @example
770
+	 * <pre>
771
+	 * $redis->exists('key'); // 1
772
+	 * $redis->exists('NonExistingKey'); // 0
773
+	 *
774
+	 * $redis->mset(['foo' => 'foo', 'bar' => 'bar', 'baz' => 'baz']);
775
+	 * $redis->exists(['foo', 'bar', 'baz]); // 3
776
+	 * $redis->exists('foo', 'bar', 'baz'); // 3
777
+	 * </pre>
778
+	 */
779
+	public function exists($key) {}
780
+
781
+	/**
782
+	 * Increment the number stored at key by one.
783
+	 *
784
+	 * @param   string $key
785
+	 *
786
+	 * @return int the new value
787
+	 *
788
+	 * @link    https://redis.io/commands/incr
789
+	 * @example
790
+	 * <pre>
791
+	 * $redis->incr('key1'); // key1 didn't exists, set to 0 before the increment and now has the value 1
792
+	 * $redis->incr('key1'); // 2
793
+	 * $redis->incr('key1'); // 3
794
+	 * $redis->incr('key1'); // 4
795
+	 * </pre>
796
+	 */
797
+	public function incr($key) {}
798
+
799
+	/**
800
+	 * Increment the float value of a key by the given amount
801
+	 *
802
+	 * @param string $key
803
+	 * @param float  $increment
804
+	 *
805
+	 * @return float
806
+	 *
807
+	 * @link    https://redis.io/commands/incrbyfloat
808
+	 * @example
809
+	 * <pre>
810
+	 * $redis->set('x', 3);
811
+	 * $redis->incrByFloat('x', 1.5);   // float(4.5)
812
+	 * $redis->get('x');                // float(4.5)
813
+	 * </pre>
814
+	 */
815
+	public function incrByFloat($key, $increment) {}
816
+
817
+	/**
818
+	 * Increment the number stored at key by one.
819
+	 * If the second argument is filled, it will be used as the integer value of the increment.
820
+	 *
821
+	 * @param string $key   key
822
+	 * @param int    $value value that will be added to key (only for incrBy)
823
+	 *
824
+	 * @return int the new value
825
+	 *
826
+	 * @link    https://redis.io/commands/incrby
827
+	 * @example
828
+	 * <pre>
829
+	 * $redis->incr('key1');        // key1 didn't exists, set to 0 before the increment and now has the value 1
830
+	 * $redis->incr('key1');        // 2
831
+	 * $redis->incr('key1');        // 3
832
+	 * $redis->incr('key1');        // 4
833
+	 * $redis->incrBy('key1', 10);  // 14
834
+	 * </pre>
835
+	 */
836
+	public function incrBy($key, $value) {}
837
+
838
+	/**
839
+	 * Decrement the number stored at key by one.
840
+	 *
841
+	 * @param string $key
842
+	 *
843
+	 * @return int the new value
844
+	 *
845
+	 * @link    https://redis.io/commands/decr
846
+	 * @example
847
+	 * <pre>
848
+	 * $redis->decr('key1'); // key1 didn't exists, set to 0 before the increment and now has the value -1
849
+	 * $redis->decr('key1'); // -2
850
+	 * $redis->decr('key1'); // -3
851
+	 * </pre>
852
+	 */
853
+	public function decr($key) {}
854
+
855
+	/**
856
+	 * Decrement the number stored at key by one.
857
+	 * If the second argument is filled, it will be used as the integer value of the decrement.
858
+	 *
859
+	 * @param string $key
860
+	 * @param int    $value  that will be subtracted to key (only for decrBy)
861
+	 *
862
+	 * @return int the new value
863
+	 *
864
+	 * @link    https://redis.io/commands/decrby
865
+	 * @example
866
+	 * <pre>
867
+	 * $redis->decr('key1');        // key1 didn't exists, set to 0 before the increment and now has the value -1
868
+	 * $redis->decr('key1');        // -2
869
+	 * $redis->decr('key1');        // -3
870
+	 * $redis->decrBy('key1', 10);  // -13
871
+	 * </pre>
872
+	 */
873
+	public function decrBy($key, $value) {}
874
+
875
+	/**
876
+	 * Adds the string values to the head (left) of the list.
877
+	 * Creates the list if the key didn't exist.
878
+	 * If the key exists and is not a list, FALSE is returned.
879
+	 *
880
+	 * @param string $key
881
+	 * @param string|mixed ...$value1 Variadic list of values to push in key, if dont used serialized, used string
882
+	 *
883
+	 * @return int|false The new length of the list in case of success, FALSE in case of Failure
884
+	 *
885
+	 * @link https://redis.io/commands/lpush
886
+	 * @example
887
+	 * <pre>
888
+	 * $redis->lPush('l', 'v1', 'v2', 'v3', 'v4')   // int(4)
889
+	 * var_dump( $redis->lRange('l', 0, -1) );
890
+	 * // Output:
891
+	 * // array(4) {
892
+	 * //   [0]=> string(2) "v4"
893
+	 * //   [1]=> string(2) "v3"
894
+	 * //   [2]=> string(2) "v2"
895
+	 * //   [3]=> string(2) "v1"
896
+	 * // }
897
+	 * </pre>
898
+	 */
899
+	public function lPush($key, ...$value1) {}
900
+
901
+	/**
902
+	 * Adds the string values to the tail (right) of the list.
903
+	 * Creates the list if the key didn't exist.
904
+	 * If the key exists and is not a list, FALSE is returned.
905
+	 *
906
+	 * @param string $key
907
+	 * @param string|mixed ...$value1 Variadic list of values to push in key, if dont used serialized, used string
908
+	 *
909
+	 * @return int|false The new length of the list in case of success, FALSE in case of Failure
910
+	 *
911
+	 * @link    https://redis.io/commands/rpush
912
+	 * @example
913
+	 * <pre>
914
+	 * $redis->rPush('l', 'v1', 'v2', 'v3', 'v4');    // int(4)
915
+	 * var_dump( $redis->lRange('l', 0, -1) );
916
+	 * // Output:
917
+	 * // array(4) {
918
+	 * //   [0]=> string(2) "v1"
919
+	 * //   [1]=> string(2) "v2"
920
+	 * //   [2]=> string(2) "v3"
921
+	 * //   [3]=> string(2) "v4"
922
+	 * // }
923
+	 * </pre>
924
+	 */
925
+	public function rPush($key, ...$value1) {}
926
+
927
+	/**
928
+	 * Adds the string value to the head (left) of the list if the list exists.
929
+	 *
930
+	 * @param string $key
931
+	 * @param string|mixed $value String, value to push in key
932
+	 *
933
+	 * @return int|false The new length of the list in case of success, FALSE in case of Failure.
934
+	 *
935
+	 * @link    https://redis.io/commands/lpushx
936
+	 * @example
937
+	 * <pre>
938
+	 * $redis->del('key1');
939
+	 * $redis->lPushx('key1', 'A');     // returns 0
940
+	 * $redis->lPush('key1', 'A');      // returns 1
941
+	 * $redis->lPushx('key1', 'B');     // returns 2
942
+	 * $redis->lPushx('key1', 'C');     // returns 3
943
+	 * // key1 now points to the following list: [ 'A', 'B', 'C' ]
944
+	 * </pre>
945
+	 */
946
+	public function lPushx($key, $value) {}
947
+
948
+	/**
949
+	 * Adds the string value to the tail (right) of the list if the ist exists. FALSE in case of Failure.
950
+	 *
951
+	 * @param string $key
952
+	 * @param string|mixed $value String, value to push in key
953
+	 *
954
+	 * @return int|false The new length of the list in case of success, FALSE in case of Failure.
955
+	 *
956
+	 * @link    https://redis.io/commands/rpushx
957
+	 * @example
958
+	 * <pre>
959
+	 * $redis->del('key1');
960
+	 * $redis->rPushx('key1', 'A'); // returns 0
961
+	 * $redis->rPush('key1', 'A'); // returns 1
962
+	 * $redis->rPushx('key1', 'B'); // returns 2
963
+	 * $redis->rPushx('key1', 'C'); // returns 3
964
+	 * // key1 now points to the following list: [ 'A', 'B', 'C' ]
965
+	 * </pre>
966
+	 */
967
+	public function rPushx($key, $value) {}
968
+
969
+	/**
970
+	 * Returns and removes the first element of the list.
971
+	 *
972
+	 * @param   string $key
973
+	 *
974
+	 * @return  mixed|bool if command executed successfully BOOL FALSE in case of failure (empty list)
975
+	 *
976
+	 * @link    https://redis.io/commands/lpop
977
+	 * @example
978
+	 * <pre>
979
+	 * $redis->rPush('key1', 'A');
980
+	 * $redis->rPush('key1', 'B');
981
+	 * $redis->rPush('key1', 'C');  // key1 => [ 'A', 'B', 'C' ]
982
+	 * $redis->lPop('key1');        // key1 => [ 'B', 'C' ]
983
+	 * </pre>
984
+	 */
985
+	public function lPop($key) {}
986
+
987
+	/**
988
+	 * Returns and removes the last element of the list.
989
+	 *
990
+	 * @param   string $key
991
+	 *
992
+	 * @return  mixed|bool if command executed successfully BOOL FALSE in case of failure (empty list)
993
+	 *
994
+	 * @link    https://redis.io/commands/rpop
995
+	 * @example
996
+	 * <pre>
997
+	 * $redis->rPush('key1', 'A');
998
+	 * $redis->rPush('key1', 'B');
999
+	 * $redis->rPush('key1', 'C');  // key1 => [ 'A', 'B', 'C' ]
1000
+	 * $redis->rPop('key1');        // key1 => [ 'A', 'B' ]
1001
+	 * </pre>
1002
+	 */
1003
+	public function rPop($key) {}
1004
+
1005
+	/**
1006
+	 * Is a blocking lPop primitive. If at least one of the lists contains at least one element,
1007
+	 * the element will be popped from the head of the list and returned to the caller.
1008
+	 * Il all the list identified by the keys passed in arguments are empty, blPop will block
1009
+	 * during the specified timeout until an element is pushed to one of those lists. This element will be popped.
1010
+	 *
1011
+	 * @param string|string[] $keys    String array containing the keys of the lists OR variadic list of strings
1012
+	 * @param int             $timeout Timeout is always the required final parameter
1013
+	 *
1014
+	 * @return array ['listName', 'element']
1015
+	 *
1016
+	 * @link    https://redis.io/commands/blpop
1017
+	 * @example
1018
+	 * <pre>
1019
+	 * // Non blocking feature
1020
+	 * $redis->lPush('key1', 'A');
1021
+	 * $redis->del('key2');
1022
+	 *
1023
+	 * $redis->blPop('key1', 'key2', 10);        // array('key1', 'A')
1024
+	 * // OR
1025
+	 * $redis->blPop(['key1', 'key2'], 10);      // array('key1', 'A')
1026
+	 *
1027
+	 * $redis->brPop('key1', 'key2', 10);        // array('key1', 'A')
1028
+	 * // OR
1029
+	 * $redis->brPop(['key1', 'key2'], 10); // array('key1', 'A')
1030
+	 *
1031
+	 * // Blocking feature
1032
+	 *
1033
+	 * // process 1
1034
+	 * $redis->del('key1');
1035
+	 * $redis->blPop('key1', 10);
1036
+	 * // blocking for 10 seconds
1037
+	 *
1038
+	 * // process 2
1039
+	 * $redis->lPush('key1', 'A');
1040
+	 *
1041
+	 * // process 1
1042
+	 * // array('key1', 'A') is returned
1043
+	 * </pre>
1044
+	 */
1045
+	public function blPop($keys, $timeout) {}
1046
+
1047
+	/**
1048
+	 * Is a blocking rPop primitive. If at least one of the lists contains at least one element,
1049
+	 * the element will be popped from the head of the list and returned to the caller.
1050
+	 * Il all the list identified by the keys passed in arguments are empty, brPop will
1051
+	 * block during the specified timeout until an element is pushed to one of those lists. T
1052
+	 * his element will be popped.
1053
+	 *
1054
+	 * @param string|string[] $keys    String array containing the keys of the lists OR variadic list of strings
1055
+	 * @param int             $timeout Timeout is always the required final parameter
1056
+	 *
1057
+	 * @return array ['listName', 'element']
1058
+	 *
1059
+	 * @link    https://redis.io/commands/brpop
1060
+	 * @example
1061
+	 * <pre>
1062
+	 * // Non blocking feature
1063
+	 * $redis->lPush('key1', 'A');
1064
+	 * $redis->del('key2');
1065
+	 *
1066
+	 * $redis->blPop('key1', 'key2', 10); // array('key1', 'A')
1067
+	 * // OR
1068
+	 * $redis->blPop(array('key1', 'key2'), 10); // array('key1', 'A')
1069
+	 *
1070
+	 * $redis->brPop('key1', 'key2', 10); // array('key1', 'A')
1071
+	 * // OR
1072
+	 * $redis->brPop(array('key1', 'key2'), 10); // array('key1', 'A')
1073
+	 *
1074
+	 * // Blocking feature
1075
+	 *
1076
+	 * // process 1
1077
+	 * $redis->del('key1');
1078
+	 * $redis->blPop('key1', 10);
1079
+	 * // blocking for 10 seconds
1080
+	 *
1081
+	 * // process 2
1082
+	 * $redis->lPush('key1', 'A');
1083
+	 *
1084
+	 * // process 1
1085
+	 * // array('key1', 'A') is returned
1086
+	 * </pre>
1087
+	 */
1088
+	public function brPop(array $keys, $timeout) {}
1089
+
1090
+	/**
1091
+	 * Returns the size of a list identified by Key. If the list didn't exist or is empty,
1092
+	 * the command returns 0. If the data type identified by Key is not a list, the command return FALSE.
1093
+	 *
1094
+	 * @param string $key
1095
+	 *
1096
+	 * @return int|bool The size of the list identified by Key exists.
1097
+	 * bool FALSE if the data type identified by Key is not list
1098
+	 *
1099
+	 * @link    https://redis.io/commands/llen
1100
+	 * @example
1101
+	 * <pre>
1102
+	 * $redis->rPush('key1', 'A');
1103
+	 * $redis->rPush('key1', 'B');
1104
+	 * $redis->rPush('key1', 'C'); // key1 => [ 'A', 'B', 'C' ]
1105
+	 * $redis->lLen('key1');       // 3
1106
+	 * $redis->rPop('key1');
1107
+	 * $redis->lLen('key1');       // 2
1108
+	 * </pre>
1109
+	 */
1110
+	public function lLen($key) {}
1111
+
1112
+	/**
1113
+	 * @link https://redis.io/commands/llen
1114
+	 *
1115
+	 * @param string $key
1116
+	 *
1117
+	 * @return int The size of the list identified by Key exists
1118
+	 */
1119
+	#[Deprecated(replacement: '%class%->lLen(%parametersList%)')]
1120
+	public function lSize($key) {}
1121
+
1122
+	/**
1123
+	 * Return the specified element of the list stored at the specified key.
1124
+	 * 0 the first element, 1 the second ... -1 the last element, -2 the penultimate ...
1125
+	 * Return FALSE in case of a bad index or a key that doesn't point to a list.
1126
+	 *
1127
+	 * @param string $key
1128
+	 * @param int    $index
1129
+	 *
1130
+	 * @return mixed|bool the element at this index
1131
+	 *
1132
+	 * Bool FALSE if the key identifies a non-string data type, or no value corresponds to this index in the list Key.
1133
+	 *
1134
+	 * @link    https://redis.io/commands/lindex
1135
+	 * @example
1136
+	 * <pre>
1137
+	 * $redis->rPush('key1', 'A');
1138
+	 * $redis->rPush('key1', 'B');
1139
+	 * $redis->rPush('key1', 'C');  // key1 => [ 'A', 'B', 'C' ]
1140
+	 * $redis->lIndex('key1', 0);     // 'A'
1141
+	 * $redis->lIndex('key1', -1);    // 'C'
1142
+	 * $redis->lIndex('key1', 10);    // `FALSE`
1143
+	 * </pre>
1144
+	 */
1145
+	public function lIndex($key, $index) {}
1146
+
1147
+	/**
1148
+	 * @link https://redis.io/commands/lindex
1149
+	 *
1150
+	 * @param string $key
1151
+	 * @param int $index
1152
+	 * @return mixed|bool the element at this index
1153
+	 */
1154
+	#[Deprecated(replacement: '%class%->lIndex(%parametersList%)')]
1155
+	public function lGet($key, $index) {}
1156
+
1157
+	/**
1158
+	 * Set the list at index with the new value.
1159
+	 *
1160
+	 * @param string $key
1161
+	 * @param int    $index
1162
+	 * @param string $value
1163
+	 *
1164
+	 * @return bool TRUE if the new value is setted.
1165
+	 * FALSE if the index is out of range, or data type identified by key is not a list.
1166
+	 *
1167
+	 * @link    https://redis.io/commands/lset
1168
+	 * @example
1169
+	 * <pre>
1170
+	 * $redis->rPush('key1', 'A');
1171
+	 * $redis->rPush('key1', 'B');
1172
+	 * $redis->rPush('key1', 'C');    // key1 => [ 'A', 'B', 'C' ]
1173
+	 * $redis->lIndex('key1', 0);     // 'A'
1174
+	 * $redis->lSet('key1', 0, 'X');
1175
+	 * $redis->lIndex('key1', 0);     // 'X'
1176
+	 * </pre>
1177
+	 */
1178
+	public function lSet($key, $index, $value) {}
1179
+
1180
+	/**
1181
+	 * Returns the specified elements of the list stored at the specified key in
1182
+	 * the range [start, end]. start and stop are interpretated as indices: 0 the first element,
1183
+	 * 1 the second ... -1 the last element, -2 the penultimate ...
1184
+	 *
1185
+	 * @param string $key
1186
+	 * @param int    $start
1187
+	 * @param int    $end
1188
+	 *
1189
+	 * @return array containing the values in specified range.
1190
+	 *
1191
+	 * @link    https://redis.io/commands/lrange
1192
+	 * @example
1193
+	 * <pre>
1194
+	 * $redis->rPush('key1', 'A');
1195
+	 * $redis->rPush('key1', 'B');
1196
+	 * $redis->rPush('key1', 'C');
1197
+	 * $redis->lRange('key1', 0, -1); // array('A', 'B', 'C')
1198
+	 * </pre>
1199
+	 */
1200
+	public function lRange($key, $start, $end) {}
1201
+
1202
+	/**
1203
+	 * @link https://redis.io/commands/lrange
1204
+	 *
1205
+	 * @param string    $key
1206
+	 * @param int       $start
1207
+	 * @param int       $end
1208
+	 * @return array
1209
+	 */
1210
+	#[Deprecated(replacement: '%class%->lRange(%parametersList%)')]
1211
+	public function lGetRange($key, $start, $end) {}
1212
+
1213
+	/**
1214
+	 * Trims an existing list so that it will contain only a specified range of elements.
1215
+	 *
1216
+	 * @param string $key
1217
+	 * @param int    $start
1218
+	 * @param int    $stop
1219
+	 *
1220
+	 * @return array|false Bool return FALSE if the key identify a non-list value
1221
+	 *
1222
+	 * @link        https://redis.io/commands/ltrim
1223
+	 * @example
1224
+	 * <pre>
1225
+	 * $redis->rPush('key1', 'A');
1226
+	 * $redis->rPush('key1', 'B');
1227
+	 * $redis->rPush('key1', 'C');
1228
+	 * $redis->lRange('key1', 0, -1); // array('A', 'B', 'C')
1229
+	 * $redis->lTrim('key1', 0, 1);
1230
+	 * $redis->lRange('key1', 0, -1); // array('A', 'B')
1231
+	 * </pre>
1232
+	 */
1233
+	public function lTrim($key, $start, $stop) {}
1234
+
1235
+	/**
1236
+	 * @link  https://redis.io/commands/ltrim
1237
+	 *
1238
+	 * @param string    $key
1239
+	 * @param int       $start
1240
+	 * @param int       $stop
1241
+	 */
1242
+	#[Deprecated(replacement: '%class%->lTrim(%parametersList%)')]
1243
+	public function listTrim($key, $start, $stop) {}
1244
+
1245
+	/**
1246
+	 * Removes the first count occurrences of the value element from the list.
1247
+	 * If count is zero, all the matching elements are removed. If count is negative,
1248
+	 * elements are removed from tail to head.
1249
+	 *
1250
+	 * @param string $key
1251
+	 * @param string $value
1252
+	 * @param int    $count
1253
+	 *
1254
+	 * @return int|bool the number of elements to remove
1255
+	 * bool FALSE if the value identified by key is not a list.
1256
+	 *
1257
+	 * @link    https://redis.io/commands/lrem
1258
+	 * @example
1259
+	 * <pre>
1260
+	 * $redis->lPush('key1', 'A');
1261
+	 * $redis->lPush('key1', 'B');
1262
+	 * $redis->lPush('key1', 'C');
1263
+	 * $redis->lPush('key1', 'A');
1264
+	 * $redis->lPush('key1', 'A');
1265
+	 *
1266
+	 * $redis->lRange('key1', 0, -1);   // array('A', 'A', 'C', 'B', 'A')
1267
+	 * $redis->lRem('key1', 'A', 2);    // 2
1268
+	 * $redis->lRange('key1', 0, -1);   // array('C', 'B', 'A')
1269
+	 * </pre>
1270
+	 */
1271
+	public function lRem($key, $value, $count) {}
1272
+
1273
+	/**
1274
+	 * @link https://redis.io/commands/lremove
1275
+	 *
1276
+	 * @param string $key
1277
+	 * @param string $value
1278
+	 * @param int $count
1279
+	 */
1280
+	#[Deprecated(replacement: '%class%->lRem(%parametersList%)')]
1281
+	public function lRemove($key, $value, $count) {}
1282
+
1283
+	/**
1284
+	 * Insert value in the list before or after the pivot value. the parameter options
1285
+	 * specify the position of the insert (before or after). If the list didn't exists,
1286
+	 * or the pivot didn't exists, the value is not inserted.
1287
+	 *
1288
+	 * @param string       $key
1289
+	 * @param int          $position Redis::BEFORE | Redis::AFTER
1290
+	 * @param string       $pivot
1291
+	 * @param string|mixed $value
1292
+	 *
1293
+	 * @return int The number of the elements in the list, -1 if the pivot didn't exists.
1294
+	 *
1295
+	 * @link    https://redis.io/commands/linsert
1296
+	 * @example
1297
+	 * <pre>
1298
+	 * $redis->del('key1');
1299
+	 * $redis->lInsert('key1', Redis::AFTER, 'A', 'X');     // 0
1300
+	 *
1301
+	 * $redis->lPush('key1', 'A');
1302
+	 * $redis->lPush('key1', 'B');
1303
+	 * $redis->lPush('key1', 'C');
1304
+	 *
1305
+	 * $redis->lInsert('key1', Redis::BEFORE, 'C', 'X');    // 4
1306
+	 * $redis->lRange('key1', 0, -1);                       // array('A', 'B', 'X', 'C')
1307
+	 *
1308
+	 * $redis->lInsert('key1', Redis::AFTER, 'C', 'Y');     // 5
1309
+	 * $redis->lRange('key1', 0, -1);                       // array('A', 'B', 'X', 'C', 'Y')
1310
+	 *
1311
+	 * $redis->lInsert('key1', Redis::AFTER, 'W', 'value'); // -1
1312
+	 * </pre>
1313
+	 */
1314
+	public function lInsert($key, $position, $pivot, $value) {}
1315
+
1316
+	/**
1317
+	 * Adds a values to the set value stored at key.
1318
+	 *
1319
+	 * @param string       $key       Required key
1320
+	 * @param string|mixed ...$value1 Variadic list of values
1321
+	 *
1322
+	 * @return int|bool The number of elements added to the set.
1323
+	 * If this value is already in the set, FALSE is returned
1324
+	 *
1325
+	 * @link    https://redis.io/commands/sadd
1326
+	 * @example
1327
+	 * <pre>
1328
+	 * $redis->sAdd('k', 'v1');                // int(1)
1329
+	 * $redis->sAdd('k', 'v1', 'v2', 'v3');    // int(2)
1330
+	 * </pre>
1331
+	 */
1332
+	public function sAdd($key, ...$value1) {}
1333
+
1334
+	/**
1335
+	 * Removes the specified members from the set value stored at key.
1336
+	 *
1337
+	 * @param   string       $key
1338
+	 * @param   string|mixed ...$member1 Variadic list of members
1339
+	 *
1340
+	 * @return int The number of elements removed from the set
1341
+	 *
1342
+	 * @link    https://redis.io/commands/srem
1343
+	 * @example
1344
+	 * <pre>
1345
+	 * var_dump( $redis->sAdd('k', 'v1', 'v2', 'v3') );    // int(3)
1346
+	 * var_dump( $redis->sRem('k', 'v2', 'v3') );          // int(2)
1347
+	 * var_dump( $redis->sMembers('k') );
1348
+	 * //// Output:
1349
+	 * // array(1) {
1350
+	 * //   [0]=> string(2) "v1"
1351
+	 * // }
1352
+	 * </pre>
1353
+	 */
1354
+	public function sRem($key, ...$member1) {}
1355
+
1356
+	/**
1357
+	 * @link    https://redis.io/commands/srem
1358
+	 *
1359
+	 * @param   string  $key
1360
+	 * @param   string|mixed  ...$member1
1361
+	 */
1362
+	#[Deprecated(replacement: '%class%->sRem(%parametersList%)')]
1363
+	public function sRemove($key, ...$member1) {}
1364
+
1365
+	/**
1366
+	 * Moves the specified member from the set at srcKey to the set at dstKey.
1367
+	 *
1368
+	 * @param string       $srcKey
1369
+	 * @param string       $dstKey
1370
+	 * @param string|mixed $member
1371
+	 *
1372
+	 * @return bool If the operation is successful, return TRUE.
1373
+	 * If the srcKey and/or dstKey didn't exist, and/or the member didn't exist in srcKey, FALSE is returned.
1374
+	 *
1375
+	 * @link    https://redis.io/commands/smove
1376
+	 * @example
1377
+	 * <pre>
1378
+	 * $redis->sAdd('key1' , 'set11');
1379
+	 * $redis->sAdd('key1' , 'set12');
1380
+	 * $redis->sAdd('key1' , 'set13');          // 'key1' => {'set11', 'set12', 'set13'}
1381
+	 * $redis->sAdd('key2' , 'set21');
1382
+	 * $redis->sAdd('key2' , 'set22');          // 'key2' => {'set21', 'set22'}
1383
+	 * $redis->sMove('key1', 'key2', 'set13');  // 'key1' =>  {'set11', 'set12'}
1384
+	 *                                          // 'key2' =>  {'set21', 'set22', 'set13'}
1385
+	 * </pre>
1386
+	 */
1387
+	public function sMove($srcKey, $dstKey, $member) {}
1388
+
1389
+	/**
1390
+	 * Checks if value is a member of the set stored at the key key.
1391
+	 *
1392
+	 * @param string       $key
1393
+	 * @param string|mixed $value
1394
+	 *
1395
+	 * @return bool TRUE if value is a member of the set at key key, FALSE otherwise
1396
+	 *
1397
+	 * @link    https://redis.io/commands/sismember
1398
+	 * @example
1399
+	 * <pre>
1400
+	 * $redis->sAdd('key1' , 'set1');
1401
+	 * $redis->sAdd('key1' , 'set2');
1402
+	 * $redis->sAdd('key1' , 'set3'); // 'key1' => {'set1', 'set2', 'set3'}
1403
+	 *
1404
+	 * $redis->sIsMember('key1', 'set1'); // TRUE
1405
+	 * $redis->sIsMember('key1', 'setX'); // FALSE
1406
+	 * </pre>
1407
+	 */
1408
+	public function sIsMember($key, $value) {}
1409
+
1410
+	/**
1411
+	 * @link    https://redis.io/commands/sismember
1412
+	 *
1413
+	 * @param string       $key
1414
+	 * @param string|mixed $value
1415
+	 */
1416
+	#[Deprecated(replacement: '%class%->sIsMember(%parametersList%)')]
1417
+	public function sContains($key, $value) {}
1418
+
1419
+	/**
1420
+	 * Returns the cardinality of the set identified by key.
1421
+	 *
1422
+	 * @param string $key
1423
+	 *
1424
+	 * @return int the cardinality of the set identified by key, 0 if the set doesn't exist.
1425
+	 *
1426
+	 * @link    https://redis.io/commands/scard
1427
+	 * @example
1428
+	 * <pre>
1429
+	 * $redis->sAdd('key1' , 'set1');
1430
+	 * $redis->sAdd('key1' , 'set2');
1431
+	 * $redis->sAdd('key1' , 'set3');   // 'key1' => {'set1', 'set2', 'set3'}
1432
+	 * $redis->sCard('key1');           // 3
1433
+	 * $redis->sCard('keyX');           // 0
1434
+	 * </pre>
1435
+	 */
1436
+	public function sCard($key) {}
1437
+
1438
+	/**
1439
+	 * Removes and returns a random element from the set value at Key.
1440
+	 *
1441
+	 * @param string $key
1442
+	 * @param int    $count [optional]
1443
+	 *
1444
+	 * @return string|mixed|array|bool "popped" values
1445
+	 * bool FALSE if set identified by key is empty or doesn't exist.
1446
+	 *
1447
+	 * @link    https://redis.io/commands/spop
1448
+	 * @example
1449
+	 * <pre>
1450
+	 * $redis->sAdd('key1' , 'set1');
1451
+	 * $redis->sAdd('key1' , 'set2');
1452
+	 * $redis->sAdd('key1' , 'set3');   // 'key1' => {'set3', 'set1', 'set2'}
1453
+	 * $redis->sPop('key1');            // 'set1', 'key1' => {'set3', 'set2'}
1454
+	 * $redis->sPop('key1');            // 'set3', 'key1' => {'set2'}
1455
+	 *
1456
+	 * // With count
1457
+	 * $redis->sAdd('key2', 'set1', 'set2', 'set3');
1458
+	 * var_dump( $redis->sPop('key2', 3) ); // Will return all members but in no particular order
1459
+	 *
1460
+	 * // array(3) {
1461
+	 * //   [0]=> string(4) "set2"
1462
+	 * //   [1]=> string(4) "set3"
1463
+	 * //   [2]=> string(4) "set1"
1464
+	 * // }
1465
+	 * </pre>
1466
+	 */
1467
+	public function sPop($key, $count = 1) {}
1468
+
1469
+	/**
1470
+	 * Returns a random element(s) from the set value at Key, without removing it.
1471
+	 *
1472
+	 * @param string $key
1473
+	 * @param int    $count [optional]
1474
+	 *
1475
+	 * @return string|mixed|array|bool value(s) from the set
1476
+	 * bool FALSE if set identified by key is empty or doesn't exist and count argument isn't passed.
1477
+	 *
1478
+	 * @link    https://redis.io/commands/srandmember
1479
+	 * @example
1480
+	 * <pre>
1481
+	 * $redis->sAdd('key1' , 'one');
1482
+	 * $redis->sAdd('key1' , 'two');
1483
+	 * $redis->sAdd('key1' , 'three');              // 'key1' => {'one', 'two', 'three'}
1484
+	 *
1485
+	 * var_dump( $redis->sRandMember('key1') );     // 'key1' => {'one', 'two', 'three'}
1486
+	 *
1487
+	 * // string(5) "three"
1488
+	 *
1489
+	 * var_dump( $redis->sRandMember('key1', 2) );  // 'key1' => {'one', 'two', 'three'}
1490
+	 *
1491
+	 * // array(2) {
1492
+	 * //   [0]=> string(2) "one"
1493
+	 * //   [1]=> string(5) "three"
1494
+	 * // }
1495
+	 * </pre>
1496
+	 */
1497
+	public function sRandMember($key, $count = 1) {}
1498
+
1499
+	/**
1500
+	 * Returns the members of a set resulting from the intersection of all the sets
1501
+	 * held at the specified keys. If just a single key is specified, then this command
1502
+	 * produces the members of this set. If one of the keys is missing, FALSE is returned.
1503
+	 *
1504
+	 * @param string $key1         keys identifying the different sets on which we will apply the intersection.
1505
+	 * @param string ...$otherKeys variadic list of keys
1506
+	 *
1507
+	 * @return array|false contain the result of the intersection between those keys
1508
+	 * If the intersection between the different sets is empty, the return value will be empty array.
1509
+	 *
1510
+	 * @link    https://redis.io/commands/sinter
1511
+	 * @example
1512
+	 * <pre>
1513
+	 * $redis->sAdd('key1', 'val1');
1514
+	 * $redis->sAdd('key1', 'val2');
1515
+	 * $redis->sAdd('key1', 'val3');
1516
+	 * $redis->sAdd('key1', 'val4');
1517
+	 *
1518
+	 * $redis->sAdd('key2', 'val3');
1519
+	 * $redis->sAdd('key2', 'val4');
1520
+	 *
1521
+	 * $redis->sAdd('key3', 'val3');
1522
+	 * $redis->sAdd('key3', 'val4');
1523
+	 *
1524
+	 * var_dump($redis->sInter('key1', 'key2', 'key3'));
1525
+	 *
1526
+	 * //array(2) {
1527
+	 * //  [0]=>
1528
+	 * //  string(4) "val4"
1529
+	 * //  [1]=>
1530
+	 * //  string(4) "val3"
1531
+	 * //}
1532
+	 * </pre>
1533
+	 */
1534
+	public function sInter($key1, ...$otherKeys) {}
1535
+
1536
+	/**
1537
+	 * Performs a sInter command and stores the result in a new set.
1538
+	 *
1539
+	 * @param string $dstKey       the key to store the diff into.
1540
+	 * @param string $key1         keys identifying the different sets on which we will apply the intersection.
1541
+	 * @param string ...$otherKeys variadic list of keys
1542
+	 *
1543
+	 * @return int|false The cardinality of the resulting set, or FALSE in case of a missing key
1544
+	 *
1545
+	 * @link    https://redis.io/commands/sinterstore
1546
+	 * @example
1547
+	 * <pre>
1548
+	 * $redis->sAdd('key1', 'val1');
1549
+	 * $redis->sAdd('key1', 'val2');
1550
+	 * $redis->sAdd('key1', 'val3');
1551
+	 * $redis->sAdd('key1', 'val4');
1552
+	 *
1553
+	 * $redis->sAdd('key2', 'val3');
1554
+	 * $redis->sAdd('key2', 'val4');
1555
+	 *
1556
+	 * $redis->sAdd('key3', 'val3');
1557
+	 * $redis->sAdd('key3', 'val4');
1558
+	 *
1559
+	 * var_dump($redis->sInterStore('output', 'key1', 'key2', 'key3'));
1560
+	 * var_dump($redis->sMembers('output'));
1561
+	 *
1562
+	 * //int(2)
1563
+	 * //
1564
+	 * //array(2) {
1565
+	 * //  [0]=>
1566
+	 * //  string(4) "val4"
1567
+	 * //  [1]=>
1568
+	 * //  string(4) "val3"
1569
+	 * //}
1570
+	 * </pre>
1571
+	 */
1572
+	public function sInterStore($dstKey, $key1, ...$otherKeys) {}
1573
+
1574
+	/**
1575
+	 * Performs the union between N sets and returns it.
1576
+	 *
1577
+	 * @param string $key1         first key for union
1578
+	 * @param string ...$otherKeys variadic list of keys corresponding to sets in redis
1579
+	 *
1580
+	 * @return array string[] The union of all these sets
1581
+	 *
1582
+	 * @link    https://redis.io/commands/sunionstore
1583
+	 * @example
1584
+	 * <pre>
1585
+	 * $redis->sAdd('s0', '1');
1586
+	 * $redis->sAdd('s0', '2');
1587
+	 * $redis->sAdd('s1', '3');
1588
+	 * $redis->sAdd('s1', '1');
1589
+	 * $redis->sAdd('s2', '3');
1590
+	 * $redis->sAdd('s2', '4');
1591
+	 *
1592
+	 * var_dump($redis->sUnion('s0', 's1', 's2'));
1593
+	 *
1594
+	 * array(4) {
1595
+	 * //  [0]=>
1596
+	 * //  string(1) "3"
1597
+	 * //  [1]=>
1598
+	 * //  string(1) "4"
1599
+	 * //  [2]=>
1600
+	 * //  string(1) "1"
1601
+	 * //  [3]=>
1602
+	 * //  string(1) "2"
1603
+	 * //}
1604
+	 * </pre>
1605
+	 */
1606
+	public function sUnion($key1, ...$otherKeys) {}
1607
+
1608
+	/**
1609
+	 * Performs the same action as sUnion, but stores the result in the first key
1610
+	 *
1611
+	 * @param   string  $dstKey  the key to store the diff into.
1612
+	 * @param string $key1         first key for union
1613
+	 * @param string ...$otherKeys variadic list of keys corresponding to sets in redis
1614
+	 *
1615
+	 * @return int Any number of keys corresponding to sets in redis
1616
+	 *
1617
+	 * @link    https://redis.io/commands/sunionstore
1618
+	 * @example
1619
+	 * <pre>
1620
+	 * $redis->del('s0', 's1', 's2');
1621
+	 *
1622
+	 * $redis->sAdd('s0', '1');
1623
+	 * $redis->sAdd('s0', '2');
1624
+	 * $redis->sAdd('s1', '3');
1625
+	 * $redis->sAdd('s1', '1');
1626
+	 * $redis->sAdd('s2', '3');
1627
+	 * $redis->sAdd('s2', '4');
1628
+	 *
1629
+	 * var_dump($redis->sUnionStore('dst', 's0', 's1', 's2'));
1630
+	 * var_dump($redis->sMembers('dst'));
1631
+	 *
1632
+	 * //int(4)
1633
+	 * //array(4) {
1634
+	 * //  [0]=>
1635
+	 * //  string(1) "3"
1636
+	 * //  [1]=>
1637
+	 * //  string(1) "4"
1638
+	 * //  [2]=>
1639
+	 * //  string(1) "1"
1640
+	 * //  [3]=>
1641
+	 * //  string(1) "2"
1642
+	 * //}
1643
+	 * </pre>
1644
+	 */
1645
+	public function sUnionStore($dstKey, $key1, ...$otherKeys) {}
1646
+
1647
+	/**
1648
+	 * Performs the difference between N sets and returns it.
1649
+	 *
1650
+	 * @param string $key1         first key for diff
1651
+	 * @param string ...$otherKeys variadic list of keys corresponding to sets in redis
1652
+	 *
1653
+	 * @return array string[] The difference of the first set will all the others
1654
+	 *
1655
+	 * @link    https://redis.io/commands/sdiff
1656
+	 * @example
1657
+	 * <pre>
1658
+	 * $redis->del('s0', 's1', 's2');
1659
+	 *
1660
+	 * $redis->sAdd('s0', '1');
1661
+	 * $redis->sAdd('s0', '2');
1662
+	 * $redis->sAdd('s0', '3');
1663
+	 * $redis->sAdd('s0', '4');
1664
+	 *
1665
+	 * $redis->sAdd('s1', '1');
1666
+	 * $redis->sAdd('s2', '3');
1667
+	 *
1668
+	 * var_dump($redis->sDiff('s0', 's1', 's2'));
1669
+	 *
1670
+	 * //array(2) {
1671
+	 * //  [0]=>
1672
+	 * //  string(1) "4"
1673
+	 * //  [1]=>
1674
+	 * //  string(1) "2"
1675
+	 * //}
1676
+	 * </pre>
1677
+	 */
1678
+	public function sDiff($key1, ...$otherKeys) {}
1679
+
1680
+	/**
1681
+	 * Performs the same action as sDiff, but stores the result in the first key
1682
+	 *
1683
+	 * @param string $dstKey       the key to store the diff into.
1684
+	 * @param string $key1         first key for diff
1685
+	 * @param string ...$otherKeys variadic list of keys corresponding to sets in redis
1686
+	 *
1687
+	 * @return int|false The cardinality of the resulting set, or FALSE in case of a missing key
1688
+	 *
1689
+	 * @link    https://redis.io/commands/sdiffstore
1690
+	 * @example
1691
+	 * <pre>
1692
+	 * $redis->del('s0', 's1', 's2');
1693
+	 *
1694
+	 * $redis->sAdd('s0', '1');
1695
+	 * $redis->sAdd('s0', '2');
1696
+	 * $redis->sAdd('s0', '3');
1697
+	 * $redis->sAdd('s0', '4');
1698
+	 *
1699
+	 * $redis->sAdd('s1', '1');
1700
+	 * $redis->sAdd('s2', '3');
1701
+	 *
1702
+	 * var_dump($redis->sDiffStore('dst', 's0', 's1', 's2'));
1703
+	 * var_dump($redis->sMembers('dst'));
1704
+	 *
1705
+	 * //int(2)
1706
+	 * //array(2) {
1707
+	 * //  [0]=>
1708
+	 * //  string(1) "4"
1709
+	 * //  [1]=>
1710
+	 * //  string(1) "2"
1711
+	 * //}
1712
+	 * </pre>
1713
+	 */
1714
+	public function sDiffStore($dstKey, $key1, ...$otherKeys) {}
1715
+
1716
+	/**
1717
+	 * Returns the contents of a set.
1718
+	 *
1719
+	 * @param string $key
1720
+	 *
1721
+	 * @return array An array of elements, the contents of the set
1722
+	 *
1723
+	 * @link    https://redis.io/commands/smembers
1724
+	 * @example
1725
+	 * <pre>
1726
+	 * $redis->del('s');
1727
+	 * $redis->sAdd('s', 'a');
1728
+	 * $redis->sAdd('s', 'b');
1729
+	 * $redis->sAdd('s', 'a');
1730
+	 * $redis->sAdd('s', 'c');
1731
+	 * var_dump($redis->sMembers('s'));
1732
+	 *
1733
+	 * //array(3) {
1734
+	 * //  [0]=>
1735
+	 * //  string(1) "c"
1736
+	 * //  [1]=>
1737
+	 * //  string(1) "a"
1738
+	 * //  [2]=>
1739
+	 * //  string(1) "b"
1740
+	 * //}
1741
+	 * // The order is random and corresponds to redis' own internal representation of the set structure.
1742
+	 * </pre>
1743
+	 */
1744
+	public function sMembers($key) {}
1745
+
1746
+	/**
1747
+	 * @link    https://redis.io/commands/smembers
1748
+	 *
1749
+	 * @param  string  $key
1750
+	 * @return array   An array of elements, the contents of the set
1751
+	 */
1752
+	#[Deprecated(replacement: '%class%->sMembers(%parametersList%)')]
1753
+	public function sGetMembers($key) {}
1754
+
1755
+	/**
1756
+	 * Scan a set for members
1757
+	 *
1758
+	 * @param string $key      The set to search.
1759
+	 * @param int    &$iterator LONG (reference) to the iterator as we go.
1760
+	 * @param string   $pattern  String, optional pattern to match against.
1761
+	 * @param int    $count    How many members to return at a time (Redis might return a different amount)
1762
+	 *
1763
+	 * @return array|false PHPRedis will return an array of keys or FALSE when we're done iterating
1764
+	 *
1765
+	 * @link    https://redis.io/commands/sscan
1766
+	 * @example
1767
+	 * <pre>
1768
+	 * $iterator = null;
1769
+	 * while ($members = $redis->sScan('set', $iterator)) {
1770
+	 *     foreach ($members as $member) {
1771
+	 *         echo $member . PHP_EOL;
1772
+	 *     }
1773
+	 * }
1774
+	 * </pre>
1775
+	 */
1776
+	public function sScan($key, &$iterator, $pattern = null, $count = 0) {}
1777
+
1778
+	/**
1779
+	 * Sets a value and returns the previous entry at that key.
1780
+	 *
1781
+	 * @param string       $key
1782
+	 * @param string|mixed $value
1783
+	 *
1784
+	 * @return string|mixed A string (mixed, if used serializer), the previous value located at this key
1785
+	 *
1786
+	 * @link    https://redis.io/commands/getset
1787
+	 * @example
1788
+	 * <pre>
1789
+	 * $redis->set('x', '42');
1790
+	 * $exValue = $redis->getSet('x', 'lol');   // return '42', replaces x by 'lol'
1791
+	 * $newValue = $redis->get('x')'            // return 'lol'
1792
+	 * </pre>
1793
+	 */
1794
+	public function getSet($key, $value) {}
1795
+
1796
+	/**
1797
+	 * Returns a random key
1798
+	 *
1799
+	 * @return string an existing key in redis
1800
+	 *
1801
+	 * @link    https://redis.io/commands/randomkey
1802
+	 * @example
1803
+	 * <pre>
1804
+	 * $key = $redis->randomKey();
1805
+	 * $surprise = $redis->get($key);  // who knows what's in there.
1806
+	 * </pre>
1807
+	 */
1808
+	public function randomKey() {}
1809
+
1810
+	/**
1811
+	 * Switches to a given database
1812
+	 *
1813
+	 * @param int $dbIndex
1814
+	 *
1815
+	 * @return bool TRUE in case of success, FALSE in case of failure
1816
+	 *
1817
+	 * @link    https://redis.io/commands/select
1818
+	 * @example
1819
+	 * <pre>
1820
+	 * $redis->select(0);       // switch to DB 0
1821
+	 * $redis->set('x', '42');  // write 42 to x
1822
+	 * $redis->move('x', 1);    // move to DB 1
1823
+	 * $redis->select(1);       // switch to DB 1
1824
+	 * $redis->get('x');        // will return 42
1825
+	 * </pre>
1826
+	 */
1827
+	public function select($dbIndex) {}
1828
+
1829
+	/**
1830
+	 * Moves a key to a different database.
1831
+	 *
1832
+	 * @param string $key
1833
+	 * @param int    $dbIndex
1834
+	 *
1835
+	 * @return bool TRUE in case of success, FALSE in case of failure
1836
+	 *
1837
+	 * @link    https://redis.io/commands/move
1838
+	 * @example
1839
+	 * <pre>
1840
+	 * $redis->select(0);       // switch to DB 0
1841
+	 * $redis->set('x', '42');  // write 42 to x
1842
+	 * $redis->move('x', 1);    // move to DB 1
1843
+	 * $redis->select(1);       // switch to DB 1
1844
+	 * $redis->get('x');        // will return 42
1845
+	 * </pre>
1846
+	 */
1847
+	public function move($key, $dbIndex) {}
1848
+
1849
+	/**
1850
+	 * Renames a key
1851
+	 *
1852
+	 * @param string $srcKey
1853
+	 * @param string $dstKey
1854
+	 *
1855
+	 * @return bool TRUE in case of success, FALSE in case of failure
1856
+	 *
1857
+	 * @link    https://redis.io/commands/rename
1858
+	 * @example
1859
+	 * <pre>
1860
+	 * $redis->set('x', '42');
1861
+	 * $redis->rename('x', 'y');
1862
+	 * $redis->get('y');   // → 42
1863
+	 * $redis->get('x');   // → `FALSE`
1864
+	 * </pre>
1865
+	 */
1866
+	public function rename($srcKey, $dstKey) {}
1867
+
1868
+	/**
1869
+	 * @link    https://redis.io/commands/rename
1870
+	 *
1871
+	 * @param   string  $srcKey
1872
+	 * @param   string  $dstKey
1873
+	 */
1874
+	#[Deprecated(replacement: '%class%->rename(%parametersList%)')]
1875
+	public function renameKey($srcKey, $dstKey) {}
1876
+
1877
+	/**
1878
+	 * Renames a key
1879
+	 *
1880
+	 * Same as rename, but will not replace a key if the destination already exists.
1881
+	 * This is the same behaviour as setNx.
1882
+	 *
1883
+	 * @param string $srcKey
1884
+	 * @param string $dstKey
1885
+	 *
1886
+	 * @return bool TRUE in case of success, FALSE in case of failure
1887
+	 *
1888
+	 * @link    https://redis.io/commands/renamenx
1889
+	 * @example
1890
+	 * <pre>
1891
+	 * $redis->set('x', '42');
1892
+	 * $redis->rename('x', 'y');
1893
+	 * $redis->get('y');   // → 42
1894
+	 * $redis->get('x');   // → `FALSE`
1895
+	 * </pre>
1896
+	 */
1897
+	public function renameNx($srcKey, $dstKey) {}
1898
+
1899
+	/**
1900
+	 * Sets an expiration date (a timeout) on an item
1901
+	 *
1902
+	 * @param string $key The key that will disappear
1903
+	 * @param int    $ttl The key's remaining Time To Live, in seconds
1904
+	 *
1905
+	 * @return bool TRUE in case of success, FALSE in case of failure
1906
+	 *
1907
+	 * @link    https://redis.io/commands/expire
1908
+	 * @example
1909
+	 * <pre>
1910
+	 * $redis->set('x', '42');
1911
+	 * $redis->expire('x', 3);  // x will disappear in 3 seconds.
1912
+	 * sleep(5);                    // wait 5 seconds
1913
+	 * $redis->get('x');            // will return `FALSE`, as 'x' has expired.
1914
+	 * </pre>
1915
+	 */
1916
+	public function expire($key, $ttl) {}
1917
+
1918
+	/**
1919
+	 * Sets an expiration date (a timeout in milliseconds) on an item
1920
+	 *
1921
+	 * @param string $key The key that will disappear.
1922
+	 * @param int    $ttl The key's remaining Time To Live, in milliseconds
1923
+	 *
1924
+	 * @return bool TRUE in case of success, FALSE in case of failure
1925
+	 *
1926
+	 * @link    https://redis.io/commands/pexpire
1927
+	 * @example
1928
+	 * <pre>
1929
+	 * $redis->set('x', '42');
1930
+	 * $redis->pExpire('x', 11500); // x will disappear in 11500 milliseconds.
1931
+	 * $redis->ttl('x');            // 12
1932
+	 * $redis->pttl('x');           // 11500
1933
+	 * </pre>
1934
+	 */
1935
+	public function pExpire($key, $ttl) {}
1936
+
1937
+	/**
1938
+	 * @link    https://redis.io/commands/expire
1939
+	 *
1940
+	 * @param   string  $key
1941
+	 * @param   int     $ttl
1942
+	 * @return  bool
1943
+	 */
1944
+	#[Deprecated(replacement: '%class%->expire(%parametersList%)')]
1945
+	public function setTimeout($key, $ttl) {}
1946
+
1947
+	/**
1948
+	 * Sets an expiration date (a timestamp) on an item.
1949
+	 *
1950
+	 * @param string $key       The key that will disappear.
1951
+	 * @param int    $timestamp Unix timestamp. The key's date of death, in seconds from Epoch time.
1952
+	 *
1953
+	 * @return bool TRUE in case of success, FALSE in case of failure
1954
+	 *
1955
+	 * @link    https://redis.io/commands/expireat
1956
+	 * @example
1957
+	 * <pre>
1958
+	 * $redis->set('x', '42');
1959
+	 * $now = time(NULL);               // current timestamp
1960
+	 * $redis->expireAt('x', $now + 3); // x will disappear in 3 seconds.
1961
+	 * sleep(5);                        // wait 5 seconds
1962
+	 * $redis->get('x');                // will return `FALSE`, as 'x' has expired.
1963
+	 * </pre>
1964
+	 */
1965
+	public function expireAt($key, $timestamp) {}
1966
+
1967
+	/**
1968
+	 * Sets an expiration date (a timestamp) on an item. Requires a timestamp in milliseconds
1969
+	 *
1970
+	 * @param string $key       The key that will disappear
1971
+	 * @param int    $timestamp Unix timestamp. The key's date of death, in seconds from Epoch time
1972
+	 *
1973
+	 * @return bool TRUE in case of success, FALSE in case of failure
1974
+	 *
1975
+	 * @link    https://redis.io/commands/pexpireat
1976
+	 * @example
1977
+	 * <pre>
1978
+	 * $redis->set('x', '42');
1979
+	 * $redis->pExpireAt('x', 1555555555005);
1980
+	 * echo $redis->ttl('x');                       // 218270121
1981
+	 * echo $redis->pttl('x');                      // 218270120575
1982
+	 * </pre>
1983
+	 */
1984
+	public function pExpireAt($key, $timestamp) {}
1985
+
1986
+	/**
1987
+	 * Returns the keys that match a certain pattern.
1988
+	 *
1989
+	 * @param string $pattern pattern, using '*' as a wildcard
1990
+	 *
1991
+	 * @return array string[] The keys that match a certain pattern.
1992
+	 *
1993
+	 * @link    https://redis.io/commands/keys
1994
+	 * @example
1995
+	 * <pre>
1996
+	 * $allKeys = $redis->keys('*');   // all keys will match this.
1997
+	 * $keyWithUserPrefix = $redis->keys('user*');
1998
+	 * </pre>
1999
+	 */
2000
+	public function keys($pattern) {}
2001
+
2002
+	/**
2003
+	 * @param string $pattern
2004
+	 * @link    https://redis.io/commands/keys
2005
+	 */
2006
+	#[Deprecated(replacement: '%class%->keys(%parametersList%)')]
2007
+	public function getKeys($pattern) {}
2008
+
2009
+	/**
2010
+	 * Returns the current database's size
2011
+	 *
2012
+	 * @return int DB size, in number of keys
2013
+	 *
2014
+	 * @link    https://redis.io/commands/dbsize
2015
+	 * @example
2016
+	 * <pre>
2017
+	 * $count = $redis->dbSize();
2018
+	 * echo "Redis has $count keys\n";
2019
+	 * </pre>
2020
+	 */
2021
+	public function dbSize() {}
2022
+
2023
+	/**
2024
+	 * Authenticate the connection using a password.
2025
+	 * Warning: The password is sent in plain-text over the network.
2026
+	 *
2027
+	 * @param string|string[] $password
2028
+	 *
2029
+	 * @return bool TRUE if the connection is authenticated, FALSE otherwise
2030
+	 *
2031
+	 * @link    https://redis.io/commands/auth
2032
+	 * @example $redis->auth('foobared');
2033
+	 */
2034
+	public function auth($password) {}
2035
+
2036
+	/**
2037
+	 * Starts the background rewrite of AOF (Append-Only File)
2038
+	 *
2039
+	 * @return bool TRUE in case of success, FALSE in case of failure
2040
+	 *
2041
+	 * @link    https://redis.io/commands/bgrewriteaof
2042
+	 * @example $redis->bgrewriteaof();
2043
+	 */
2044
+	public function bgrewriteaof() {}
2045
+
2046
+	/**
2047
+	 * Changes the slave status
2048
+	 * Either host and port, or no parameter to stop being a slave.
2049
+	 *
2050
+	 * @param string $host [optional]
2051
+	 * @param int    $port [optional]
2052
+	 *
2053
+	 * @return bool TRUE in case of success, FALSE in case of failure
2054
+	 *
2055
+	 * @link    https://redis.io/commands/slaveof
2056
+	 * @example
2057
+	 * <pre>
2058
+	 * $redis->slaveof('10.0.1.7', 6379);
2059
+	 * // ...
2060
+	 * $redis->slaveof();
2061
+	 * </pre>
2062
+	 */
2063
+	public function slaveof($host = '127.0.0.1', $port = 6379) {}
2064
+
2065
+	/**
2066
+	 * Access the Redis slowLog
2067
+	 *
2068
+	 * @param string   $operation This can be either GET, LEN, or RESET
2069
+	 * @param int|null $length    If executing a SLOWLOG GET command, you can pass an optional length.
2070
+	 *
2071
+	 * @return mixed The return value of SLOWLOG will depend on which operation was performed.
2072
+	 * - SLOWLOG GET: Array of slowLog entries, as provided by Redis
2073
+	 * - SLOGLOG LEN: Integer, the length of the slowLog
2074
+	 * - SLOWLOG RESET: Boolean, depending on success
2075
+	 *
2076
+	 * @example
2077
+	 * <pre>
2078
+	 * // Get ten slowLog entries
2079
+	 * $redis->slowLog('get', 10);
2080
+	 * // Get the default number of slowLog entries
2081
+	 *
2082
+	 * $redis->slowLog('get');
2083
+	 * // Reset our slowLog
2084
+	 * $redis->slowLog('reset');
2085
+	 *
2086
+	 * // Retrieve slowLog length
2087
+	 * $redis->slowLog('len');
2088
+	 * </pre>
2089
+	 *
2090
+	 * @link https://redis.io/commands/slowlog
2091
+	 */
2092
+	public function slowLog(string $operation, int $length = null) {}
2093
+
2094
+	/**
2095
+	 * Describes the object pointed to by a key.
2096
+	 * The information to retrieve (string) and the key (string).
2097
+	 * Info can be one of the following:
2098
+	 * - "encoding"
2099
+	 * - "refcount"
2100
+	 * - "idletime"
2101
+	 *
2102
+	 * @param string $string
2103
+	 * @param string $key
2104
+	 *
2105
+	 * @return string|int|false for "encoding", int for "refcount" and "idletime", FALSE if the key doesn't exist.
2106
+	 *
2107
+	 * @link    https://redis.io/commands/object
2108
+	 * @example
2109
+	 * <pre>
2110
+	 * $redis->lPush('l', 'Hello, world!');
2111
+	 * $redis->object("encoding", "l"); // → ziplist
2112
+	 * $redis->object("refcount", "l"); // → 1
2113
+	 * $redis->object("idletime", "l"); // → 400 (in seconds, with a precision of 10 seconds).
2114
+	 * </pre>
2115
+	 */
2116
+	public function object($string = '', $key = '') {}
2117
+
2118
+	/**
2119
+	 * Performs a synchronous save.
2120
+	 *
2121
+	 * @return bool TRUE in case of success, FALSE in case of failure
2122
+	 * If a save is already running, this command will fail and return FALSE.
2123
+	 *
2124
+	 * @link    https://redis.io/commands/save
2125
+	 * @example $redis->save();
2126
+	 */
2127
+	public function save() {}
2128
+
2129
+	/**
2130
+	 * Performs a background save.
2131
+	 *
2132
+	 * @return bool TRUE in case of success, FALSE in case of failure
2133
+	 * If a save is already running, this command will fail and return FALSE
2134
+	 *
2135
+	 * @link    https://redis.io/commands/bgsave
2136
+	 * @example $redis->bgSave();
2137
+	 */
2138
+	public function bgsave() {}
2139
+
2140
+	/**
2141
+	 * Returns the timestamp of the last disk save.
2142
+	 *
2143
+	 * @return int timestamp
2144
+	 *
2145
+	 * @link    https://redis.io/commands/lastsave
2146
+	 * @example $redis->lastSave();
2147
+	 */
2148
+	public function lastSave() {}
2149
+
2150
+	/**
2151
+	 * Blocks the current client until all the previous write commands are successfully transferred and
2152
+	 * acknowledged by at least the specified number of slaves.
2153
+	 *
2154
+	 * @param int $numSlaves Number of slaves that need to acknowledge previous write commands.
2155
+	 * @param int $timeout   Timeout in milliseconds.
2156
+	 *
2157
+	 * @return  int The command returns the number of slaves reached by all the writes performed in the
2158
+	 *              context of the current connection
2159
+	 *
2160
+	 * @link    https://redis.io/commands/wait
2161
+	 * @example $redis->wait(2, 1000);
2162
+	 */
2163
+	public function wait($numSlaves, $timeout) {}
2164
+
2165
+	/**
2166
+	 * Returns the type of data pointed by a given key.
2167
+	 *
2168
+	 * @param string $key
2169
+	 *
2170
+	 * @return int
2171
+	 * Depending on the type of the data pointed by the key,
2172
+	 * this method will return the following value:
2173
+	 * - string: Redis::REDIS_STRING
2174
+	 * - set:   Redis::REDIS_SET
2175
+	 * - list:  Redis::REDIS_LIST
2176
+	 * - zset:  Redis::REDIS_ZSET
2177
+	 * - hash:  Redis::REDIS_HASH
2178
+	 * - other: Redis::REDIS_NOT_FOUND
2179
+	 *
2180
+	 * @link    https://redis.io/commands/type
2181
+	 * @example $redis->type('key');
2182
+	 */
2183
+	public function type($key) {}
2184
+
2185
+	/**
2186
+	 * Append specified string to the string stored in specified key.
2187
+	 *
2188
+	 * @param string       $key
2189
+	 * @param string|mixed $value
2190
+	 *
2191
+	 * @return int Size of the value after the append
2192
+	 *
2193
+	 * @link    https://redis.io/commands/append
2194
+	 * @example
2195
+	 * <pre>
2196
+	 * $redis->set('key', 'value1');
2197
+	 * $redis->append('key', 'value2'); // 12
2198
+	 * $redis->get('key');              // 'value1value2'
2199
+	 * </pre>
2200
+	 */
2201
+	public function append($key, $value) {}
2202
+
2203
+	/**
2204
+	 * Return a substring of a larger string
2205
+	 *
2206
+	 * @param string $key
2207
+	 * @param int    $start
2208
+	 * @param int    $end
2209
+	 *
2210
+	 * @return string the substring
2211
+	 *
2212
+	 * @link    https://redis.io/commands/getrange
2213
+	 * @example
2214
+	 * <pre>
2215
+	 * $redis->set('key', 'string value');
2216
+	 * $redis->getRange('key', 0, 5);   // 'string'
2217
+	 * $redis->getRange('key', -5, -1); // 'value'
2218
+	 * </pre>
2219
+	 */
2220
+	public function getRange($key, $start, $end) {}
2221
+
2222
+	/**
2223
+	 * Return a substring of a larger string
2224
+	 *
2225
+	 * @param   string  $key
2226
+	 * @param   int     $start
2227
+	 * @param   int     $end
2228
+	 */
2229
+	#[Deprecated]
2230
+	public function substr($key, $start, $end) {}
2231
+
2232
+	/**
2233
+	 * Changes a substring of a larger string.
2234
+	 *
2235
+	 * @param string $key
2236
+	 * @param int    $offset
2237
+	 * @param string $value
2238
+	 *
2239
+	 * @return int the length of the string after it was modified
2240
+	 *
2241
+	 * @link    https://redis.io/commands/setrange
2242
+	 * @example
2243
+	 * <pre>
2244
+	 * $redis->set('key', 'Hello world');
2245
+	 * $redis->setRange('key', 6, "redis"); // returns 11
2246
+	 * $redis->get('key');                  // "Hello redis"
2247
+	 * </pre>
2248
+	 */
2249
+	public function setRange($key, $offset, $value) {}
2250
+
2251
+	/**
2252
+	 * Get the length of a string value.
2253
+	 *
2254
+	 * @param string $key
2255
+	 * @return int
2256
+	 *
2257
+	 * @link    https://redis.io/commands/strlen
2258
+	 * @example
2259
+	 * <pre>
2260
+	 * $redis->set('key', 'value');
2261
+	 * $redis->strlen('key'); // 5
2262
+	 * </pre>
2263
+	 */
2264
+	public function strlen($key) {}
2265
+
2266
+	/**
2267
+	 * Return the position of the first bit set to 1 or 0 in a string. The position is returned, thinking of the
2268
+	 * string as an array of bits from left to right, where the first byte's most significant bit is at position 0,
2269
+	 * the second byte's most significant bit is at position 8, and so forth.
2270
+	 *
2271
+	 * @param string $key
2272
+	 * @param int    $bit
2273
+	 * @param int    $start
2274
+	 * @param int    $end
2275
+	 *
2276
+	 * @return int The command returns the position of the first bit set to 1 or 0 according to the request.
2277
+	 * If we look for set bits (the bit argument is 1) and the string is empty or composed of just
2278
+	 * zero bytes, -1 is returned. If we look for clear bits (the bit argument is 0) and the string
2279
+	 * only contains bit set to 1, the function returns the first bit not part of the string on the
2280
+	 * right. So if the string is three bytes set to the value 0xff the command BITPOS key 0 will
2281
+	 * return 24, since up to bit 23 all the bits are 1. Basically, the function considers the right
2282
+	 * of the string as padded with zeros if you look for clear bits and specify no range or the
2283
+	 * start argument only. However, this behavior changes if you are looking for clear bits and
2284
+	 * specify a range with both start and end. If no clear bit is found in the specified range, the
2285
+	 * function returns -1 as the user specified a clear range and there are no 0 bits in that range.
2286
+	 *
2287
+	 * @link    https://redis.io/commands/bitpos
2288
+	 * @example
2289
+	 * <pre>
2290
+	 * $redis->set('key', '\xff\xff');
2291
+	 * $redis->bitpos('key', 1); // int(0)
2292
+	 * $redis->bitpos('key', 1, 1); // int(8)
2293
+	 * $redis->bitpos('key', 1, 3); // int(-1)
2294
+	 * $redis->bitpos('key', 0); // int(16)
2295
+	 * $redis->bitpos('key', 0, 1); // int(16)
2296
+	 * $redis->bitpos('key', 0, 1, 5); // int(-1)
2297
+	 * </pre>
2298
+	 */
2299
+	public function bitpos($key, $bit, $start = 0, $end = null) {}
2300
+
2301
+	/**
2302
+	 * Return a single bit out of a larger string
2303
+	 *
2304
+	 * @param string $key
2305
+	 * @param int    $offset
2306
+	 *
2307
+	 * @return int the bit value (0 or 1)
2308
+	 *
2309
+	 * @link    https://redis.io/commands/getbit
2310
+	 * @example
2311
+	 * <pre>
2312
+	 * $redis->set('key', "\x7f");  // this is 0111 1111
2313
+	 * $redis->getBit('key', 0);    // 0
2314
+	 * $redis->getBit('key', 1);    // 1
2315
+	 * </pre>
2316
+	 */
2317
+	public function getBit($key, $offset) {}
2318
+
2319
+	/**
2320
+	 * Changes a single bit of a string.
2321
+	 *
2322
+	 * @param string   $key
2323
+	 * @param int      $offset
2324
+	 * @param bool|int $value  bool or int (1 or 0)
2325
+	 *
2326
+	 * @return int 0 or 1, the value of the bit before it was set
2327
+	 *
2328
+	 * @link    https://redis.io/commands/setbit
2329
+	 * @example
2330
+	 * <pre>
2331
+	 * $redis->set('key', "*");     // ord("*") = 42 = 0x2f = "0010 1010"
2332
+	 * $redis->setBit('key', 5, 1); // returns 0
2333
+	 * $redis->setBit('key', 7, 1); // returns 0
2334
+	 * $redis->get('key');          // chr(0x2f) = "/" = b("0010 1111")
2335
+	 * </pre>
2336
+	 */
2337
+	public function setBit($key, $offset, $value) {}
2338
+
2339
+	/**
2340
+	 * Count bits in a string
2341
+	 *
2342
+	 * @param string $key
2343
+	 *
2344
+	 * @return int The number of bits set to 1 in the value behind the input key
2345
+	 *
2346
+	 * @link    https://redis.io/commands/bitcount
2347
+	 * @example
2348
+	 * <pre>
2349
+	 * $redis->set('bit', '345'); // // 11 0011  0011 0100  0011 0101
2350
+	 * var_dump( $redis->bitCount('bit', 0, 0) ); // int(4)
2351
+	 * var_dump( $redis->bitCount('bit', 1, 1) ); // int(3)
2352
+	 * var_dump( $redis->bitCount('bit', 2, 2) ); // int(4)
2353
+	 * var_dump( $redis->bitCount('bit', 0, 2) ); // int(11)
2354
+	 * </pre>
2355
+	 */
2356
+	public function bitCount($key) {}
2357
+
2358
+	/**
2359
+	 * Bitwise operation on multiple keys.
2360
+	 *
2361
+	 * @param string $operation    either "AND", "OR", "NOT", "XOR"
2362
+	 * @param string $retKey       return key
2363
+	 * @param string $key1         first key
2364
+	 * @param string ...$otherKeys variadic list of keys
2365
+	 *
2366
+	 * @return int The size of the string stored in the destination key
2367
+	 *
2368
+	 * @link    https://redis.io/commands/bitop
2369
+	 * @example
2370
+	 * <pre>
2371
+	 * $redis->set('bit1', '1'); // 11 0001
2372
+	 * $redis->set('bit2', '2'); // 11 0010
2373
+	 *
2374
+	 * $redis->bitOp('AND', 'bit', 'bit1', 'bit2'); // bit = 110000
2375
+	 * $redis->bitOp('OR',  'bit', 'bit1', 'bit2'); // bit = 110011
2376
+	 * $redis->bitOp('NOT', 'bit', 'bit1', 'bit2'); // bit = 110011
2377
+	 * $redis->bitOp('XOR', 'bit', 'bit1', 'bit2'); // bit = 11
2378
+	 * </pre>
2379
+	 */
2380
+	public function bitOp($operation, $retKey, $key1, ...$otherKeys) {}
2381
+
2382
+	/**
2383
+	 * Removes all entries from the current database.
2384
+	 *
2385
+	 * @return bool Always TRUE
2386
+	 * @link    https://redis.io/commands/flushdb
2387
+	 * @example $redis->flushDB();
2388
+	 */
2389
+	public function flushDB() {}
2390
+
2391
+	/**
2392
+	 * Removes all entries from all databases.
2393
+	 *
2394
+	 * @return bool Always TRUE
2395
+	 *
2396
+	 * @link    https://redis.io/commands/flushall
2397
+	 * @example $redis->flushAll();
2398
+	 */
2399
+	public function flushAll() {}
2400
+
2401
+	/**
2402
+	 * Sort
2403
+	 *
2404
+	 * @param string $key
2405
+	 * @param array  $option array(key => value, ...) - optional, with the following keys and values:
2406
+	 * - 'by' => 'some_pattern_*',
2407
+	 * - 'limit' => array(0, 1),
2408
+	 * - 'get' => 'some_other_pattern_*' or an array of patterns,
2409
+	 * - 'sort' => 'asc' or 'desc',
2410
+	 * - 'alpha' => TRUE,
2411
+	 * - 'store' => 'external-key'
2412
+	 *
2413
+	 * @return array
2414
+	 * An array of values, or a number corresponding to the number of elements stored if that was used
2415
+	 *
2416
+	 * @link    https://redis.io/commands/sort
2417
+	 * @example
2418
+	 * <pre>
2419
+	 * $redis->del('s');
2420
+	 * $redis->sadd('s', 5);
2421
+	 * $redis->sadd('s', 4);
2422
+	 * $redis->sadd('s', 2);
2423
+	 * $redis->sadd('s', 1);
2424
+	 * $redis->sadd('s', 3);
2425
+	 *
2426
+	 * var_dump($redis->sort('s')); // 1,2,3,4,5
2427
+	 * var_dump($redis->sort('s', array('sort' => 'desc'))); // 5,4,3,2,1
2428
+	 * var_dump($redis->sort('s', array('sort' => 'desc', 'store' => 'out'))); // (int)5
2429
+	 * </pre>
2430
+	 */
2431
+	public function sort($key, $option = null) {}
2432
+
2433
+	/**
2434
+	 * Returns an associative array of strings and integers
2435
+	 *
2436
+	 * @param string $option Optional. The option to provide redis.
2437
+	 * SERVER | CLIENTS | MEMORY | PERSISTENCE | STATS | REPLICATION | CPU | CLASTER | KEYSPACE | COMANDSTATS
2438
+	 *
2439
+	 * Returns an associative array of strings and integers, with the following keys:
2440
+	 * - redis_version
2441
+	 * - redis_git_sha1
2442
+	 * - redis_git_dirty
2443
+	 * - arch_bits
2444
+	 * - multiplexing_api
2445
+	 * - process_id
2446
+	 * - uptime_in_seconds
2447
+	 * - uptime_in_days
2448
+	 * - lru_clock
2449
+	 * - used_cpu_sys
2450
+	 * - used_cpu_user
2451
+	 * - used_cpu_sys_children
2452
+	 * - used_cpu_user_children
2453
+	 * - connected_clients
2454
+	 * - connected_slaves
2455
+	 * - client_longest_output_list
2456
+	 * - client_biggest_input_buf
2457
+	 * - blocked_clients
2458
+	 * - used_memory
2459
+	 * - used_memory_human
2460
+	 * - used_memory_peak
2461
+	 * - used_memory_peak_human
2462
+	 * - mem_fragmentation_ratio
2463
+	 * - mem_allocator
2464
+	 * - loading
2465
+	 * - aof_enabled
2466
+	 * - changes_since_last_save
2467
+	 * - bgsave_in_progress
2468
+	 * - last_save_time
2469
+	 * - total_connections_received
2470
+	 * - total_commands_processed
2471
+	 * - expired_keys
2472
+	 * - evicted_keys
2473
+	 * - keyspace_hits
2474
+	 * - keyspace_misses
2475
+	 * - hash_max_zipmap_entries
2476
+	 * - hash_max_zipmap_value
2477
+	 * - pubsub_channels
2478
+	 * - pubsub_patterns
2479
+	 * - latest_fork_usec
2480
+	 * - vm_enabled
2481
+	 * - role
2482
+	 *
2483
+	 * @return array
2484
+	 *
2485
+	 * @link    https://redis.io/commands/info
2486
+	 * @example
2487
+	 * <pre>
2488
+	 * $redis->info();
2489
+	 *
2490
+	 * or
2491
+	 *
2492
+	 * $redis->info("COMMANDSTATS"); //Information on the commands that have been run (>=2.6 only)
2493
+	 * $redis->info("CPU"); // just CPU information from Redis INFO
2494
+	 * </pre>
2495
+	 */
2496
+	public function info($option = null) {}
2497
+
2498
+	/**
2499
+	 * Resets the statistics reported by Redis using the INFO command (`info()` function).
2500
+	 * These are the counters that are reset:
2501
+	 *      - Keyspace hits
2502
+	 *      - Keyspace misses
2503
+	 *      - Number of commands processed
2504
+	 *      - Number of connections received
2505
+	 *      - Number of expired keys
2506
+	 *
2507
+	 * @return bool `TRUE` in case of success, `FALSE` in case of failure.
2508
+	 *
2509
+	 * @example $redis->resetStat();
2510
+	 * @link https://redis.io/commands/config-resetstat
2511
+	 */
2512
+	public function resetStat() {}
2513
+
2514
+	/**
2515
+	 * Returns the time to live left for a given key, in seconds. If the key doesn't exist, FALSE is returned.
2516
+	 *
2517
+	 * @param string $key
2518
+	 *
2519
+	 * @return int|bool the time left to live in seconds
2520
+	 *
2521
+	 * @link    https://redis.io/commands/ttl
2522
+	 * @example
2523
+	 * <pre>
2524
+	 * $redis->setEx('key', 123, 'test');
2525
+	 * $redis->ttl('key'); // int(123)
2526
+	 * </pre>
2527
+	 */
2528
+	public function ttl($key) {}
2529
+
2530
+	/**
2531
+	 * Returns a time to live left for a given key, in milliseconds.
2532
+	 *
2533
+	 * If the key doesn't exist, FALSE is returned.
2534
+	 *
2535
+	 * @param string $key
2536
+	 *
2537
+	 * @return int|bool the time left to live in milliseconds
2538
+	 *
2539
+	 * @link    https://redis.io/commands/pttl
2540
+	 * @example
2541
+	 * <pre>
2542
+	 * $redis->setEx('key', 123, 'test');
2543
+	 * $redis->pttl('key'); // int(122999)
2544
+	 * </pre>
2545
+	 */
2546
+	public function pttl($key) {}
2547
+
2548
+	/**
2549
+	 * Remove the expiration timer from a key.
2550
+	 *
2551
+	 * @param string $key
2552
+	 *
2553
+	 * @return bool TRUE if a timeout was removed, FALSE if the key didn’t exist or didn’t have an expiration timer.
2554
+	 *
2555
+	 * @link    https://redis.io/commands/persist
2556
+	 * @example $redis->persist('key');
2557
+	 */
2558
+	public function persist($key) {}
2559
+
2560
+	/**
2561
+	 * Sets multiple key-value pairs in one atomic command.
2562
+	 * MSETNX only returns TRUE if all the keys were set (see SETNX).
2563
+	 *
2564
+	 * @param array $array Pairs: array(key => value, ...)
2565
+	 *
2566
+	 * @return bool TRUE in case of success, FALSE in case of failure
2567
+	 *
2568
+	 * @link    https://redis.io/commands/mset
2569
+	 * @example
2570
+	 * <pre>
2571
+	 * $redis->mset(array('key0' => 'value0', 'key1' => 'value1'));
2572
+	 * var_dump($redis->get('key0'));
2573
+	 * var_dump($redis->get('key1'));
2574
+	 * // Output:
2575
+	 * // string(6) "value0"
2576
+	 * // string(6) "value1"
2577
+	 * </pre>
2578
+	 */
2579
+	public function mset(array $array) {}
2580
+
2581
+	/**
2582
+	 * Get the values of all the specified keys.
2583
+	 * If one or more keys dont exist, the array will contain FALSE at the position of the key.
2584
+	 *
2585
+	 * @param array $keys Array containing the list of the keys
2586
+	 *
2587
+	 * @return array Array containing the values related to keys in argument
2588
+	 *
2589
+	 * @example
2590
+	 * <pre>
2591
+	 * $redis->set('key1', 'value1');
2592
+	 * $redis->set('key2', 'value2');
2593
+	 * $redis->set('key3', 'value3');
2594
+	 * $redis->getMultiple(array('key1', 'key2', 'key3')); // array('value1', 'value2', 'value3');
2595
+	 * $redis->getMultiple(array('key0', 'key1', 'key5')); // array(`FALSE`, 'value2', `FALSE`);
2596
+	 * </pre>
2597
+	 */
2598
+	#[Deprecated(replacement: '%class%->mGet(%parametersList%)')]
2599
+	public function getMultiple(array $keys) {}
2600
+
2601
+	/**
2602
+	 * Returns the values of all specified keys.
2603
+	 *
2604
+	 * For every key that does not hold a string value or does not exist,
2605
+	 * the special value false is returned. Because of this, the operation never fails.
2606
+	 *
2607
+	 * @param array $array
2608
+	 *
2609
+	 * @return array
2610
+	 *
2611
+	 * @link https://redis.io/commands/mget
2612
+	 * @example
2613
+	 * <pre>
2614
+	 * $redis->del('x', 'y', 'z', 'h');  // remove x y z
2615
+	 * $redis->mset(array('x' => 'a', 'y' => 'b', 'z' => 'c'));
2616
+	 * $redis->hset('h', 'field', 'value');
2617
+	 * var_dump($redis->mget(array('x', 'y', 'z', 'h')));
2618
+	 * // Output:
2619
+	 * // array(3) {
2620
+	 * //   [0]=> string(1) "a"
2621
+	 * //   [1]=> string(1) "b"
2622
+	 * //   [2]=> string(1) "c"
2623
+	 * //   [3]=> bool(false)
2624
+	 * // }
2625
+	 * </pre>
2626
+	 */
2627
+	public function mGet(array $array) {}
2628
+
2629
+	/**
2630
+	 * @see mset()
2631
+	 * @param array $array
2632
+	 * @return int 1 (if the keys were set) or 0 (no key was set)
2633
+	 *
2634
+	 * @link    https://redis.io/commands/msetnx
2635
+	 */
2636
+	public function mSetNx(array $array) {}
2637
+
2638
+	/**
2639
+	 * Pops a value from the tail of a list, and pushes it to the front of another list.
2640
+	 * Also return this value.
2641
+	 *
2642
+	 * @since   redis >= 1.1
2643
+	 *
2644
+	 * @param string $srcKey
2645
+	 * @param string $dstKey
2646
+	 *
2647
+	 * @return string|mixed|false The element that was moved in case of success, FALSE in case of failure.
2648
+	 *
2649
+	 * @link    https://redis.io/commands/rpoplpush
2650
+	 * @example
2651
+	 * <pre>
2652
+	 * $redis->del('x', 'y');
2653
+	 *
2654
+	 * $redis->lPush('x', 'abc');
2655
+	 * $redis->lPush('x', 'def');
2656
+	 * $redis->lPush('y', '123');
2657
+	 * $redis->lPush('y', '456');
2658
+	 *
2659
+	 * // move the last of x to the front of y.
2660
+	 * var_dump($redis->rpoplpush('x', 'y'));
2661
+	 * var_dump($redis->lRange('x', 0, -1));
2662
+	 * var_dump($redis->lRange('y', 0, -1));
2663
+	 *
2664
+	 * //Output:
2665
+	 * //
2666
+	 * //string(3) "abc"
2667
+	 * //array(1) {
2668
+	 * //  [0]=>
2669
+	 * //  string(3) "def"
2670
+	 * //}
2671
+	 * //array(3) {
2672
+	 * //  [0]=>
2673
+	 * //  string(3) "abc"
2674
+	 * //  [1]=>
2675
+	 * //  string(3) "456"
2676
+	 * //  [2]=>
2677
+	 * //  string(3) "123"
2678
+	 * //}
2679
+	 * </pre>
2680
+	 */
2681
+	public function rPopLPush($srcKey, $dstKey) {}
2682
+
2683
+	/**
2684
+	 * A blocking version of rPopLPush, with an integral timeout in the third parameter.
2685
+	 *
2686
+	 * @param string $srcKey
2687
+	 * @param string $dstKey
2688
+	 * @param int    $timeout
2689
+	 *
2690
+	 * @return  string|mixed|bool  The element that was moved in case of success, FALSE in case of timeout
2691
+	 *
2692
+	 * @link    https://redis.io/commands/brpoplpush
2693
+	 */
2694
+	public function bRPopLPush($srcKey, $dstKey, $timeout) {}
2695
+
2696
+	/**
2697
+	 * Adds the specified member with a given score to the sorted set stored at key
2698
+	 *
2699
+	 * @param string                $key     Required key
2700
+	 * @param array|float           $options Options if needed or score if omitted
2701
+	 * @param float|string|mixed    $score1  Required score or value if options omitted
2702
+	 * @param string|float|mixed    $value1  Required value or optional score if options omitted
2703
+	 * @param float|string|mixed    $score2  Optional score or value if options omitted
2704
+	 * @param string|float|mixed    $value2  Optional value or score if options omitted
2705
+	 * @param float|string|mixed    $scoreN  Optional score or value if options omitted
2706
+	 * @param string|float|mixed    $valueN  Optional value or score if options omitted
2707
+	 *
2708
+	 * @return int Number of values added
2709
+	 *
2710
+	 * @link    https://redis.io/commands/zadd
2711
+	 * @example
2712
+	 * <pre>
2713
+	 * $redis->zAdd('z', 1, 'v1', 2, 'v2', 3, 'v3', 4, 'v4' );  // int(2)
2714
+	 * $redis->zRem('z', 'v2', 'v3');                           // int(2)
2715
+	 * $redis->zAdd('z', ['NX'], 5, 'v5');                      // int(1)
2716
+	 * $redis->zAdd('z', ['NX'], 6, 'v5');                      // int(0)
2717
+	 * $redis->zAdd('z', 7, 'v6');                              // int(1)
2718
+	 * $redis->zAdd('z', 8, 'v6');                              // int(0)
2719
+	 *
2720
+	 * var_dump( $redis->zRange('z', 0, -1) );
2721
+	 * // Output:
2722
+	 * // array(4) {
2723
+	 * //   [0]=> string(2) "v1"
2724
+	 * //   [1]=> string(2) "v4"
2725
+	 * //   [2]=> string(2) "v5"
2726
+	 * //   [3]=> string(2) "v8"
2727
+	 * // }
2728
+	 *
2729
+	 * var_dump( $redis->zRange('z', 0, -1, true) );
2730
+	 * // Output:
2731
+	 * // array(4) {
2732
+	 * //   ["v1"]=> float(1)
2733
+	 * //   ["v4"]=> float(4)
2734
+	 * //   ["v5"]=> float(5)
2735
+	 * //   ["v6"]=> float(8)
2736
+	 * </pre>
2737
+	 */
2738
+	public function zAdd($key, $options, $score1, $value1 = null, $score2 = null, $value2 = null, $scoreN = null, $valueN = null) {}
2739
+
2740
+	/**
2741
+	 * Returns a range of elements from the ordered set stored at the specified key,
2742
+	 * with values in the range [start, end]. start and stop are interpreted as zero-based indices:
2743
+	 * 0 the first element,
2744
+	 * 1 the second ...
2745
+	 * -1 the last element,
2746
+	 * -2 the penultimate ...
2747
+	 *
2748
+	 * @param string $key
2749
+	 * @param int    $start
2750
+	 * @param int    $end
2751
+	 * @param bool   $withscores
2752
+	 *
2753
+	 * @return array Array containing the values in specified range.
2754
+	 *
2755
+	 * @link    https://redis.io/commands/zrange
2756
+	 * @example
2757
+	 * <pre>
2758
+	 * $redis->zAdd('key1', 0, 'val0');
2759
+	 * $redis->zAdd('key1', 2, 'val2');
2760
+	 * $redis->zAdd('key1', 10, 'val10');
2761
+	 * $redis->zRange('key1', 0, -1); // array('val0', 'val2', 'val10')
2762
+	 * // with scores
2763
+	 * $redis->zRange('key1', 0, -1, true); // array('val0' => 0, 'val2' => 2, 'val10' => 10)
2764
+	 * </pre>
2765
+	 */
2766
+	public function zRange($key, $start, $end, $withscores = null) {}
2767
+
2768
+	/**
2769
+	 * Deletes a specified member from the ordered set.
2770
+	 *
2771
+	 * @param string       $key
2772
+	 * @param string|mixed $member1
2773
+	 * @param string|mixed ...$otherMembers
2774
+	 *
2775
+	 * @return int Number of deleted values
2776
+	 *
2777
+	 * @link    https://redis.io/commands/zrem
2778
+	 * @example
2779
+	 * <pre>
2780
+	 * $redis->zAdd('z', 1, 'v1', 2, 'v2', 3, 'v3', 4, 'v4' );  // int(2)
2781
+	 * $redis->zRem('z', 'v2', 'v3');                           // int(2)
2782
+	 * var_dump( $redis->zRange('z', 0, -1) );
2783
+	 * //// Output:
2784
+	 * // array(2) {
2785
+	 * //   [0]=> string(2) "v1"
2786
+	 * //   [1]=> string(2) "v4"
2787
+	 * // }
2788
+	 * </pre>
2789
+	 */
2790
+	public function zRem($key, $member1, ...$otherMembers) {}
2791
+
2792
+	/**
2793
+	 * @link https://redis.io/commands/zrem
2794
+	 *
2795
+	 * @param string       $key
2796
+	 * @param string|mixed $member1
2797
+	 * @param string|mixed ...$otherMembers
2798
+	 *
2799
+	 * @return int Number of deleted values
2800
+	 */
2801
+	#[Deprecated(replacement: '%class%->zRem(%parametersList%)')]
2802
+	public function zDelete($key, $member1, ...$otherMembers) {}
2803
+
2804
+	/**
2805
+	 * Returns the elements of the sorted set stored at the specified key in the range [start, end]
2806
+	 * in reverse order. start and stop are interpretated as zero-based indices:
2807
+	 * 0 the first element,
2808
+	 * 1 the second ...
2809
+	 * -1 the last element,
2810
+	 * -2 the penultimate ...
2811
+	 *
2812
+	 * @param string $key
2813
+	 * @param int    $start
2814
+	 * @param int    $end
2815
+	 * @param bool   $withscore
2816
+	 *
2817
+	 * @return array Array containing the values in specified range.
2818
+	 *
2819
+	 * @link    https://redis.io/commands/zrevrange
2820
+	 * @example
2821
+	 * <pre>
2822
+	 * $redis->zAdd('key', 0, 'val0');
2823
+	 * $redis->zAdd('key', 2, 'val2');
2824
+	 * $redis->zAdd('key', 10, 'val10');
2825
+	 * $redis->zRevRange('key', 0, -1); // array('val10', 'val2', 'val0')
2826
+	 *
2827
+	 * // with scores
2828
+	 * $redis->zRevRange('key', 0, -1, true); // array('val10' => 10, 'val2' => 2, 'val0' => 0)
2829
+	 * </pre>
2830
+	 */
2831
+	public function zRevRange($key, $start, $end, $withscore = null) {}
2832
+
2833
+	/**
2834
+	 * Returns the elements of the sorted set stored at the specified key which have scores in the
2835
+	 * range [start,end]. Adding a parenthesis before start or end excludes it from the range.
2836
+	 * +inf and -inf are also valid limits.
2837
+	 *
2838
+	 * zRevRangeByScore returns the same items in reverse order, when the start and end parameters are swapped.
2839
+	 *
2840
+	 * @param string $key
2841
+	 * @param int    $start
2842
+	 * @param int    $end
2843
+	 * @param array  $options Two options are available:
2844
+	 *  - withscores => TRUE,
2845
+	 *  - and limit => array($offset, $count)
2846
+	 *
2847
+	 * @return array Array containing the values in specified range.
2848
+	 *
2849
+	 * @link    https://redis.io/commands/zrangebyscore
2850
+	 * @example
2851
+	 * <pre>
2852
+	 * $redis->zAdd('key', 0, 'val0');
2853
+	 * $redis->zAdd('key', 2, 'val2');
2854
+	 * $redis->zAdd('key', 10, 'val10');
2855
+	 * $redis->zRangeByScore('key', 0, 3);                                          // array('val0', 'val2')
2856
+	 * $redis->zRangeByScore('key', 0, 3, array('withscores' => TRUE);              // array('val0' => 0, 'val2' => 2)
2857
+	 * $redis->zRangeByScore('key', 0, 3, array('limit' => array(1, 1));                        // array('val2')
2858
+	 * $redis->zRangeByScore('key', 0, 3, array('withscores' => TRUE, 'limit' => array(1, 1));  // array('val2' => 2)
2859
+	 * </pre>
2860
+	 */
2861
+	public function zRangeByScore($key, $start, $end, array $options = []) {}
2862
+
2863
+	/**
2864
+	 * @see zRangeByScore()
2865
+	 * @param string $key
2866
+	 * @param int    $start
2867
+	 * @param int    $end
2868
+	 * @param array  $options
2869
+	 *
2870
+	 * @return array
2871
+	 */
2872
+	public function zRevRangeByScore($key, $start, $end, array $options = []) {}
2873
+
2874
+	/**
2875
+	 * Returns a lexigraphical range of members in a sorted set, assuming the members have the same score. The
2876
+	 * min and max values are required to start with '(' (exclusive), '[' (inclusive), or be exactly the values
2877
+	 * '-' (negative inf) or '+' (positive inf).  The command must be called with either three *or* five
2878
+	 * arguments or will return FALSE.
2879
+	 *
2880
+	 * @param string $key    The ZSET you wish to run against.
2881
+	 * @param int    $min    The minimum alphanumeric value you wish to get.
2882
+	 * @param int    $max    The maximum alphanumeric value you wish to get.
2883
+	 * @param int    $offset Optional argument if you wish to start somewhere other than the first element.
2884
+	 * @param int    $limit  Optional argument if you wish to limit the number of elements returned.
2885
+	 *
2886
+	 * @return array|false Array containing the values in the specified range.
2887
+	 *
2888
+	 * @link    https://redis.io/commands/zrangebylex
2889
+	 * @example
2890
+	 * <pre>
2891
+	 * foreach (array('a', 'b', 'c', 'd', 'e', 'f', 'g') as $char) {
2892
+	 *     $redis->zAdd('key', $char);
2893
+	 * }
2894
+	 *
2895
+	 * $redis->zRangeByLex('key', '-', '[c'); // array('a', 'b', 'c')
2896
+	 * $redis->zRangeByLex('key', '-', '(c'); // array('a', 'b')
2897
+	 * $redis->zRangeByLex('key', '-', '[c'); // array('b', 'c')
2898
+	 * </pre>
2899
+	 */
2900
+	public function zRangeByLex($key, $min, $max, $offset = null, $limit = null) {}
2901
+
2902
+	/**
2903
+	 * @see zRangeByLex()
2904
+	 * @param string $key
2905
+	 * @param int    $min
2906
+	 * @param int    $max
2907
+	 * @param int    $offset
2908
+	 * @param int    $limit
2909
+	 *
2910
+	 * @return array
2911
+	 *
2912
+	 * @link    https://redis.io/commands/zrevrangebylex
2913
+	 */
2914
+	public function zRevRangeByLex($key, $min, $max, $offset = null, $limit = null) {}
2915
+
2916
+	/**
2917
+	 * Returns the number of elements of the sorted set stored at the specified key which have
2918
+	 * scores in the range [start,end]. Adding a parenthesis before start or end excludes it
2919
+	 * from the range. +inf and -inf are also valid limits.
2920
+	 *
2921
+	 * @param string $key
2922
+	 * @param string $start
2923
+	 * @param string $end
2924
+	 *
2925
+	 * @return int the size of a corresponding zRangeByScore
2926
+	 *
2927
+	 * @link    https://redis.io/commands/zcount
2928
+	 * @example
2929
+	 * <pre>
2930
+	 * $redis->zAdd('key', 0, 'val0');
2931
+	 * $redis->zAdd('key', 2, 'val2');
2932
+	 * $redis->zAdd('key', 10, 'val10');
2933
+	 * $redis->zCount('key', 0, 3); // 2, corresponding to array('val0', 'val2')
2934
+	 * </pre>
2935
+	 */
2936
+	public function zCount($key, $start, $end) {}
2937
+
2938
+	/**
2939
+	 * Deletes the elements of the sorted set stored at the specified key which have scores in the range [start,end].
2940
+	 *
2941
+	 * @param string $key
2942
+	 * @param string $start double or "+inf" or "-inf" as a string
2943
+	 * @param string $end double or "+inf" or "-inf" as a string
2944
+	 *
2945
+	 * @return int The number of values deleted from the sorted set
2946
+	 *
2947
+	 * @link    https://redis.io/commands/zremrangebyscore
2948
+	 * @example
2949
+	 * <pre>
2950
+	 * $redis->zAdd('key', 0, 'val0');
2951
+	 * $redis->zAdd('key', 2, 'val2');
2952
+	 * $redis->zAdd('key', 10, 'val10');
2953
+	 * $redis->zRemRangeByScore('key', '0', '3'); // 2
2954
+	 * </pre>
2955
+	 */
2956
+	public function zRemRangeByScore($key, $start, $end) {}
2957
+
2958
+	/**
2959
+	 * @param string $key
2960
+	 * @param float  $start
2961
+	 * @param float  $end
2962
+	 */
2963
+	#[Deprecated(replacement: '%class%->zRemRangeByScore(%parametersList%)')]
2964
+	public function zDeleteRangeByScore($key, $start, $end) {}
2965
+
2966
+	/**
2967
+	 * Deletes the elements of the sorted set stored at the specified key which have rank in the range [start,end].
2968
+	 *
2969
+	 * @param string $key
2970
+	 * @param int    $start
2971
+	 * @param int    $end
2972
+	 *
2973
+	 * @return int The number of values deleted from the sorted set
2974
+	 *
2975
+	 * @link    https://redis.io/commands/zremrangebyrank
2976
+	 * @example
2977
+	 * <pre>
2978
+	 * $redis->zAdd('key', 1, 'one');
2979
+	 * $redis->zAdd('key', 2, 'two');
2980
+	 * $redis->zAdd('key', 3, 'three');
2981
+	 * $redis->zRemRangeByRank('key', 0, 1); // 2
2982
+	 * $redis->zRange('key', 0, -1, array('withscores' => TRUE)); // array('three' => 3)
2983
+	 * </pre>
2984
+	 */
2985
+	public function zRemRangeByRank($key, $start, $end) {}
2986
+
2987
+	/**
2988
+	 * @link    https://redis.io/commands/zremrangebyscore
2989
+	 *
2990
+	 * @param string $key
2991
+	 * @param int    $start
2992
+	 * @param int    $end
2993
+	 */
2994
+	#[Deprecated(replacement: '%class%->zRemRangeByRank(%parametersList%)')]
2995
+	public function zDeleteRangeByRank($key, $start, $end) {}
2996
+
2997
+	/**
2998
+	 * Returns the cardinality of an ordered set.
2999
+	 *
3000
+	 * @param string $key
3001
+	 *
3002
+	 * @return int the set's cardinality
3003
+	 *
3004
+	 * @link    https://redis.io/commands/zsize
3005
+	 * @example
3006
+	 * <pre>
3007
+	 * $redis->zAdd('key', 0, 'val0');
3008
+	 * $redis->zAdd('key', 2, 'val2');
3009
+	 * $redis->zAdd('key', 10, 'val10');
3010
+	 * $redis->zCard('key');            // 3
3011
+	 * </pre>
3012
+	 */
3013
+	public function zCard($key) {}
3014
+
3015
+	/**
3016
+	 * @param string $key
3017
+	 * @return int
3018
+	 */
3019
+	#[Deprecated(replacement: '%class%->zCard(%parametersList%)')]
3020
+	public function zSize($key) {}
3021
+
3022
+	/**
3023
+	 * Returns the score of a given member in the specified sorted set.
3024
+	 *
3025
+	 * @param string       $key
3026
+	 * @param string|mixed $member
3027
+	 *
3028
+	 * @return float|bool false if member or key not exists
3029
+	 *
3030
+	 * @link    https://redis.io/commands/zscore
3031
+	 * @example
3032
+	 * <pre>
3033
+	 * $redis->zAdd('key', 2.5, 'val2');
3034
+	 * $redis->zScore('key', 'val2'); // 2.5
3035
+	 * </pre>
3036
+	 */
3037
+	public function zScore($key, $member) {}
3038
+
3039
+	/**
3040
+	 * Returns the rank of a given member in the specified sorted set, starting at 0 for the item
3041
+	 * with the smallest score. zRevRank starts at 0 for the item with the largest score.
3042
+	 *
3043
+	 * @param string       $key
3044
+	 * @param string|mixed $member
3045
+	 *
3046
+	 * @return int|false the item's score, or false if key or member is not exists
3047
+	 *
3048
+	 * @link    https://redis.io/commands/zrank
3049
+	 * @example
3050
+	 * <pre>
3051
+	 * $redis->del('z');
3052
+	 * $redis->zAdd('key', 1, 'one');
3053
+	 * $redis->zAdd('key', 2, 'two');
3054
+	 * $redis->zRank('key', 'one');     // 0
3055
+	 * $redis->zRank('key', 'two');     // 1
3056
+	 * $redis->zRevRank('key', 'one');  // 1
3057
+	 * $redis->zRevRank('key', 'two');  // 0
3058
+	 * </pre>
3059
+	 */
3060
+	public function zRank($key, $member) {}
3061
+
3062
+	/**
3063
+	 * @see zRank()
3064
+	 * @param string       $key
3065
+	 * @param string|mixed $member
3066
+	 *
3067
+	 * @return int|false the item's score, false - if key or member is not exists
3068
+	 *
3069
+	 * @link   https://redis.io/commands/zrevrank
3070
+	 */
3071
+	public function zRevRank($key, $member) {}
3072
+
3073
+	/**
3074
+	 * Increments the score of a member from a sorted set by a given amount.
3075
+	 *
3076
+	 * @param string $key
3077
+	 * @param float  $value (double) value that will be added to the member's score
3078
+	 * @param string $member
3079
+	 *
3080
+	 * @return float the new value
3081
+	 *
3082
+	 * @link    https://redis.io/commands/zincrby
3083
+	 * @example
3084
+	 * <pre>
3085
+	 * $redis->del('key');
3086
+	 * $redis->zIncrBy('key', 2.5, 'member1');  // key or member1 didn't exist, so member1's score is to 0
3087
+	 *                                          // before the increment and now has the value 2.5
3088
+	 * $redis->zIncrBy('key', 1, 'member1');    // 3.5
3089
+	 * </pre>
3090
+	 */
3091
+	public function zIncrBy($key, $value, $member) {}
3092
+
3093
+	/**
3094
+	 * Creates an union of sorted sets given in second argument.
3095
+	 * The result of the union will be stored in the sorted set defined by the first argument.
3096
+	 * The third optionnel argument defines weights to apply to the sorted sets in input.
3097
+	 * In this case, the weights will be multiplied by the score of each element in the sorted set
3098
+	 * before applying the aggregation. The forth argument defines the AGGREGATE option which
3099
+	 * specify how the results of the union are aggregated.
3100
+	 *
3101
+	 * @param string $output
3102
+	 * @param array  $zSetKeys
3103
+	 * @param null|array $weights
3104
+	 * @param string $aggregateFunction  Either "SUM", "MIN", or "MAX": defines the behaviour to use on
3105
+	 * duplicate entries during the zUnionStore
3106
+	 *
3107
+	 * @return int The number of values in the new sorted set
3108
+	 *
3109
+	 * @link    https://redis.io/commands/zunionstore
3110
+	 * @example
3111
+	 * <pre>
3112
+	 * $redis->del('k1');
3113
+	 * $redis->del('k2');
3114
+	 * $redis->del('k3');
3115
+	 * $redis->del('ko1');
3116
+	 * $redis->del('ko2');
3117
+	 * $redis->del('ko3');
3118
+	 *
3119
+	 * $redis->zAdd('k1', 0, 'val0');
3120
+	 * $redis->zAdd('k1', 1, 'val1');
3121
+	 *
3122
+	 * $redis->zAdd('k2', 2, 'val2');
3123
+	 * $redis->zAdd('k2', 3, 'val3');
3124
+	 *
3125
+	 * $redis->zUnionStore('ko1', array('k1', 'k2')); // 4, 'ko1' => array('val0', 'val1', 'val2', 'val3')
3126
+	 *
3127
+	 * // Weighted zUnionStore
3128
+	 * $redis->zUnionStore('ko2', array('k1', 'k2'), array(1, 1)); // 4, 'ko2' => array('val0', 'val1', 'val2', 'val3')
3129
+	 * $redis->zUnionStore('ko3', array('k1', 'k2'), array(5, 1)); // 4, 'ko3' => array('val0', 'val2', 'val3', 'val1')
3130
+	 * </pre>
3131
+	 */
3132
+	public function zUnionStore($output, $zSetKeys, ?array $weights = null, $aggregateFunction = 'SUM') {}
3133
+
3134
+	/**
3135
+	 * @param string     $Output
3136
+	 * @param array      $ZSetKeys
3137
+	 * @param array|null $Weights
3138
+	 * @param string     $aggregateFunction
3139
+	 */
3140
+	#[Deprecated(replacement: '%class%->zUnionStore(%parametersList%)')]
3141
+	public function zUnion($Output, $ZSetKeys, array $Weights = null, $aggregateFunction = 'SUM') {}
3142
+
3143
+	/**
3144
+	 * Creates an intersection of sorted sets given in second argument.
3145
+	 * The result of the union will be stored in the sorted set defined by the first argument.
3146
+	 * The third optional argument defines weights to apply to the sorted sets in input.
3147
+	 * In this case, the weights will be multiplied by the score of each element in the sorted set
3148
+	 * before applying the aggregation. The forth argument defines the AGGREGATE option which
3149
+	 * specify how the results of the union are aggregated.
3150
+	 *
3151
+	 * @param string $output
3152
+	 * @param array  $zSetKeys
3153
+	 * @param null|array $weights
3154
+	 * @param string $aggregateFunction Either "SUM", "MIN", or "MAX":
3155
+	 * defines the behaviour to use on duplicate entries during the zInterStore.
3156
+	 *
3157
+	 * @return int The number of values in the new sorted set.
3158
+	 *
3159
+	 * @link    https://redis.io/commands/zinterstore
3160
+	 * @example
3161
+	 * <pre>
3162
+	 * $redis->del('k1');
3163
+	 * $redis->del('k2');
3164
+	 * $redis->del('k3');
3165
+	 *
3166
+	 * $redis->del('ko1');
3167
+	 * $redis->del('ko2');
3168
+	 * $redis->del('ko3');
3169
+	 * $redis->del('ko4');
3170
+	 *
3171
+	 * $redis->zAdd('k1', 0, 'val0');
3172
+	 * $redis->zAdd('k1', 1, 'val1');
3173
+	 * $redis->zAdd('k1', 3, 'val3');
3174
+	 *
3175
+	 * $redis->zAdd('k2', 2, 'val1');
3176
+	 * $redis->zAdd('k2', 3, 'val3');
3177
+	 *
3178
+	 * $redis->zInterStore('ko1', array('k1', 'k2'));               // 2, 'ko1' => array('val1', 'val3')
3179
+	 * $redis->zInterStore('ko2', array('k1', 'k2'), array(1, 1));  // 2, 'ko2' => array('val1', 'val3')
3180
+	 *
3181
+	 * // Weighted zInterStore
3182
+	 * $redis->zInterStore('ko3', array('k1', 'k2'), array(1, 5), 'min'); // 2, 'ko3' => array('val1', 'val3')
3183
+	 * $redis->zInterStore('ko4', array('k1', 'k2'), array(1, 5), 'max'); // 2, 'ko4' => array('val3', 'val1')
3184
+	 * </pre>
3185
+	 */
3186
+	public function zInterStore($output, $zSetKeys, array $weights = null, $aggregateFunction = 'SUM') {}
3187
+
3188
+	/**
3189
+	 * @param $Output
3190
+	 * @param $ZSetKeys
3191
+	 * @param array|null $Weights
3192
+	 * @param string $aggregateFunction
3193
+	 */
3194
+	#[Deprecated(replacement: '%class%->zInterStore(%parametersList%)')]
3195
+	public function zInter($Output, $ZSetKeys, array $Weights = null, $aggregateFunction = 'SUM') {}
3196
+
3197
+	/**
3198
+	 * Scan a sorted set for members, with optional pattern and count
3199
+	 *
3200
+	 * @param string $key      String, the set to scan.
3201
+	 * @param int    &$iterator Long (reference), initialized to NULL.
3202
+	 * @param string $pattern  String (optional), the pattern to match.
3203
+	 * @param int    $count    How many keys to return per iteration (Redis might return a different number).
3204
+	 *
3205
+	 * @return array|false PHPRedis will return matching keys from Redis, or FALSE when iteration is complete
3206
+	 *
3207
+	 * @link    https://redis.io/commands/zscan
3208
+	 * @example
3209
+	 * <pre>
3210
+	 * $iterator = null;
3211
+	 * while ($members = $redis-zscan('zset', $iterator)) {
3212
+	 *     foreach ($members as $member => $score) {
3213
+	 *         echo $member . ' => ' . $score . PHP_EOL;
3214
+	 *     }
3215
+	 * }
3216
+	 * </pre>
3217
+	 */
3218
+	public function zScan($key, &$iterator, $pattern = null, $count = 0) {}
3219
+
3220
+	/**
3221
+	 * Block until Redis can pop the highest or lowest scoring members from one or more ZSETs.
3222
+	 * There are two commands (BZPOPMIN and BZPOPMAX for popping the lowest and highest scoring elements respectively.)
3223
+	 *
3224
+	 * @param string|array $key1
3225
+	 * @param string|array $key2 ...
3226
+	 * @param int $timeout
3227
+	 *
3228
+	 * @return array Either an array with the key member and score of the highest or lowest element or an empty array
3229
+	 * if the timeout was reached without an element to pop.
3230
+	 *
3231
+	 * @since >= 5.0
3232
+	 * @link https://redis.io/commands/bzpopmax
3233
+	 * @example
3234
+	 * <pre>
3235
+	 * // Wait up to 5 seconds to pop the *lowest* scoring member from sets `zs1` and `zs2`.
3236
+	 * $redis->bzPopMin(['zs1', 'zs2'], 5);
3237
+	 * $redis->bzPopMin('zs1', 'zs2', 5);
3238
+	 *
3239
+	 * // Wait up to 5 seconds to pop the *highest* scoring member from sets `zs1` and `zs2`
3240
+	 * $redis->bzPopMax(['zs1', 'zs2'], 5);
3241
+	 * $redis->bzPopMax('zs1', 'zs2', 5);
3242
+	 * </pre>
3243
+	 */
3244
+	public function bzPopMax($key1, $key2, $timeout) {}
3245
+
3246
+	/**
3247
+	 * @param string|array $key1
3248
+	 * @param string|array $key2 ...
3249
+	 * @param int $timeout
3250
+	 *
3251
+	 * @return array Either an array with the key member and score of the highest or lowest element or an empty array
3252
+	 * if the timeout was reached without an element to pop.
3253
+	 *
3254
+	 * @see bzPopMax
3255
+	 * @since >= 5.0
3256
+	 * @link https://redis.io/commands/bzpopmin
3257
+	 */
3258
+	public function bzPopMin($key1, $key2, $timeout) {}
3259
+
3260
+	/**
3261
+	 * Can pop the highest scoring members from one ZSET.
3262
+	 *
3263
+	 * @param string $key
3264
+	 * @param int $count
3265
+	 *
3266
+	 * @return array Either an array with the key member and score of the highest element or an empty array
3267
+	 * if there is no element to pop.
3268
+	 *
3269
+	 * @since >= 5.0
3270
+	 * @link https://redis.io/commands/zpopmax
3271
+	 * @example
3272
+	 * <pre>
3273
+	 * // Pop the *lowest* scoring member from set `zs1`.
3274
+	 * $redis->zPopMax('zs1');
3275
+	 * // Pop the *lowest* 3 scoring member from set `zs1`.
3276
+	 * $redis->zPopMax('zs1', 3);
3277
+	 * </pre>
3278
+	 */
3279
+	public function zPopMax($key, $count = 1) {}
3280
+
3281
+	/**
3282
+	 * Can pop the lowest scoring members from one ZSET.
3283
+	 *
3284
+	 * @param string $key
3285
+	 * @param int $count
3286
+	 *
3287
+	 * @return array Either an array with the key member and score of the lowest element or an empty array
3288
+	 * if there is no element to pop.
3289
+	 *
3290
+	 * @since >= 5.0
3291
+	 * @link https://redis.io/commands/zpopmin
3292
+	 * @example
3293
+	 * <pre>
3294
+	 * // Pop the *lowest* scoring member from set `zs1`.
3295
+	 * $redis->zPopMin('zs1');
3296
+	 * // Pop the *lowest* 3 scoring member from set `zs1`.
3297
+	 * $redis->zPopMin('zs1', 3);
3298
+	 * </pre>
3299
+	 */
3300
+	public function zPopMin($key, $count = 1) {}
3301
+
3302
+	/**
3303
+	 * Adds a value to the hash stored at key. If this value is already in the hash, FALSE is returned.
3304
+	 *
3305
+	 * @param string $key
3306
+	 * @param string $hashKey
3307
+	 * @param string $value
3308
+	 *
3309
+	 * @return int|bool
3310
+	 * - 1 if value didn't exist and was added successfully,
3311
+	 * - 0 if the value was already present and was replaced, FALSE if there was an error.
3312
+	 *
3313
+	 * @link    https://redis.io/commands/hset
3314
+	 * @example
3315
+	 * <pre>
3316
+	 * $redis->del('h')
3317
+	 * $redis->hSet('h', 'key1', 'hello');  // 1, 'key1' => 'hello' in the hash at "h"
3318
+	 * $redis->hGet('h', 'key1');           // returns "hello"
3319
+	 *
3320
+	 * $redis->hSet('h', 'key1', 'plop');   // 0, value was replaced.
3321
+	 * $redis->hGet('h', 'key1');           // returns "plop"
3322
+	 * </pre>
3323
+	 */
3324
+	public function hSet($key, $hashKey, $value) {}
3325
+
3326
+	/**
3327
+	 * Adds a value to the hash stored at key only if this field isn't already in the hash.
3328
+	 *
3329
+	 * @param string $key
3330
+	 * @param string $hashKey
3331
+	 * @param string $value
3332
+	 *
3333
+	 * @return  bool TRUE if the field was set, FALSE if it was already present.
3334
+	 *
3335
+	 * @link    https://redis.io/commands/hsetnx
3336
+	 * @example
3337
+	 * <pre>
3338
+	 * $redis->del('h')
3339
+	 * $redis->hSetNx('h', 'key1', 'hello'); // TRUE, 'key1' => 'hello' in the hash at "h"
3340
+	 * $redis->hSetNx('h', 'key1', 'world'); // FALSE, 'key1' => 'hello' in the hash at "h". No change since the field
3341
+	 * wasn't replaced.
3342
+	 * </pre>
3343
+	 */
3344
+	public function hSetNx($key, $hashKey, $value) {}
3345
+
3346
+	/**
3347
+	 * Gets a value from the hash stored at key.
3348
+	 * If the hash table doesn't exist, or the key doesn't exist, FALSE is returned.
3349
+	 *
3350
+	 * @param string $key
3351
+	 * @param string $hashKey
3352
+	 *
3353
+	 * @return string|false The value, if the command executed successfully BOOL FALSE in case of failure
3354
+	 *
3355
+	 * @link    https://redis.io/commands/hget
3356
+	 */
3357
+	public function hGet($key, $hashKey) {}
3358
+
3359
+	/**
3360
+	 * Returns the length of a hash, in number of items
3361
+	 *
3362
+	 * @param string $key
3363
+	 *
3364
+	 * @return int|false the number of items in a hash, FALSE if the key doesn't exist or isn't a hash
3365
+	 *
3366
+	 * @link    https://redis.io/commands/hlen
3367
+	 * @example
3368
+	 * <pre>
3369
+	 * $redis->del('h')
3370
+	 * $redis->hSet('h', 'key1', 'hello');
3371
+	 * $redis->hSet('h', 'key2', 'plop');
3372
+	 * $redis->hLen('h'); // returns 2
3373
+	 * </pre>
3374
+	 */
3375
+	public function hLen($key) {}
3376
+
3377
+	/**
3378
+	 * Removes a values from the hash stored at key.
3379
+	 * If the hash table doesn't exist, or the key doesn't exist, FALSE is returned.
3380
+	 *
3381
+	 * @param string $key
3382
+	 * @param string $hashKey1
3383
+	 * @param string ...$otherHashKeys
3384
+	 *
3385
+	 * @return int|bool Number of deleted fields
3386
+	 *
3387
+	 * @link    https://redis.io/commands/hdel
3388
+	 * @example
3389
+	 * <pre>
3390
+	 * $redis->hMSet('h',
3391
+	 *               array(
3392
+	 *                    'f1' => 'v1',
3393
+	 *                    'f2' => 'v2',
3394
+	 *                    'f3' => 'v3',
3395
+	 *                    'f4' => 'v4',
3396
+	 *               ));
3397
+	 *
3398
+	 * var_dump( $redis->hDel('h', 'f1') );        // int(1)
3399
+	 * var_dump( $redis->hDel('h', 'f2', 'f3') );  // int(2)
3400
+	 * s
3401
+	 * var_dump( $redis->hGetAll('h') );
3402
+	 * //// Output:
3403
+	 * //  array(1) {
3404
+	 * //    ["f4"]=> string(2) "v4"
3405
+	 * //  }
3406
+	 * </pre>
3407
+	 */
3408
+	public function hDel($key, $hashKey1, ...$otherHashKeys) {}
3409
+
3410
+	/**
3411
+	 * Returns the keys in a hash, as an array of strings.
3412
+	 *
3413
+	 * @param string $key
3414
+	 *
3415
+	 * @return array An array of elements, the keys of the hash. This works like PHP's array_keys().
3416
+	 *
3417
+	 * @link    https://redis.io/commands/hkeys
3418
+	 * @example
3419
+	 * <pre>
3420
+	 * $redis->del('h');
3421
+	 * $redis->hSet('h', 'a', 'x');
3422
+	 * $redis->hSet('h', 'b', 'y');
3423
+	 * $redis->hSet('h', 'c', 'z');
3424
+	 * $redis->hSet('h', 'd', 't');
3425
+	 * var_dump($redis->hKeys('h'));
3426
+	 *
3427
+	 * // Output:
3428
+	 * // array(4) {
3429
+	 * // [0]=>
3430
+	 * // string(1) "a"
3431
+	 * // [1]=>
3432
+	 * // string(1) "b"
3433
+	 * // [2]=>
3434
+	 * // string(1) "c"
3435
+	 * // [3]=>
3436
+	 * // string(1) "d"
3437
+	 * // }
3438
+	 * // The order is random and corresponds to redis' own internal representation of the set structure.
3439
+	 * </pre>
3440
+	 */
3441
+	public function hKeys($key) {}
3442
+
3443
+	/**
3444
+	 * Returns the values in a hash, as an array of strings.
3445
+	 *
3446
+	 * @param string $key
3447
+	 *
3448
+	 * @return array An array of elements, the values of the hash. This works like PHP's array_values().
3449
+	 *
3450
+	 * @link    https://redis.io/commands/hvals
3451
+	 * @example
3452
+	 * <pre>
3453
+	 * $redis->del('h');
3454
+	 * $redis->hSet('h', 'a', 'x');
3455
+	 * $redis->hSet('h', 'b', 'y');
3456
+	 * $redis->hSet('h', 'c', 'z');
3457
+	 * $redis->hSet('h', 'd', 't');
3458
+	 * var_dump($redis->hVals('h'));
3459
+	 *
3460
+	 * // Output
3461
+	 * // array(4) {
3462
+	 * //   [0]=>
3463
+	 * //   string(1) "x"
3464
+	 * //   [1]=>
3465
+	 * //   string(1) "y"
3466
+	 * //   [2]=>
3467
+	 * //   string(1) "z"
3468
+	 * //   [3]=>
3469
+	 * //   string(1) "t"
3470
+	 * // }
3471
+	 * // The order is random and corresponds to redis' own internal representation of the set structure.
3472
+	 * </pre>
3473
+	 */
3474
+	public function hVals($key) {}
3475
+
3476
+	/**
3477
+	 * Returns the whole hash, as an array of strings indexed by strings.
3478
+	 *
3479
+	 * @param string $key
3480
+	 *
3481
+	 * @return array An array of elements, the contents of the hash.
3482
+	 *
3483
+	 * @link    https://redis.io/commands/hgetall
3484
+	 * @example
3485
+	 * <pre>
3486
+	 * $redis->del('h');
3487
+	 * $redis->hSet('h', 'a', 'x');
3488
+	 * $redis->hSet('h', 'b', 'y');
3489
+	 * $redis->hSet('h', 'c', 'z');
3490
+	 * $redis->hSet('h', 'd', 't');
3491
+	 * var_dump($redis->hGetAll('h'));
3492
+	 *
3493
+	 * // Output:
3494
+	 * // array(4) {
3495
+	 * //   ["a"]=>
3496
+	 * //   string(1) "x"
3497
+	 * //   ["b"]=>
3498
+	 * //   string(1) "y"
3499
+	 * //   ["c"]=>
3500
+	 * //   string(1) "z"
3501
+	 * //   ["d"]=>
3502
+	 * //   string(1) "t"
3503
+	 * // }
3504
+	 * // The order is random and corresponds to redis' own internal representation of the set structure.
3505
+	 * </pre>
3506
+	 */
3507
+	public function hGetAll($key) {}
3508
+
3509
+	/**
3510
+	 * Verify if the specified member exists in a key.
3511
+	 *
3512
+	 * @param string $key
3513
+	 * @param string $hashKey
3514
+	 *
3515
+	 * @return bool If the member exists in the hash table, return TRUE, otherwise return FALSE.
3516
+	 *
3517
+	 * @link    https://redis.io/commands/hexists
3518
+	 * @example
3519
+	 * <pre>
3520
+	 * $redis->hSet('h', 'a', 'x');
3521
+	 * $redis->hExists('h', 'a');               //  TRUE
3522
+	 * $redis->hExists('h', 'NonExistingKey');  // FALSE
3523
+	 * </pre>
3524
+	 */
3525
+	public function hExists($key, $hashKey) {}
3526
+
3527
+	/**
3528
+	 * Increments the value of a member from a hash by a given amount.
3529
+	 *
3530
+	 * @param string $key
3531
+	 * @param string $hashKey
3532
+	 * @param int    $value (integer) value that will be added to the member's value
3533
+	 *
3534
+	 * @return int the new value
3535
+	 *
3536
+	 * @link    https://redis.io/commands/hincrby
3537
+	 * @example
3538
+	 * <pre>
3539
+	 * $redis->del('h');
3540
+	 * $redis->hIncrBy('h', 'x', 2); // returns 2: h[x] = 2 now.
3541
+	 * $redis->hIncrBy('h', 'x', 1); // h[x] ← 2 + 1. Returns 3
3542
+	 * </pre>
3543
+	 */
3544
+	public function hIncrBy($key, $hashKey, $value) {}
3545
+
3546
+	/**
3547
+	 * Increment the float value of a hash field by the given amount
3548
+	 *
3549
+	 * @param string $key
3550
+	 * @param string $field
3551
+	 * @param float  $increment
3552
+	 *
3553
+	 * @return float
3554
+	 *
3555
+	 * @link    https://redis.io/commands/hincrbyfloat
3556
+	 * @example
3557
+	 * <pre>
3558
+	 * $redis = new Redis();
3559
+	 * $redis->connect('127.0.0.1');
3560
+	 * $redis->hset('h', 'float', 3);
3561
+	 * $redis->hset('h', 'int',   3);
3562
+	 * var_dump( $redis->hIncrByFloat('h', 'float', 1.5) ); // float(4.5)
3563
+	 *
3564
+	 * var_dump( $redis->hGetAll('h') );
3565
+	 *
3566
+	 * // Output
3567
+	 *  array(2) {
3568
+	 *    ["float"]=>
3569
+	 *    string(3) "4.5"
3570
+	 *    ["int"]=>
3571
+	 *    string(1) "3"
3572
+	 *  }
3573
+	 * </pre>
3574
+	 */
3575
+	public function hIncrByFloat($key, $field, $increment) {}
3576
+
3577
+	/**
3578
+	 * Fills in a whole hash. Non-string values are converted to string, using the standard (string) cast.
3579
+	 * NULL values are stored as empty strings
3580
+	 *
3581
+	 * @param string $key
3582
+	 * @param array  $hashKeys key → value array
3583
+	 *
3584
+	 * @return bool
3585
+	 *
3586
+	 * @link    https://redis.io/commands/hmset
3587
+	 * @example
3588
+	 * <pre>
3589
+	 * $redis->del('user:1');
3590
+	 * $redis->hMSet('user:1', array('name' => 'Joe', 'salary' => 2000));
3591
+	 * $redis->hIncrBy('user:1', 'salary', 100); // Joe earns 100 more now.
3592
+	 * </pre>
3593
+	 */
3594
+	public function hMSet($key, $hashKeys) {}
3595
+
3596
+	/**
3597
+	 * Retrieve the values associated to the specified fields in the hash.
3598
+	 *
3599
+	 * @param string $key
3600
+	 * @param array  $hashKeys
3601
+	 *
3602
+	 * @return array Array An array of elements, the values of the specified fields in the hash,
3603
+	 * with the hash keys as array keys.
3604
+	 *
3605
+	 * @link    https://redis.io/commands/hmget
3606
+	 * @example
3607
+	 * <pre>
3608
+	 * $redis->del('h');
3609
+	 * $redis->hSet('h', 'field1', 'value1');
3610
+	 * $redis->hSet('h', 'field2', 'value2');
3611
+	 * $redis->hMGet('h', array('field1', 'field2')); // returns array('field1' => 'value1', 'field2' => 'value2')
3612
+	 * </pre>
3613
+	 */
3614
+	public function hMGet($key, $hashKeys) {}
3615
+
3616
+	/**
3617
+	 * Scan a HASH value for members, with an optional pattern and count.
3618
+	 *
3619
+	 * @param string $key
3620
+	 * @param int    &$iterator
3621
+	 * @param string $pattern    Optional pattern to match against.
3622
+	 * @param int    $count      How many keys to return in a go (only a sugestion to Redis).
3623
+	 *
3624
+	 * @return array An array of members that match our pattern.
3625
+	 *
3626
+	 * @link    https://redis.io/commands/hscan
3627
+	 * @example
3628
+	 * <pre>
3629
+	 * // $iterator = null;
3630
+	 * // while($elements = $redis->hscan('hash', $iterator)) {
3631
+	 * //     foreach($elements as $key => $value) {
3632
+	 * //         echo $key . ' => ' . $value . PHP_EOL;
3633
+	 * //     }
3634
+	 * // }
3635
+	 * </pre>
3636
+	 */
3637
+	public function hScan($key, &$iterator, $pattern = null, $count = 0) {}
3638
+
3639
+	/**
3640
+	 * Get the string length of the value associated with field in the hash stored at key
3641
+	 *
3642
+	 * @param string $key
3643
+	 * @param string $field
3644
+	 *
3645
+	 * @return int the string length of the value associated with field, or zero when field is not present in the hash
3646
+	 * or key does not exist at all.
3647
+	 *
3648
+	 * @link https://redis.io/commands/hstrlen
3649
+	 * @since >= 3.2
3650
+	 */
3651
+	public function hStrLen(string $key, string $field) {}
3652
+
3653
+	/**
3654
+	 * Add one or more geospatial items to the specified key.
3655
+	 * This function must be called with at least one longitude, latitude, member triplet.
3656
+	 *
3657
+	 * @param string $key
3658
+	 * @param float  $longitude
3659
+	 * @param float  $latitude
3660
+	 * @param string $member
3661
+	 *
3662
+	 * @return int The number of elements added to the geospatial key
3663
+	 *
3664
+	 * @link https://redis.io/commands/geoadd
3665
+	 * @since >= 3.2
3666
+	 *
3667
+	 * @example
3668
+	 * <pre>
3669
+	 * $redis->del("myplaces");
3670
+	 *
3671
+	 * // Since the key will be new, $result will be 2
3672
+	 * $result = $redis->geoAdd(
3673
+	 *   "myplaces",
3674
+	 *   -122.431, 37.773, "San Francisco",
3675
+	 *   -157.858, 21.315, "Honolulu"
3676
+	 * ); // 2
3677
+	 * </pre>
3678
+	 */
3679
+	public function geoAdd($key, $longitude, $latitude, $member) {}
3680
+
3681
+	/**
3682
+	 * Retrieve Geohash strings for one or more elements of a geospatial index.
3683
+	 * @param string $key
3684
+	 * @param string ...$member variadic list of members
3685
+	 *
3686
+	 * @return array One or more Redis Geohash encoded strings
3687
+	 *
3688
+	 * @link https://redis.io/commands/geohash
3689
+	 * @since >= 3.2
3690
+	 *
3691
+	 * @example
3692
+	 * <pre>
3693
+	 * $redis->geoAdd("hawaii", -157.858, 21.306, "Honolulu", -156.331, 20.798, "Maui");
3694
+	 * $hashes = $redis->geoHash("hawaii", "Honolulu", "Maui");
3695
+	 * var_dump($hashes);
3696
+	 * // Output: array(2) {
3697
+	 * //   [0]=>
3698
+	 * //   string(11) "87z9pyek3y0"
3699
+	 * //   [1]=>
3700
+	 * //   string(11) "8e8y6d5jps0"
3701
+	 * // }
3702
+	 * </pre>
3703
+	 */
3704
+	public function geoHash($key, ...$member) {}
3705
+
3706
+	/**
3707
+	 * Return longitude, latitude positions for each requested member.
3708
+	 *
3709
+	 * @param string $key
3710
+	 * @param string $member
3711
+	 * @return array One or more longitude/latitude positions
3712
+	 *
3713
+	 * @link https://redis.io/commands/geopos
3714
+	 * @since >= 3.2
3715
+	 *
3716
+	 * @example
3717
+	 * <pre>
3718
+	 * $redis->geoAdd("hawaii", -157.858, 21.306, "Honolulu", -156.331, 20.798, "Maui");
3719
+	 * $positions = $redis->geoPos("hawaii", "Honolulu", "Maui");
3720
+	 * var_dump($positions);
3721
+	 *
3722
+	 * // Output:
3723
+	 * array(2) {
3724
+	 *  [0]=> array(2) {
3725
+	 *      [0]=> string(22) "-157.85800248384475708"
3726
+	 *      [1]=> string(19) "21.3060004581273077"
3727
+	 *  }
3728
+	 *  [1]=> array(2) {
3729
+	 *      [0]=> string(22) "-156.33099943399429321"
3730
+	 *      [1]=> string(20) "20.79799924753607598"
3731
+	 *  }
3732
+	 * }
3733
+	 * </pre>
3734
+	 */
3735
+	public function geoPos(string $key, string $member) {}
3736
+
3737
+	/**
3738
+	 * Return the distance between two members in a geospatial set.
3739
+	 *
3740
+	 * If units are passed it must be one of the following values:
3741
+	 * - 'm' => Meters
3742
+	 * - 'km' => Kilometers
3743
+	 * - 'mi' => Miles
3744
+	 * - 'ft' => Feet
3745
+	 *
3746
+	 * @param string $key
3747
+	 * @param string $member1
3748
+	 * @param string $member2
3749
+	 * @param string|null $unit
3750
+	 *
3751
+	 * @return float The distance between the two passed members in the units requested (meters by default)
3752
+	 *
3753
+	 * @link https://redis.io/commands/geodist
3754
+	 * @since >= 3.2
3755
+	 *
3756
+	 * @example
3757
+	 * <pre>
3758
+	 * $redis->geoAdd("hawaii", -157.858, 21.306, "Honolulu", -156.331, 20.798, "Maui");
3759
+	 *
3760
+	 * $meters = $redis->geoDist("hawaii", "Honolulu", "Maui");
3761
+	 * $kilometers = $redis->geoDist("hawaii", "Honolulu", "Maui", 'km');
3762
+	 * $miles = $redis->geoDist("hawaii", "Honolulu", "Maui", 'mi');
3763
+	 * $feet = $redis->geoDist("hawaii", "Honolulu", "Maui", 'ft');
3764
+	 *
3765
+	 * echo "Distance between Honolulu and Maui:\n";
3766
+	 * echo "  meters    : $meters\n";
3767
+	 * echo "  kilometers: $kilometers\n";
3768
+	 * echo "  miles     : $miles\n";
3769
+	 * echo "  feet      : $feet\n";
3770
+	 *
3771
+	 * // Bad unit
3772
+	 * $inches = $redis->geoDist("hawaii", "Honolulu", "Maui", 'in');
3773
+	 * echo "Invalid unit returned:\n";
3774
+	 * var_dump($inches);
3775
+	 *
3776
+	 * // Output
3777
+	 * Distance between Honolulu and Maui:
3778
+	 * meters    : 168275.204
3779
+	 * kilometers: 168.2752
3780
+	 * miles     : 104.5616
3781
+	 * feet      : 552084.0028
3782
+	 * Invalid unit returned:
3783
+	 * bool(false)
3784
+	 * </pre>
3785
+	 */
3786
+	public function geoDist($key, $member1, $member2, $unit = null) {}
3787
+
3788
+	/**
3789
+	 * Return members of a set with geospatial information that are within the radius specified by the caller.
3790
+	 *
3791
+	 * @param $key
3792
+	 * @param $longitude
3793
+	 * @param $latitude
3794
+	 * @param $radius
3795
+	 * @param $unit
3796
+	 * @param array|null $options
3797
+	 * <pre>
3798
+	 * |Key         |Value          |Description                                        |
3799
+	 * |------------|---------------|---------------------------------------------------|
3800
+	 * |COUNT       |integer > 0    |Limit how many results are returned                |
3801
+	 * |            |WITHCOORD      |Return longitude and latitude of matching members  |
3802
+	 * |            |WITHDIST       |Return the distance from the center                |
3803
+	 * |            |WITHHASH       |Return the raw geohash-encoded score               |
3804
+	 * |            |ASC            |Sort results in ascending order                    |
3805
+	 * |            |DESC           |Sort results in descending order                   |
3806
+	 * |STORE       |key            |Store results in key                               |
3807
+	 * |STOREDIST   |key            |Store the results as distances in key              |
3808
+	 * </pre>
3809
+	 * Note: It doesn't make sense to pass both ASC and DESC options but if both are passed
3810
+	 * the last one passed will be used.
3811
+	 * Note: When using STORE[DIST] in Redis Cluster, the store key must has to the same slot as
3812
+	 * the query key or you will get a CROSSLOT error.
3813
+	 * @return mixed When no STORE option is passed, this function returns an array of results.
3814
+	 * If it is passed this function returns the number of stored entries.
3815
+	 *
3816
+	 * @link https://redis.io/commands/georadius
3817
+	 * @since >= 3.2
3818
+	 * @example
3819
+	 * <pre>
3820
+	 * // Add some cities
3821
+	 * $redis->geoAdd("hawaii", -157.858, 21.306, "Honolulu", -156.331, 20.798, "Maui");
3822
+	 *
3823
+	 * echo "Within 300 miles of Honolulu:\n";
3824
+	 * var_dump($redis->geoRadius("hawaii", -157.858, 21.306, 300, 'mi'));
3825
+	 *
3826
+	 * echo "\nWithin 300 miles of Honolulu with distances:\n";
3827
+	 * $options = ['WITHDIST'];
3828
+	 * var_dump($redis->geoRadius("hawaii", -157.858, 21.306, 300, 'mi', $options));
3829
+	 *
3830
+	 * echo "\nFirst result within 300 miles of Honolulu with distances:\n";
3831
+	 * $options['count'] = 1;
3832
+	 * var_dump($redis->geoRadius("hawaii", -157.858, 21.306, 300, 'mi', $options));
3833
+	 *
3834
+	 * echo "\nFirst result within 300 miles of Honolulu with distances in descending sort order:\n";
3835
+	 * $options[] = 'DESC';
3836
+	 * var_dump($redis->geoRadius("hawaii", -157.858, 21.306, 300, 'mi', $options));
3837
+	 *
3838
+	 * // Output
3839
+	 * Within 300 miles of Honolulu:
3840
+	 * array(2) {
3841
+	 *  [0]=> string(8) "Honolulu"
3842
+	 *  [1]=> string(4) "Maui"
3843
+	 * }
3844
+	 *
3845
+	 * Within 300 miles of Honolulu with distances:
3846
+	 * array(2) {
3847
+	 *     [0]=>
3848
+	 *   array(2) {
3849
+	 *         [0]=>
3850
+	 *     string(8) "Honolulu"
3851
+	 *         [1]=>
3852
+	 *     string(6) "0.0002"
3853
+	 *   }
3854
+	 *   [1]=>
3855
+	 *   array(2) {
3856
+	 *         [0]=>
3857
+	 *     string(4) "Maui"
3858
+	 *         [1]=>
3859
+	 *     string(8) "104.5615"
3860
+	 *   }
3861
+	 * }
3862
+	 *
3863
+	 * First result within 300 miles of Honolulu with distances:
3864
+	 * array(1) {
3865
+	 *     [0]=>
3866
+	 *   array(2) {
3867
+	 *         [0]=>
3868
+	 *     string(8) "Honolulu"
3869
+	 *         [1]=>
3870
+	 *     string(6) "0.0002"
3871
+	 *   }
3872
+	 * }
3873
+	 *
3874
+	 * First result within 300 miles of Honolulu with distances in descending sort order:
3875
+	 * array(1) {
3876
+	 *     [0]=>
3877
+	 *   array(2) {
3878
+	 *         [0]=>
3879
+	 *     string(4) "Maui"
3880
+	 *         [1]=>
3881
+	 *     string(8) "104.5615"
3882
+	 *   }
3883
+	 * }
3884
+	 * </pre>
3885
+	 */
3886
+	public function geoRadius($key, $longitude, $latitude, $radius, $unit, array $options = null) {}
3887
+
3888
+	/**
3889
+	 * This method is identical to geoRadius except that instead of passing a longitude and latitude as the "source"
3890
+	 * you pass an existing member in the geospatial set
3891
+	 *
3892
+	 * @param string $key
3893
+	 * @param string $member
3894
+	 * @param $radius
3895
+	 * @param $units
3896
+	 * @param array|null $options see georadius
3897
+	 *
3898
+	 * @return array The zero or more entries that are close enough to the member given the distance and radius specified
3899
+	 *
3900
+	 * @link https://redis.io/commands/georadiusbymember
3901
+	 * @since >= 3.2
3902
+	 * @see georadius
3903
+	 * @example
3904
+	 * <pre>
3905
+	 * $redis->geoAdd("hawaii", -157.858, 21.306, "Honolulu", -156.331, 20.798, "Maui");
3906
+	 *
3907
+	 * echo "Within 300 miles of Honolulu:\n";
3908
+	 * var_dump($redis->geoRadiusByMember("hawaii", "Honolulu", 300, 'mi'));
3909
+	 *
3910
+	 * echo "\nFirst match within 300 miles of Honolulu:\n";
3911
+	 * var_dump($redis->geoRadiusByMember("hawaii", "Honolulu", 300, 'mi', ['count' => 1]));
3912
+	 *
3913
+	 * // Output
3914
+	 * Within 300 miles of Honolulu:
3915
+	 * array(2) {
3916
+	 *  [0]=> string(8) "Honolulu"
3917
+	 *  [1]=> string(4) "Maui"
3918
+	 * }
3919
+	 *
3920
+	 * First match within 300 miles of Honolulu:
3921
+	 * array(1) {
3922
+	 *  [0]=> string(8) "Honolulu"
3923
+	 * }
3924
+	 * </pre>
3925
+	 */
3926
+	public function geoRadiusByMember($key, $member, $radius, $units, array $options = null) {}
3927
+
3928
+	/**
3929
+	 * Get or Set the redis config keys.
3930
+	 *
3931
+	 * @param string       $operation either `GET` or `SET`
3932
+	 * @param string       $key       for `SET`, glob-pattern for `GET`
3933
+	 * @param string|mixed $value     optional string (only for `SET`)
3934
+	 *
3935
+	 * @return array Associative array for `GET`, key -> value
3936
+	 *
3937
+	 * @link    https://redis.io/commands/config-get
3938
+	 * @example
3939
+	 * <pre>
3940
+	 * $redis->config("GET", "*max-*-entries*");
3941
+	 * $redis->config("SET", "dir", "/var/run/redis/dumps/");
3942
+	 * </pre>
3943
+	 */
3944
+	public function config($operation, $key, $value) {}
3945
+
3946
+	/**
3947
+	 * Evaluate a LUA script serverside
3948
+	 *
3949
+	 * @param string $script
3950
+	 * @param array  $args
3951
+	 * @param int    $numKeys
3952
+	 *
3953
+	 * @return mixed What is returned depends on what the LUA script itself returns, which could be a scalar value
3954
+	 * (int/string), or an array. Arrays that are returned can also contain other arrays, if that's how it was set up in
3955
+	 * your LUA script.  If there is an error executing the LUA script, the getLastError() function can tell you the
3956
+	 * message that came back from Redis (e.g. compile error).
3957
+	 *
3958
+	 * @link   https://redis.io/commands/eval
3959
+	 * @example
3960
+	 * <pre>
3961
+	 * $redis->eval("return 1"); // Returns an integer: 1
3962
+	 * $redis->eval("return {1,2,3}"); // Returns Array(1,2,3)
3963
+	 * $redis->del('mylist');
3964
+	 * $redis->rpush('mylist','a');
3965
+	 * $redis->rpush('mylist','b');
3966
+	 * $redis->rpush('mylist','c');
3967
+	 * // Nested response:  Array(1,2,3,Array('a','b','c'));
3968
+	 * $redis->eval("return {1,2,3,redis.call('lrange','mylist',0,-1)}}");
3969
+	 * </pre>
3970
+	 */
3971
+	public function eval($script, $args = [], $numKeys = 0) {}
3972
+
3973
+	/**
3974
+	 * @param   string  $script
3975
+	 * @param   array   $args
3976
+	 * @param   int     $numKeys
3977
+	 * @return  mixed   @see eval()
3978
+	 */
3979
+	#[Deprecated(replacement: '%class%->eval(%parametersList%)')]
3980
+	public function evaluate($script, $args = [], $numKeys = 0) {}
3981
+
3982
+	/**
3983
+	 * Evaluate a LUA script serverside, from the SHA1 hash of the script instead of the script itself.
3984
+	 * In order to run this command Redis will have to have already loaded the script, either by running it or via
3985
+	 * the SCRIPT LOAD command.
3986
+	 *
3987
+	 * @param string $scriptSha
3988
+	 * @param array  $args
3989
+	 * @param int    $numKeys
3990
+	 *
3991
+	 * @return mixed @see eval()
3992
+	 *
3993
+	 * @see     eval()
3994
+	 * @link    https://redis.io/commands/evalsha
3995
+	 * @example
3996
+	 * <pre>
3997
+	 * $script = 'return 1';
3998
+	 * $sha = $redis->script('load', $script);
3999
+	 * $redis->evalSha($sha); // Returns 1
4000
+	 * </pre>
4001
+	 */
4002
+	public function evalSha($scriptSha, $args = [], $numKeys = 0) {}
4003
+
4004
+	/**
4005
+	 * @param string $scriptSha
4006
+	 * @param array  $args
4007
+	 * @param int    $numKeys
4008
+	 */
4009
+	#[Deprecated(replacement: '%class%->evalSha(%parametersList%)')]
4010
+	public function evaluateSha($scriptSha, $args = [], $numKeys = 0) {}
4011
+
4012
+	/**
4013
+	 * Execute the Redis SCRIPT command to perform various operations on the scripting subsystem.
4014
+	 * @param string $command load | flush | kill | exists
4015
+	 * @param string $script
4016
+	 *
4017
+	 * @return  mixed
4018
+	 *
4019
+	 * @link    https://redis.io/commands/script-load
4020
+	 * @link    https://redis.io/commands/script-kill
4021
+	 * @link    https://redis.io/commands/script-flush
4022
+	 * @link    https://redis.io/commands/script-exists
4023
+	 * @example
4024
+	 * <pre>
4025
+	 * $redis->script('load', $script);
4026
+	 * $redis->script('flush');
4027
+	 * $redis->script('kill');
4028
+	 * $redis->script('exists', $script1, [$script2, $script3, ...]);
4029
+	 * </pre>
4030
+	 *
4031
+	 * SCRIPT LOAD will return the SHA1 hash of the passed script on success, and FALSE on failure.
4032
+	 * SCRIPT FLUSH should always return TRUE
4033
+	 * SCRIPT KILL will return true if a script was able to be killed and false if not
4034
+	 * SCRIPT EXISTS will return an array with TRUE or FALSE for each passed script
4035
+	 */
4036
+	public function script($command, $script) {}
4037
+
4038
+	/**
4039
+	 * The last error message (if any)
4040
+	 *
4041
+	 * @return string|null A string with the last returned script based error message, or NULL if there is no error
4042
+	 *
4043
+	 * @example
4044
+	 * <pre>
4045
+	 * $redis->eval('this-is-not-lua');
4046
+	 * $err = $redis->getLastError();
4047
+	 * // "ERR Error compiling script (new function): user_script:1: '=' expected near '-'"
4048
+	 * </pre>
4049
+	 */
4050
+	public function getLastError() {}
4051
+
4052
+	/**
4053
+	 * Clear the last error message
4054
+	 *
4055
+	 * @return bool true
4056
+	 *
4057
+	 * @example
4058
+	 * <pre>
4059
+	 * $redis->set('x', 'a');
4060
+	 * $redis->incr('x');
4061
+	 * $err = $redis->getLastError();
4062
+	 * // "ERR value is not an integer or out of range"
4063
+	 * $redis->clearLastError();
4064
+	 * $err = $redis->getLastError();
4065
+	 * // NULL
4066
+	 * </pre>
4067
+	 */
4068
+	public function clearLastError() {}
4069
+
4070
+	/**
4071
+	 * Issue the CLIENT command with various arguments.
4072
+	 * The Redis CLIENT command can be used in four ways:
4073
+	 * - CLIENT LIST
4074
+	 * - CLIENT GETNAME
4075
+	 * - CLIENT SETNAME [name]
4076
+	 * - CLIENT KILL [ip:port]
4077
+	 *
4078
+	 * @param string $command
4079
+	 * @param string $value
4080
+	 * @return mixed This will vary depending on which client command was executed:
4081
+	 * - CLIENT LIST will return an array of arrays with client information.
4082
+	 * - CLIENT GETNAME will return the client name or false if none has been set
4083
+	 * - CLIENT SETNAME will return true if it can be set and false if not
4084
+	 * - CLIENT KILL will return true if the client can be killed, and false if not
4085
+	 *
4086
+	 * Note: phpredis will attempt to reconnect so you can actually kill your own connection but may not notice losing it!
4087
+	 *
4088
+	 * @link https://redis.io/commands/client-list
4089
+	 * @link https://redis.io/commands/client-getname
4090
+	 * @link https://redis.io/commands/client-setname
4091
+	 * @link https://redis.io/commands/client-kill
4092
+	 *
4093
+	 * @example
4094
+	 * <pre>
4095
+	 * $redis->client('list'); // Get a list of clients
4096
+	 * $redis->client('getname'); // Get the name of the current connection
4097
+	 * $redis->client('setname', 'somename'); // Set the name of the current connection
4098
+	 * $redis->client('kill', <ip:port>); // Kill the process at ip:port
4099
+	 * </pre>
4100
+	 */
4101
+	public function client($command, $value = '') {}
4102
+
4103
+	/**
4104
+	 * A utility method to prefix the value with the prefix setting for phpredis.
4105
+	 *
4106
+	 * @param mixed $value The value you wish to prefix
4107
+	 *
4108
+	 * @return string If a prefix is set up, the value now prefixed.
4109
+	 * If there is no prefix, the value will be returned unchanged.
4110
+	 *
4111
+	 * @example
4112
+	 * <pre>
4113
+	 * $redis->setOption(Redis::OPT_PREFIX, 'my-prefix:');
4114
+	 * $redis->_prefix('my-value'); // Will return 'my-prefix:my-value'
4115
+	 * </pre>
4116
+	 */
4117
+	public function _prefix($value) {}
4118
+
4119
+	/**
4120
+	 * A utility method to unserialize data with whatever serializer is set up.  If there is no serializer set, the
4121
+	 * value will be returned unchanged.  If there is a serializer set up, and the data passed in is malformed, an
4122
+	 * exception will be thrown. This can be useful if phpredis is serializing values, and you return something from
4123
+	 * redis in a LUA script that is serialized.
4124
+	 *
4125
+	 * @param string $value The value to be unserialized
4126
+	 *
4127
+	 * @return mixed
4128
+	 * @example
4129
+	 * <pre>
4130
+	 * $redis->setOption(Redis::OPT_SERIALIZER, Redis::SERIALIZER_PHP);
4131
+	 * $redis->_unserialize('a:3:{i:0;i:1;i:1;i:2;i:2;i:3;}'); // Will return Array(1,2,3)
4132
+	 * </pre>
4133
+	 */
4134
+	public function _unserialize($value) {}
4135
+
4136
+	/**
4137
+	 * A utility method to serialize values manually. This method allows you to serialize a value with whatever
4138
+	 * serializer is configured, manually. This can be useful for serialization/unserialization of data going in
4139
+	 * and out of EVAL commands as phpredis can't automatically do this itself.  Note that if no serializer is
4140
+	 * set, phpredis will change Array values to 'Array', and Objects to 'Object'.
4141
+	 *
4142
+	 * @param mixed $value The value to be serialized.
4143
+	 *
4144
+	 * @return  mixed
4145
+	 * @example
4146
+	 * <pre>
4147
+	 * $redis->setOption(Redis::OPT_SERIALIZER, Redis::SERIALIZER_NONE);
4148
+	 * $redis->_serialize("foo"); // returns "foo"
4149
+	 * $redis->_serialize(Array()); // Returns "Array"
4150
+	 * $redis->_serialize(new stdClass()); // Returns "Object"
4151
+	 *
4152
+	 * $redis->setOption(Redis::OPT_SERIALIZER, Redis::SERIALIZER_PHP);
4153
+	 * $redis->_serialize("foo"); // Returns 's:3:"foo";'
4154
+	 * </pre>
4155
+	 */
4156
+	public function _serialize($value) {}
4157
+
4158
+	/**
4159
+	 * Dump a key out of a redis database, the value of which can later be passed into redis using the RESTORE command.
4160
+	 * The data that comes out of DUMP is a binary representation of the key as Redis stores it.
4161
+	 * @param string $key
4162
+	 *
4163
+	 * @return string|false The Redis encoded value of the key, or FALSE if the key doesn't exist
4164
+	 *
4165
+	 * @link    https://redis.io/commands/dump
4166
+	 * @example
4167
+	 * <pre>
4168
+	 * $redis->set('foo', 'bar');
4169
+	 * $val = $redis->dump('foo'); // $val will be the Redis encoded key value
4170
+	 * </pre>
4171
+	 */
4172
+	public function dump($key) {}
4173
+
4174
+	/**
4175
+	 * Restore a key from the result of a DUMP operation.
4176
+	 *
4177
+	 * @param string $key   The key name
4178
+	 * @param int    $ttl   How long the key should live (if zero, no expire will be set on the key)
4179
+	 * @param string $value (binary).  The Redis encoded key value (from DUMP)
4180
+	 *
4181
+	 * @return bool
4182
+	 *
4183
+	 * @link    https://redis.io/commands/restore
4184
+	 * @example
4185
+	 * <pre>
4186
+	 * $redis->set('foo', 'bar');
4187
+	 * $val = $redis->dump('foo');
4188
+	 * $redis->restore('bar', 0, $val); // The key 'bar', will now be equal to the key 'foo'
4189
+	 * </pre>
4190
+	 */
4191
+	public function restore($key, $ttl, $value) {}
4192
+
4193
+	/**
4194
+	 * Migrates a key to a different Redis instance.
4195
+	 *
4196
+	 * @param string $host    The destination host
4197
+	 * @param int    $port    The TCP port to connect to.
4198
+	 * @param string $key     The key to migrate.
4199
+	 * @param int    $db      The target DB.
4200
+	 * @param int    $timeout The maximum amount of time given to this transfer.
4201
+	 * @param bool   $copy    Should we send the COPY flag to redis.
4202
+	 * @param bool   $replace Should we send the REPLACE flag to redis.
4203
+	 *
4204
+	 * @return bool
4205
+	 *
4206
+	 * @link    https://redis.io/commands/migrate
4207
+	 * @example
4208
+	 * <pre>
4209
+	 * $redis->migrate('backup', 6379, 'foo', 0, 3600);
4210
+	 * </pre>
4211
+	 */
4212
+	public function migrate($host, $port, $key, $db, $timeout, $copy = false, $replace = false) {}
4213
+
4214
+	/**
4215
+	 * Return the current Redis server time.
4216
+	 *
4217
+	 * @return array If successful, the time will come back as an associative array with element zero being the
4218
+	 * unix timestamp, and element one being microseconds.
4219
+	 *
4220
+	 * @link    https://redis.io/commands/time
4221
+	 * @example
4222
+	 * <pre>
4223
+	 * var_dump( $redis->time() );
4224
+	 * // array(2) {
4225
+	 * //   [0] => string(10) "1342364352"
4226
+	 * //   [1] => string(6) "253002"
4227
+	 * // }
4228
+	 * </pre>
4229
+	 */
4230
+	public function time() {}
4231
+
4232
+	/**
4233
+	 * Scan the keyspace for keys
4234
+	 *
4235
+	 * @param int    &$iterator Iterator, initialized to NULL.
4236
+	 * @param string $pattern  Pattern to match.
4237
+	 * @param int    $count    Count of keys per iteration (only a suggestion to Redis).
4238
+	 *
4239
+	 * @return array|false This function will return an array of keys or FALSE if there are no more keys.
4240
+	 *
4241
+	 * @link   https://redis.io/commands/scan
4242
+	 * @example
4243
+	 * <pre>
4244
+	 * $iterator = null;
4245
+	 * while(false !== ($keys = $redis->scan($iterator))) {
4246
+	 *     foreach($keys as $key) {
4247
+	 *         echo $key . PHP_EOL;
4248
+	 *     }
4249
+	 * }
4250
+	 * </pre>
4251
+	 */
4252
+	public function scan(&$iterator, $pattern = null, $count = 0) {}
4253
+
4254
+	/**
4255
+	 * Adds all the element arguments to the HyperLogLog data structure stored at the key.
4256
+	 *
4257
+	 * @param string $key
4258
+	 * @param array  $elements
4259
+	 *
4260
+	 * @return bool
4261
+	 *
4262
+	 * @link    https://redis.io/commands/pfadd
4263
+	 * @example $redis->pfAdd('key', array('elem1', 'elem2'))
4264
+	 */
4265
+	public function pfAdd($key, array $elements) {}
4266
+
4267
+	/**
4268
+	 * When called with a single key, returns the approximated cardinality computed by the HyperLogLog data
4269
+	 * structure stored at the specified variable, which is 0 if the variable does not exist.
4270
+	 *
4271
+	 * @param string|array $key
4272
+	 *
4273
+	 * @return int
4274
+	 *
4275
+	 * @link    https://redis.io/commands/pfcount
4276
+	 * @example
4277
+	 * <pre>
4278
+	 * $redis->pfAdd('key1', array('elem1', 'elem2'));
4279
+	 * $redis->pfAdd('key2', array('elem3', 'elem2'));
4280
+	 * $redis->pfCount('key1'); // int(2)
4281
+	 * $redis->pfCount(array('key1', 'key2')); // int(3)
4282
+	 * </pre>
4283
+	 */
4284
+	public function pfCount($key) {}
4285
+
4286
+	/**
4287
+	 * Merge multiple HyperLogLog values into an unique value that will approximate the cardinality
4288
+	 * of the union of the observed Sets of the source HyperLogLog structures.
4289
+	 *
4290
+	 * @param string $destKey
4291
+	 * @param array  $sourceKeys
4292
+	 *
4293
+	 * @return bool
4294
+	 *
4295
+	 * @link    https://redis.io/commands/pfmerge
4296
+	 * @example
4297
+	 * <pre>
4298
+	 * $redis->pfAdd('key1', array('elem1', 'elem2'));
4299
+	 * $redis->pfAdd('key2', array('elem3', 'elem2'));
4300
+	 * $redis->pfMerge('key3', array('key1', 'key2'));
4301
+	 * $redis->pfCount('key3'); // int(3)
4302
+	 * </pre>
4303
+	 */
4304
+	public function pfMerge($destKey, array $sourceKeys) {}
4305
+
4306
+	/**
4307
+	 * Send arbitrary things to the redis server.
4308
+	 *
4309
+	 * @param string $command   Required command to send to the server.
4310
+	 * @param mixed  $arguments Optional variable amount of arguments to send to the server.
4311
+	 *
4312
+	 * @return mixed
4313
+	 *
4314
+	 * @example
4315
+	 * <pre>
4316
+	 * $redis->rawCommand('SET', 'key', 'value'); // bool(true)
4317
+	 * $redis->rawCommand('GET", 'key'); // string(5) "value"
4318
+	 * </pre>
4319
+	 */
4320
+	public function rawCommand($command, $arguments) {}
4321
+
4322
+	/**
4323
+	 * Detect whether we're in ATOMIC/MULTI/PIPELINE mode.
4324
+	 *
4325
+	 * @return int Either Redis::ATOMIC, Redis::MULTI or Redis::PIPELINE
4326
+	 *
4327
+	 * @example $redis->getMode();
4328
+	 */
4329
+	public function getMode() {}
4330
+
4331
+	/**
4332
+	 * Acknowledge one or more messages on behalf of a consumer group.
4333
+	 *
4334
+	 * @param string $stream
4335
+	 * @param string $group
4336
+	 * @param array  $messages
4337
+	 *
4338
+	 * @return int The number of messages Redis reports as acknowledged.
4339
+	 *
4340
+	 * @link    https://redis.io/commands/xack
4341
+	 * @example
4342
+	 * <pre>
4343
+	 * $redis->xAck('stream', 'group1', ['1530063064286-0', '1530063064286-1']);
4344
+	 * </pre>
4345
+	 */
4346
+	public function xAck($stream, $group, $messages) {}
4347
+
4348
+	/**
4349
+	 * Add a message to a stream
4350
+	 *
4351
+	 * @param string $key
4352
+	 * @param string $id
4353
+	 * @param array  $messages
4354
+	 * @param int    $maxLen
4355
+	 * @param bool   $isApproximate
4356
+	 *
4357
+	 * @return string The added message ID.
4358
+	 *
4359
+	 * @link    https://redis.io/commands/xadd
4360
+	 * @example
4361
+	 * <pre>
4362
+	 * $redis->xAdd('mystream', "*", ['field' => 'value']);
4363
+	 * $redis->xAdd('mystream', "*", ['field' => 'value'], 10);
4364
+	 * $redis->xAdd('mystream', "*", ['field' => 'value'], 10, true);
4365
+	 * </pre>
4366
+	 */
4367
+	public function xAdd($key, $id, $messages, $maxLen = 0, $isApproximate = false) {}
4368
+
4369
+	/**
4370
+	 * Claim ownership of one or more pending messages
4371
+	 *
4372
+	 * @param string $key
4373
+	 * @param string $group
4374
+	 * @param string $consumer
4375
+	 * @param int    $minIdleTime
4376
+	 * @param array  $ids
4377
+	 * @param array  $options ['IDLE' => $value, 'TIME' => $value, 'RETRYCOUNT' => $value, 'FORCE', 'JUSTID']
4378
+	 *
4379
+	 * @return array Either an array of message IDs along with corresponding data, or just an array of IDs
4380
+	 * (if the 'JUSTID' option was passed).
4381
+	 *
4382
+	 * @link    https://redis.io/commands/xclaim
4383
+	 * @example
4384
+	 * <pre>
4385
+	 * $ids = ['1530113681011-0', '1530113681011-1', '1530113681011-2'];
4386
+	 *
4387
+	 * // Without any options
4388
+	 * $redis->xClaim('mystream', 'group1', 'myconsumer1', 0, $ids);
4389
+	 *
4390
+	 * // With options
4391
+	 * $redis->xClaim(
4392
+	 *     'mystream', 'group1', 'myconsumer2', 0, $ids,
4393
+	 *     [
4394
+	 *         'IDLE' => time() * 1000,
4395
+	 *         'RETRYCOUNT' => 5,
4396
+	 *         'FORCE',
4397
+	 *         'JUSTID'
4398
+	 *     ]
4399
+	 * );
4400
+	 * </pre>
4401
+	 */
4402
+	public function xClaim($key, $group, $consumer, $minIdleTime, $ids, $options = []) {}
4403
+
4404
+	/**
4405
+	 * Delete one or more messages from a stream
4406
+	 *
4407
+	 * @param string $key
4408
+	 * @param array  $ids
4409
+	 *
4410
+	 * @return int The number of messages removed
4411
+	 *
4412
+	 * @link    https://redis.io/commands/xdel
4413
+	 * @example
4414
+	 * <pre>
4415
+	 * $redis->xDel('mystream', ['1530115304877-0', '1530115305731-0']);
4416
+	 * </pre>
4417
+	 */
4418
+	public function xDel($key, $ids) {}
4419
+
4420
+	/**
4421
+	 * @param string $operation  e.g.: 'HELP', 'SETID', 'DELGROUP', 'CREATE', 'DELCONSUMER'
4422
+	 * @param string $key
4423
+	 * @param string $group
4424
+	 * @param string $msgId
4425
+	 * @param bool   $mkStream
4426
+	 *
4427
+	 * @return mixed This command returns different types depending on the specific XGROUP command executed.
4428
+	 *
4429
+	 * @link    https://redis.io/commands/xgroup
4430
+	 * @example
4431
+	 * <pre>
4432
+	 * $redis->xGroup('CREATE', 'mystream', 'mygroup', 0);
4433
+	 * $redis->xGroup('CREATE', 'mystream', 'mygroup', 0, true); // create stream
4434
+	 * $redis->xGroup('DESTROY', 'mystream', 'mygroup');
4435
+	 * </pre>
4436
+	 */
4437
+	public function xGroup($operation, $key, $group, $msgId = '', $mkStream = false) {}
4438
+
4439
+	/**
4440
+	 * Get information about a stream or consumer groups
4441
+	 *
4442
+	 * @param string $operation  e.g.: 'CONSUMERS', 'GROUPS', 'STREAM', 'HELP'
4443
+	 * @param string $stream
4444
+	 * @param string $group
4445
+	 *
4446
+	 * @return mixed This command returns different types depending on which subcommand is used.
4447
+	 *
4448
+	 * @link    https://redis.io/commands/xinfo
4449
+	 * @example
4450
+	 * <pre>
4451
+	 * $redis->xInfo('STREAM', 'mystream');
4452
+	 * </pre>
4453
+	 */
4454
+	public function xInfo($operation, $stream, $group) {}
4455
+
4456
+	/**
4457
+	 * Get the length of a given stream.
4458
+	 *
4459
+	 * @param string $stream
4460
+	 *
4461
+	 * @return int The number of messages in the stream.
4462
+	 *
4463
+	 * @link    https://redis.io/commands/xlen
4464
+	 * @example
4465
+	 * <pre>
4466
+	 * $redis->xLen('mystream');
4467
+	 * </pre>
4468
+	 */
4469
+	public function xLen($stream) {}
4470
+
4471
+	/**
4472
+	 * Get information about pending messages in a given stream
4473
+	 *
4474
+	 * @param string $stream
4475
+	 * @param string $group
4476
+	 * @param string $start
4477
+	 * @param string $end
4478
+	 * @param int    $count
4479
+	 * @param string $consumer
4480
+	 *
4481
+	 * @return array Information about the pending messages, in various forms depending on
4482
+	 * the specific invocation of XPENDING.
4483
+	 *
4484
+	 * @link https://redis.io/commands/xpending
4485
+	 * @example
4486
+	 * <pre>
4487
+	 * $redis->xPending('mystream', 'mygroup');
4488
+	 * $redis->xPending('mystream', 'mygroup', '-', '+', 1, 'consumer-1');
4489
+	 * </pre>
4490
+	 */
4491
+	public function xPending($stream, $group, $start = null, $end = null, $count = null, $consumer = null) {}
4492
+
4493
+	/**
4494
+	 * Get a range of messages from a given stream
4495
+	 *
4496
+	 * @param string $stream
4497
+	 * @param string $start
4498
+	 * @param string $end
4499
+	 * @param int    $count
4500
+	 *
4501
+	 * @return array The messages in the stream within the requested range.
4502
+	 *
4503
+	 * @link    https://redis.io/commands/xrange
4504
+	 * @example
4505
+	 * <pre>
4506
+	 * // Get everything in this stream
4507
+	 * $redis->xRange('mystream', '-', '+');
4508
+	 * // Only the first two messages
4509
+	 * $redis->xRange('mystream', '-', '+', 2);
4510
+	 * </pre>
4511
+	 */
4512
+	public function xRange($stream, $start, $end, $count = null) {}
4513
+
4514
+	/**
4515
+	 * Read data from one or more streams and only return IDs greater than sent in the command.
4516
+	 *
4517
+	 * @param array      $streams
4518
+	 * @param int|string $count
4519
+	 * @param int|string $block
4520
+	 *
4521
+	 * @return array The messages in the stream newer than the IDs passed to Redis (if any)
4522
+	 *
4523
+	 * @link    https://redis.io/commands/xread
4524
+	 * @example
4525
+	 * <pre>
4526
+	 * $redis->xRead(['stream1' => '1535222584555-0', 'stream2' => '1535222584555-0']);
4527
+	 * </pre>
4528
+	 */
4529
+	public function xRead($streams, $count = null, $block = null) {}
4530
+
4531
+	/**
4532
+	 * This method is similar to xRead except that it supports reading messages for a specific consumer group.
4533
+	 *
4534
+	 * @param string   $group
4535
+	 * @param string   $consumer
4536
+	 * @param array    $streams
4537
+	 * @param int|null $count
4538
+	 * @param int|null $block
4539
+	 *
4540
+	 * @return array The messages delivered to this consumer group (if any).
4541
+	 *
4542
+	 * @link    https://redis.io/commands/xreadgroup
4543
+	 * @example
4544
+	 * <pre>
4545
+	 * // Consume messages for 'mygroup', 'consumer1'
4546
+	 * $redis->xReadGroup('mygroup', 'consumer1', ['s1' => 0, 's2' => 0]);
4547
+	 * // Read a single message as 'consumer2' for up to a second until a message arrives.
4548
+	 * $redis->xReadGroup('mygroup', 'consumer2', ['s1' => 0, 's2' => 0], 1, 1000);
4549
+	 * </pre>
4550
+	 */
4551
+	public function xReadGroup($group, $consumer, $streams, $count = null, $block = null) {}
4552
+
4553
+	/**
4554
+	 * This is identical to xRange except the results come back in reverse order.
4555
+	 * Also note that Redis reverses the order of "start" and "end".
4556
+	 *
4557
+	 * @param string $stream
4558
+	 * @param string $end
4559
+	 * @param string $start
4560
+	 * @param int    $count
4561
+	 *
4562
+	 * @return array The messages in the range specified
4563
+	 *
4564
+	 * @link    https://redis.io/commands/xrevrange
4565
+	 * @example
4566
+	 * <pre>
4567
+	 * $redis->xRevRange('mystream', '+', '-');
4568
+	 * </pre>
4569
+	 */
4570
+	public function xRevRange($stream, $end, $start, $count = null) {}
4571
+
4572
+	/**
4573
+	 * Trim the stream length to a given maximum.
4574
+	 * If the "approximate" flag is pasesed, Redis will use your size as a hint but only trim trees in whole nodes
4575
+	 * (this is more efficient)
4576
+	 *
4577
+	 * @param string $stream
4578
+	 * @param int    $maxLen
4579
+	 * @param bool   $isApproximate
4580
+	 *
4581
+	 * @return int The number of messages trimed from the stream.
4582
+	 *
4583
+	 * @link    https://redis.io/commands/xtrim
4584
+	 * @example
4585
+	 * <pre>
4586
+	 * // Trim to exactly 100 messages
4587
+	 * $redis->xTrim('mystream', 100);
4588
+	 * // Let Redis approximate the trimming
4589
+	 * $redis->xTrim('mystream', 100, true);
4590
+	 * </pre>
4591
+	 */
4592
+	public function xTrim($stream, $maxLen, $isApproximate) {}
4593
+
4594
+	/**
4595
+	 * Adds a values to the set value stored at key.
4596
+	 *
4597
+	 * @param string $key Required key
4598
+	 * @param array  $values Required values
4599
+	 *
4600
+	 * @return  int|bool The number of elements added to the set.
4601
+	 * If this value is already in the set, FALSE is returned
4602
+	 *
4603
+	 * @link    https://redis.io/commands/sadd
4604
+	 * @link    https://github.com/phpredis/phpredis/commit/3491b188e0022f75b938738f7542603c7aae9077
4605
+	 * @since   phpredis 2.2.8
4606
+	 * @example
4607
+	 * <pre>
4608
+	 * $redis->sAddArray('k', array('v1'));                // boolean
4609
+	 * $redis->sAddArray('k', array('v1', 'v2', 'v3'));    // boolean
4610
+	 * </pre>
4611
+	 */
4612
+	public function sAddArray($key, array $values) {}
4614 4613
 }
4615 4614
 
4616 4615
 class RedisException extends Exception {}
@@ -4620,184 +4619,184 @@  discard block
 block discarded – undo
4620 4619
  */
4621 4620
 class RedisArray
4622 4621
 {
4623
-    /**
4624
-     * Constructor
4625
-     *
4626
-     * @param string|string[] $hosts Name of the redis array from redis.ini or array of hosts to construct the array with
4627
-     * @param null|array      $opts  Array of options
4628
-     *
4629
-     * @link    https://github.com/nicolasff/phpredis/blob/master/arrays.markdown
4630
-     */
4631
-    public function __construct($hosts, ?array $opts = null) {}
4632
-
4633
-    /**
4634
-     * @return array list of hosts for the selected array
4635
-     */
4636
-    public function _hosts() {}
4637
-
4638
-    /**
4639
-     * @return string the name of the function used to extract key parts during consistent hashing
4640
-     */
4641
-    public function _function() {}
4642
-
4643
-    /**
4644
-     * @param string $key The key for which you want to lookup the host
4645
-     *
4646
-     * @return  string  the host to be used for a certain key
4647
-     */
4648
-    public function _target($key) {}
4649
-
4650
-    /**
4651
-     * @param string $host The host you want to retrieve the instance for
4652
-     *
4653
-     * @return Redis a redis instance connected to a specific node
4654
-     */
4655
-    public function _instance($host) {}
4656
-
4657
-    /**
4658
-     * Use this function when a new node is added and keys need to be rehashed.
4659
-     */
4660
-    public function _rehash() {}
4661
-
4662
-    /**
4663
-     * Returns an associative array of strings and integers, with the following keys:
4664
-     * - redis_version
4665
-     * - redis_git_sha1
4666
-     * - redis_git_dirty
4667
-     * - redis_build_id
4668
-     * - redis_mode
4669
-     * - os
4670
-     * - arch_bits
4671
-     * - multiplexing_api
4672
-     * - atomicvar_api
4673
-     * - gcc_version
4674
-     * - process_id
4675
-     * - run_id
4676
-     * - tcp_port
4677
-     * - uptime_in_seconds
4678
-     * - uptime_in_days
4679
-     * - hz
4680
-     * - lru_clock
4681
-     * - executable
4682
-     * - config_file
4683
-     * - connected_clients
4684
-     * - client_longest_output_list
4685
-     * - client_biggest_input_buf
4686
-     * - blocked_clients
4687
-     * - used_memory
4688
-     * - used_memory_human
4689
-     * - used_memory_rss
4690
-     * - used_memory_rss_human
4691
-     * - used_memory_peak
4692
-     * - used_memory_peak_human
4693
-     * - used_memory_peak_perc
4694
-     * - used_memory_peak
4695
-     * - used_memory_overhead
4696
-     * - used_memory_startup
4697
-     * - used_memory_dataset
4698
-     * - used_memory_dataset_perc
4699
-     * - total_system_memory
4700
-     * - total_system_memory_human
4701
-     * - used_memory_lua
4702
-     * - used_memory_lua_human
4703
-     * - maxmemory
4704
-     * - maxmemory_human
4705
-     * - maxmemory_policy
4706
-     * - mem_fragmentation_ratio
4707
-     * - mem_allocator
4708
-     * - active_defrag_running
4709
-     * - lazyfree_pending_objects
4710
-     * - mem_fragmentation_ratio
4711
-     * - loading
4712
-     * - rdb_changes_since_last_save
4713
-     * - rdb_bgsave_in_progress
4714
-     * - rdb_last_save_time
4715
-     * - rdb_last_bgsave_status
4716
-     * - rdb_last_bgsave_time_sec
4717
-     * - rdb_current_bgsave_time_sec
4718
-     * - rdb_last_cow_size
4719
-     * - aof_enabled
4720
-     * - aof_rewrite_in_progress
4721
-     * - aof_rewrite_scheduled
4722
-     * - aof_last_rewrite_time_sec
4723
-     * - aof_current_rewrite_time_sec
4724
-     * - aof_last_bgrewrite_status
4725
-     * - aof_last_write_status
4726
-     * - aof_last_cow_size
4727
-     * - changes_since_last_save
4728
-     * - aof_current_size
4729
-     * - aof_base_size
4730
-     * - aof_pending_rewrite
4731
-     * - aof_buffer_length
4732
-     * - aof_rewrite_buffer_length
4733
-     * - aof_pending_bio_fsync
4734
-     * - aof_delayed_fsync
4735
-     * - loading_start_time
4736
-     * - loading_total_bytes
4737
-     * - loading_loaded_bytes
4738
-     * - loading_loaded_perc
4739
-     * - loading_eta_seconds
4740
-     * - total_connections_received
4741
-     * - total_commands_processed
4742
-     * - instantaneous_ops_per_sec
4743
-     * - total_net_input_bytes
4744
-     * - total_net_output_bytes
4745
-     * - instantaneous_input_kbps
4746
-     * - instantaneous_output_kbps
4747
-     * - rejected_connections
4748
-     * - maxclients
4749
-     * - sync_full
4750
-     * - sync_partial_ok
4751
-     * - sync_partial_err
4752
-     * - expired_keys
4753
-     * - evicted_keys
4754
-     * - keyspace_hits
4755
-     * - keyspace_misses
4756
-     * - pubsub_channels
4757
-     * - pubsub_patterns
4758
-     * - latest_fork_usec
4759
-     * - migrate_cached_sockets
4760
-     * - slave_expires_tracked_keys
4761
-     * - active_defrag_hits
4762
-     * - active_defrag_misses
4763
-     * - active_defrag_key_hits
4764
-     * - active_defrag_key_misses
4765
-     * - role
4766
-     * - master_replid
4767
-     * - master_replid2
4768
-     * - master_repl_offset
4769
-     * - second_repl_offset
4770
-     * - repl_backlog_active
4771
-     * - repl_backlog_size
4772
-     * - repl_backlog_first_byte_offset
4773
-     * - repl_backlog_histlen
4774
-     * - master_host
4775
-     * - master_port
4776
-     * - master_link_status
4777
-     * - master_last_io_seconds_ago
4778
-     * - master_sync_in_progress
4779
-     * - slave_repl_offset
4780
-     * - slave_priority
4781
-     * - slave_read_only
4782
-     * - master_sync_left_bytes
4783
-     * - master_sync_last_io_seconds_ago
4784
-     * - master_link_down_since_seconds
4785
-     * - connected_slaves
4786
-     * - min-slaves-to-write
4787
-     * - min-replicas-to-write
4788
-     * - min_slaves_good_slaves
4789
-     * - used_cpu_sys
4790
-     * - used_cpu_user
4791
-     * - used_cpu_sys_children
4792
-     * - used_cpu_user_children
4793
-     * - cluster_enabled
4794
-     *
4795
-     * @link    https://redis.io/commands/info
4796
-     * @return  array
4797
-     * @example
4798
-     * <pre>
4799
-     * $redis->info();
4800
-     * </pre>
4801
-     */
4802
-    public function info() {}
4622
+	/**
4623
+	 * Constructor
4624
+	 *
4625
+	 * @param string|string[] $hosts Name of the redis array from redis.ini or array of hosts to construct the array with
4626
+	 * @param null|array      $opts  Array of options
4627
+	 *
4628
+	 * @link    https://github.com/nicolasff/phpredis/blob/master/arrays.markdown
4629
+	 */
4630
+	public function __construct($hosts, ?array $opts = null) {}
4631
+
4632
+	/**
4633
+	 * @return array list of hosts for the selected array
4634
+	 */
4635
+	public function _hosts() {}
4636
+
4637
+	/**
4638
+	 * @return string the name of the function used to extract key parts during consistent hashing
4639
+	 */
4640
+	public function _function() {}
4641
+
4642
+	/**
4643
+	 * @param string $key The key for which you want to lookup the host
4644
+	 *
4645
+	 * @return  string  the host to be used for a certain key
4646
+	 */
4647
+	public function _target($key) {}
4648
+
4649
+	/**
4650
+	 * @param string $host The host you want to retrieve the instance for
4651
+	 *
4652
+	 * @return Redis a redis instance connected to a specific node
4653
+	 */
4654
+	public function _instance($host) {}
4655
+
4656
+	/**
4657
+	 * Use this function when a new node is added and keys need to be rehashed.
4658
+	 */
4659
+	public function _rehash() {}
4660
+
4661
+	/**
4662
+	 * Returns an associative array of strings and integers, with the following keys:
4663
+	 * - redis_version
4664
+	 * - redis_git_sha1
4665
+	 * - redis_git_dirty
4666
+	 * - redis_build_id
4667
+	 * - redis_mode
4668
+	 * - os
4669
+	 * - arch_bits
4670
+	 * - multiplexing_api
4671
+	 * - atomicvar_api
4672
+	 * - gcc_version
4673
+	 * - process_id
4674
+	 * - run_id
4675
+	 * - tcp_port
4676
+	 * - uptime_in_seconds
4677
+	 * - uptime_in_days
4678
+	 * - hz
4679
+	 * - lru_clock
4680
+	 * - executable
4681
+	 * - config_file
4682
+	 * - connected_clients
4683
+	 * - client_longest_output_list
4684
+	 * - client_biggest_input_buf
4685
+	 * - blocked_clients
4686
+	 * - used_memory
4687
+	 * - used_memory_human
4688
+	 * - used_memory_rss
4689
+	 * - used_memory_rss_human
4690
+	 * - used_memory_peak
4691
+	 * - used_memory_peak_human
4692
+	 * - used_memory_peak_perc
4693
+	 * - used_memory_peak
4694
+	 * - used_memory_overhead
4695
+	 * - used_memory_startup
4696
+	 * - used_memory_dataset
4697
+	 * - used_memory_dataset_perc
4698
+	 * - total_system_memory
4699
+	 * - total_system_memory_human
4700
+	 * - used_memory_lua
4701
+	 * - used_memory_lua_human
4702
+	 * - maxmemory
4703
+	 * - maxmemory_human
4704
+	 * - maxmemory_policy
4705
+	 * - mem_fragmentation_ratio
4706
+	 * - mem_allocator
4707
+	 * - active_defrag_running
4708
+	 * - lazyfree_pending_objects
4709
+	 * - mem_fragmentation_ratio
4710
+	 * - loading
4711
+	 * - rdb_changes_since_last_save
4712
+	 * - rdb_bgsave_in_progress
4713
+	 * - rdb_last_save_time
4714
+	 * - rdb_last_bgsave_status
4715
+	 * - rdb_last_bgsave_time_sec
4716
+	 * - rdb_current_bgsave_time_sec
4717
+	 * - rdb_last_cow_size
4718
+	 * - aof_enabled
4719
+	 * - aof_rewrite_in_progress
4720
+	 * - aof_rewrite_scheduled
4721
+	 * - aof_last_rewrite_time_sec
4722
+	 * - aof_current_rewrite_time_sec
4723
+	 * - aof_last_bgrewrite_status
4724
+	 * - aof_last_write_status
4725
+	 * - aof_last_cow_size
4726
+	 * - changes_since_last_save
4727
+	 * - aof_current_size
4728
+	 * - aof_base_size
4729
+	 * - aof_pending_rewrite
4730
+	 * - aof_buffer_length
4731
+	 * - aof_rewrite_buffer_length
4732
+	 * - aof_pending_bio_fsync
4733
+	 * - aof_delayed_fsync
4734
+	 * - loading_start_time
4735
+	 * - loading_total_bytes
4736
+	 * - loading_loaded_bytes
4737
+	 * - loading_loaded_perc
4738
+	 * - loading_eta_seconds
4739
+	 * - total_connections_received
4740
+	 * - total_commands_processed
4741
+	 * - instantaneous_ops_per_sec
4742
+	 * - total_net_input_bytes
4743
+	 * - total_net_output_bytes
4744
+	 * - instantaneous_input_kbps
4745
+	 * - instantaneous_output_kbps
4746
+	 * - rejected_connections
4747
+	 * - maxclients
4748
+	 * - sync_full
4749
+	 * - sync_partial_ok
4750
+	 * - sync_partial_err
4751
+	 * - expired_keys
4752
+	 * - evicted_keys
4753
+	 * - keyspace_hits
4754
+	 * - keyspace_misses
4755
+	 * - pubsub_channels
4756
+	 * - pubsub_patterns
4757
+	 * - latest_fork_usec
4758
+	 * - migrate_cached_sockets
4759
+	 * - slave_expires_tracked_keys
4760
+	 * - active_defrag_hits
4761
+	 * - active_defrag_misses
4762
+	 * - active_defrag_key_hits
4763
+	 * - active_defrag_key_misses
4764
+	 * - role
4765
+	 * - master_replid
4766
+	 * - master_replid2
4767
+	 * - master_repl_offset
4768
+	 * - second_repl_offset
4769
+	 * - repl_backlog_active
4770
+	 * - repl_backlog_size
4771
+	 * - repl_backlog_first_byte_offset
4772
+	 * - repl_backlog_histlen
4773
+	 * - master_host
4774
+	 * - master_port
4775
+	 * - master_link_status
4776
+	 * - master_last_io_seconds_ago
4777
+	 * - master_sync_in_progress
4778
+	 * - slave_repl_offset
4779
+	 * - slave_priority
4780
+	 * - slave_read_only
4781
+	 * - master_sync_left_bytes
4782
+	 * - master_sync_last_io_seconds_ago
4783
+	 * - master_link_down_since_seconds
4784
+	 * - connected_slaves
4785
+	 * - min-slaves-to-write
4786
+	 * - min-replicas-to-write
4787
+	 * - min_slaves_good_slaves
4788
+	 * - used_cpu_sys
4789
+	 * - used_cpu_user
4790
+	 * - used_cpu_sys_children
4791
+	 * - used_cpu_user_children
4792
+	 * - cluster_enabled
4793
+	 *
4794
+	 * @link    https://redis.io/commands/info
4795
+	 * @return  array
4796
+	 * @example
4797
+	 * <pre>
4798
+	 * $redis->info();
4799
+	 * </pre>
4800
+	 */
4801
+	public function info() {}
4803 4802
 }
Please login to merge, or discard this patch.
Spacing   +4 added lines, -4 removed lines patch added patch discarded remove patch
@@ -3137,7 +3137,7 @@  discard block
 block discarded – undo
3137 3137
      * @param array|null $Weights
3138 3138
      * @param string     $aggregateFunction
3139 3139
      */
3140
-    #[Deprecated(replacement: '%class%->zUnionStore(%parametersList%)')]
3140
+    #[Deprecated(replacement : '%class%->zUnionStore(%parametersList%)')]
3141 3141
     public function zUnion($Output, $ZSetKeys, array $Weights = null, $aggregateFunction = 'SUM') {}
3142 3142
 
3143 3143
     /**
@@ -3191,7 +3191,7 @@  discard block
 block discarded – undo
3191 3191
      * @param array|null $Weights
3192 3192
      * @param string $aggregateFunction
3193 3193
      */
3194
-    #[Deprecated(replacement: '%class%->zInterStore(%parametersList%)')]
3194
+    #[Deprecated(replacement : '%class%->zInterStore(%parametersList%)')]
3195 3195
     public function zInter($Output, $ZSetKeys, array $Weights = null, $aggregateFunction = 'SUM') {}
3196 3196
 
3197 3197
     /**
@@ -3977,7 +3977,7 @@  discard block
 block discarded – undo
3977 3977
      * @param   int     $numKeys
3978 3978
      * @return  mixed   @see eval()
3979 3979
      */
3980
-    #[Deprecated(replacement: '%class%->eval(%parametersList%)')]
3980
+    #[Deprecated(replacement : '%class%->eval(%parametersList%)')]
3981 3981
     public function evaluate($script, $args = [], $numKeys = 0) {}
3982 3982
 
3983 3983
     /**
@@ -4007,7 +4007,7 @@  discard block
 block discarded – undo
4007 4007
      * @param array  $args
4008 4008
      * @param int    $numKeys
4009 4009
      */
4010
-    #[Deprecated(replacement: '%class%->evalSha(%parametersList%)')]
4010
+    #[Deprecated(replacement : '%class%->evalSha(%parametersList%)')]
4011 4011
     public function evaluateSha($scriptSha, $args = [], $numKeys = 0) {}
4012 4012
 
4013 4013
     /**
Please login to merge, or discard this patch.
Braces   +2 added lines, -4 removed lines patch added patch discarded remove patch
@@ -8,8 +8,7 @@  discard block
 block discarded – undo
8 8
  * @author Max Kamashev <[email protected]>
9 9
  * @link   https://github.com/ukko/phpredis-phpdoc
10 10
  */
11
-class Redis
12
-{
11
+class Redis {
13 12
     public const AFTER = 'after';
14 13
     public const BEFORE = 'before';
15 14
 
@@ -4618,8 +4617,7 @@  discard block
 block discarded – undo
4618 4617
 /**
4619 4618
  * @mixin \Redis
4620 4619
  */
4621
-class RedisArray
4622
-{
4620
+class RedisArray {
4623 4621
     /**
4624 4622
      * Constructor
4625 4623
      *
Please login to merge, or discard this patch.
vendor-bin/php-scoper/vendor/jetbrains/phpstorm-stubs/amqp/amqp.php 2 patches
Indentation   +1460 added lines, -1460 removed lines patch added patch discarded remove patch
@@ -146,136 +146,136 @@  discard block
 block discarded – undo
146 146
  */
147 147
 class AMQPBasicProperties
148 148
 {
149
-    /**
150
-     * @param string $content_type
151
-     * @param string $content_encoding
152
-     * @param array  $headers
153
-     * @param int    $delivery_mode
154
-     * @param int    $priority
155
-     * @param string $correlation_id
156
-     * @param string $reply_to
157
-     * @param string $expiration
158
-     * @param string $message_id
159
-     * @param int    $timestamp
160
-     * @param string $type
161
-     * @param string $user_id
162
-     * @param string $app_id
163
-     * @param string $cluster_id
164
-     */
165
-    public function __construct(
166
-        $content_type = "",
167
-        $content_encoding = "",
168
-        array $headers = [],
169
-        $delivery_mode = 2,
170
-        $priority = 0,
171
-        $correlation_id = "",
172
-        $reply_to = "",
173
-        $expiration = "",
174
-        $message_id = "",
175
-        $timestamp = 0,
176
-        $type = "",
177
-        $user_id = "",
178
-        $app_id = "",
179
-        $cluster_id = ""
180
-    ) {}
181
-
182
-    /**
183
-     * Get the message content type.
184
-     *
185
-     * @return string The content type of the message.
186
-     */
187
-    public function getContentType() {}
188
-
189
-    /**
190
-     * Get the content encoding of the message.
191
-     *
192
-     * @return string The content encoding of the message.
193
-     */
194
-    public function getContentEncoding() {}
195
-
196
-    /**
197
-     * Get the headers of the message.
198
-     *
199
-     * @return array An array of key value pairs associated with the message.
200
-     */
201
-    public function getHeaders() {}
202
-
203
-    /**
204
-     * Get the delivery mode of the message.
205
-     *
206
-     * @return int The delivery mode of the message.
207
-     */
208
-    public function getDeliveryMode() {}
209
-
210
-    /**
211
-     * Get the priority of the message.
212
-     *
213
-     * @return int The message priority.
214
-     */
215
-    public function getPriority() {}
216
-
217
-    /**
218
-     * Get the message correlation id.
219
-     *
220
-     * @return string The correlation id of the message.
221
-     */
222
-    public function getCorrelationId() {}
223
-
224
-    /**
225
-     * Get the reply-to address of the message.
226
-     *
227
-     * @return string The contents of the reply to field.
228
-     */
229
-    public function getReplyTo() {}
230
-
231
-    /**
232
-     * Get the expiration of the message.
233
-     *
234
-     * @return string The message expiration.
235
-     */
236
-    public function getExpiration() {}
237
-
238
-    /**
239
-     * Get the message id of the message.
240
-     *
241
-     * @return string The message id
242
-     */
243
-    public function getMessageId() {}
244
-
245
-    /**
246
-     * Get the timestamp of the message.
247
-     *
248
-     * @return string The message timestamp.
249
-     */
250
-    public function getTimestamp() {}
251
-
252
-    /**
253
-     * Get the message type.
254
-     *
255
-     * @return string The message type.
256
-     */
257
-    public function getType() {}
258
-
259
-    /**
260
-     * Get the message user id.
261
-     *
262
-     * @return string The message user id.
263
-     */
264
-    public function getUserId() {}
265
-
266
-    /**
267
-     * Get the application id of the message.
268
-     *
269
-     * @return string The application id of the message.
270
-     */
271
-    public function getAppId() {}
272
-
273
-    /**
274
-     * Get the cluster id of the message.
275
-     *
276
-     * @return string The cluster id of the message.
277
-     */
278
-    public function getClusterId() {}
149
+	/**
150
+	 * @param string $content_type
151
+	 * @param string $content_encoding
152
+	 * @param array  $headers
153
+	 * @param int    $delivery_mode
154
+	 * @param int    $priority
155
+	 * @param string $correlation_id
156
+	 * @param string $reply_to
157
+	 * @param string $expiration
158
+	 * @param string $message_id
159
+	 * @param int    $timestamp
160
+	 * @param string $type
161
+	 * @param string $user_id
162
+	 * @param string $app_id
163
+	 * @param string $cluster_id
164
+	 */
165
+	public function __construct(
166
+		$content_type = "",
167
+		$content_encoding = "",
168
+		array $headers = [],
169
+		$delivery_mode = 2,
170
+		$priority = 0,
171
+		$correlation_id = "",
172
+		$reply_to = "",
173
+		$expiration = "",
174
+		$message_id = "",
175
+		$timestamp = 0,
176
+		$type = "",
177
+		$user_id = "",
178
+		$app_id = "",
179
+		$cluster_id = ""
180
+	) {}
181
+
182
+	/**
183
+	 * Get the message content type.
184
+	 *
185
+	 * @return string The content type of the message.
186
+	 */
187
+	public function getContentType() {}
188
+
189
+	/**
190
+	 * Get the content encoding of the message.
191
+	 *
192
+	 * @return string The content encoding of the message.
193
+	 */
194
+	public function getContentEncoding() {}
195
+
196
+	/**
197
+	 * Get the headers of the message.
198
+	 *
199
+	 * @return array An array of key value pairs associated with the message.
200
+	 */
201
+	public function getHeaders() {}
202
+
203
+	/**
204
+	 * Get the delivery mode of the message.
205
+	 *
206
+	 * @return int The delivery mode of the message.
207
+	 */
208
+	public function getDeliveryMode() {}
209
+
210
+	/**
211
+	 * Get the priority of the message.
212
+	 *
213
+	 * @return int The message priority.
214
+	 */
215
+	public function getPriority() {}
216
+
217
+	/**
218
+	 * Get the message correlation id.
219
+	 *
220
+	 * @return string The correlation id of the message.
221
+	 */
222
+	public function getCorrelationId() {}
223
+
224
+	/**
225
+	 * Get the reply-to address of the message.
226
+	 *
227
+	 * @return string The contents of the reply to field.
228
+	 */
229
+	public function getReplyTo() {}
230
+
231
+	/**
232
+	 * Get the expiration of the message.
233
+	 *
234
+	 * @return string The message expiration.
235
+	 */
236
+	public function getExpiration() {}
237
+
238
+	/**
239
+	 * Get the message id of the message.
240
+	 *
241
+	 * @return string The message id
242
+	 */
243
+	public function getMessageId() {}
244
+
245
+	/**
246
+	 * Get the timestamp of the message.
247
+	 *
248
+	 * @return string The message timestamp.
249
+	 */
250
+	public function getTimestamp() {}
251
+
252
+	/**
253
+	 * Get the message type.
254
+	 *
255
+	 * @return string The message type.
256
+	 */
257
+	public function getType() {}
258
+
259
+	/**
260
+	 * Get the message user id.
261
+	 *
262
+	 * @return string The message user id.
263
+	 */
264
+	public function getUserId() {}
265
+
266
+	/**
267
+	 * Get the application id of the message.
268
+	 *
269
+	 * @return string The application id of the message.
270
+	 */
271
+	public function getAppId() {}
272
+
273
+	/**
274
+	 * Get the cluster id of the message.
275
+	 *
276
+	 * @return string The cluster id of the message.
277
+	 */
278
+	public function getClusterId() {}
279 279
 }
280 280
 
281 281
 /**
@@ -283,268 +283,268 @@  discard block
 block discarded – undo
283 283
  */
284 284
 class AMQPChannel
285 285
 {
286
-    /**
287
-     * Commit a pending transaction.
288
-     *
289
-     * @throws AMQPChannelException    If no transaction was started prior to
290
-     *                                 calling this method.
291
-     * @throws AMQPConnectionException If the connection to the broker was lost.
292
-     *
293
-     * @return bool TRUE on success or FALSE on failure.
294
-     */
295
-    public function commitTransaction() {}
296
-
297
-    /**
298
-     * Create an instance of an AMQPChannel object.
299
-     *
300
-     * @param AMQPConnection $amqp_connection An instance of AMQPConnection
301
-     *                                        with an active connection to a
302
-     *                                        broker.
303
-     *
304
-     * @throws AMQPConnectionException        If the connection to the broker
305
-     *                                        was lost.
306
-     */
307
-    public function __construct(AMQPConnection $amqp_connection) {}
308
-
309
-    /**
310
-     * Check the channel connection.
311
-     *
312
-     * @return bool Indicates whether the channel is connected.
313
-     */
314
-    public function isConnected() {}
315
-
316
-    /**
317
-     * Closes the channel.
318
-     */
319
-    public function close() {}
320
-
321
-    /**
322
-     * Return internal channel ID
323
-     *
324
-     * @return int
325
-     */
326
-    public function getChannelId() {}
327
-
328
-    /**
329
-     * Set the Quality Of Service settings for the given channel.
330
-     *
331
-     * Specify the amount of data to prefetch in terms of window size (octets)
332
-     * or number of messages from a queue during a AMQPQueue::consume() or
333
-     * AMQPQueue::get() method call. The client will prefetch data up to size
334
-     * octets or count messages from the server, whichever limit is hit first.
335
-     * Setting either value to 0 will instruct the client to ignore that
336
-     * particular setting. A call to AMQPChannel::qos() will overwrite any
337
-     * values set by calling AMQPChannel::setPrefetchSize() and
338
-     * AMQPChannel::setPrefetchCount(). If the call to either
339
-     * AMQPQueue::consume() or AMQPQueue::get() is done with the AMQP_AUTOACK
340
-     * flag set, the client will not do any prefetching of data, regardless of
341
-     * the QOS settings.
342
-     *
343
-     * @param int $size   The window size, in octets, to prefetch.
344
-     * @param int $count  The number of messages to prefetch.
345
-     * @param bool    $global TRUE for global, FALSE for consumer. FALSE by default.
346
-     *
347
-     * @throws AMQPConnectionException If the connection to the broker was lost.
348
-     *
349
-     * @return bool TRUE on success or FALSE on failure.
350
-     */
351
-    public function qos($size, $count, $global = false) {}
352
-
353
-    /**
354
-     * Rollback a transaction.
355
-     *
356
-     * Rollback an existing transaction. AMQPChannel::startTransaction() must
357
-     * be called prior to this.
358
-     *
359
-     * @throws AMQPChannelException    If no transaction was started prior to
360
-     *                                 calling this method.
361
-     * @throws AMQPConnectionException If the connection to the broker was lost.
362
-     *
363
-     * @return bool TRUE on success or FALSE on failure.
364
-     */
365
-    public function rollbackTransaction() {}
366
-
367
-    /**
368
-     * Set the number of messages to prefetch from the broker for each consumer.
369
-     *
370
-     * Set the number of messages to prefetch from the broker during a call to
371
-     * AMQPQueue::consume() or AMQPQueue::get().
372
-     *
373
-     * @param int $count The number of messages to prefetch.
374
-     *
375
-     * @throws AMQPConnectionException If the connection to the broker was lost.
376
-     *
377
-     * @return bool TRUE on success or FALSE on failure.
378
-     */
379
-    public function setPrefetchCount($count) {}
380
-
381
-    /**
382
-     * Get the number of messages to prefetch from the broker for each consumer.
383
-     *
384
-     * @return int
385
-     */
386
-    public function getPrefetchCount() {}
387
-
388
-    /**
389
-     * Set the window size to prefetch from the broker for each consumer.
390
-     *
391
-     * Set the prefetch window size, in octets, during a call to
392
-     * AMQPQueue::consume() or AMQPQueue::get(). Any call to this method will
393
-     * automatically set the prefetch message count to 0, meaning that the
394
-     * prefetch message count setting will be ignored. If the call to either
395
-     * AMQPQueue::consume() or AMQPQueue::get() is done with the AMQP_AUTOACK
396
-     * flag set, this setting will be ignored.
397
-     *
398
-     * @param int $size The window size, in octets, to prefetch.
399
-     *
400
-     * @throws AMQPConnectionException If the connection to the broker was lost.
401
-     *
402
-     * @return bool TRUE on success or FALSE on failure.
403
-     */
404
-    public function setPrefetchSize($size) {}
405
-
406
-    /**
407
-     * Get the window size to prefetch from the broker for each consumer.
408
-     *
409
-     * @return int
410
-     */
411
-    public function getPrefetchSize() {}
412
-
413
-    /**
414
-     * Set the number of messages to prefetch from the broker across all consumers.
415
-     *
416
-     * Set the number of messages to prefetch from the broker during a call to
417
-     * AMQPQueue::consume() or AMQPQueue::get().
418
-     *
419
-     * @param int $count The number of messages to prefetch.
420
-     *
421
-     * @throws AMQPConnectionException If the connection to the broker was lost.
422
-     *
423
-     * @return bool TRUE on success or FALSE on failure.
424
-     */
425
-    public function setGlobalPrefetchCount($count) {}
426
-
427
-    /**
428
-     * Get the number of messages to prefetch from the broker across all consumers.
429
-     *
430
-     * @return int
431
-     */
432
-    public function getGlobalPrefetchCount() {}
433
-
434
-    /**
435
-     * Set the window size to prefetch from the broker for all consumers.
436
-     *
437
-     * Set the prefetch window size, in octets, during a call to
438
-     * AMQPQueue::consume() or AMQPQueue::get(). Any call to this method will
439
-     * automatically set the prefetch message count to 0, meaning that the
440
-     * prefetch message count setting will be ignored. If the call to either
441
-     * AMQPQueue::consume() or AMQPQueue::get() is done with the AMQP_AUTOACK
442
-     * flag set, this setting will be ignored.
443
-     *
444
-     * @param int $size The window size, in octets, to prefetch.
445
-     *
446
-     * @throws AMQPConnectionException If the connection to the broker was lost.
447
-     *
448
-     * @return bool TRUE on success or FALSE on failure.
449
-     */
450
-    public function setGlobalPrefetchSize($size) {}
451
-
452
-    /**
453
-     * Get the window size to prefetch from the broker for all consumers.
454
-     *
455
-     * @return int
456
-     */
457
-    public function getGlobalPrefetchSize() {}
458
-
459
-    /**
460
-     * Start a transaction.
461
-     *
462
-     * This method must be called on the given channel prior to calling
463
-     * AMQPChannel::commitTransaction() or AMQPChannel::rollbackTransaction().
464
-     *
465
-     * @throws AMQPConnectionException If the connection to the broker was lost.
466
-     *
467
-     * @return bool TRUE on success or FALSE on failure.
468
-     */
469
-    public function startTransaction() {}
470
-
471
-    /**
472
-     * Get the AMQPConnection object in use
473
-     *
474
-     * @return AMQPConnection
475
-     */
476
-    public function getConnection() {}
477
-
478
-    /**
479
-     * Redeliver unacknowledged messages.
480
-     *
481
-     * @param bool $requeue
482
-     */
483
-    public function basicRecover($requeue = true) {}
484
-
485
-    /**
486
-     * Set the channel to use publisher acknowledgements. This can only used on a non-transactional channel.
487
-     */
488
-    public function confirmSelect() {}
489
-
490
-    /**
491
-     * Set callback to process basic.ack and basic.nac AMQP server methods (applicable when channel in confirm mode).
492
-     *
493
-     * @param callable|null $ack_callback
494
-     * @param callable|null $nack_callback
495
-     *
496
-     * Callback functions with all arguments have the following signature:
497
-     *
498
-     *      function ack_callback(int $delivery_tag, bool $multiple) : bool;
499
-     *      function nack_callback(int $delivery_tag, bool $multiple, bool $requeue) : bool;
500
-     *
501
-     * and should return boolean false when wait loop should be canceled.
502
-     *
503
-     * Note, basic.nack server method will only be delivered if an internal error occurs in the Erlang process
504
-     * responsible for a queue (see https://www.rabbitmq.com/confirms.html for details).
505
-     */
506
-    public function setConfirmCallback(callable $ack_callback = null, callable $nack_callback = null) {}
507
-
508
-    /**
509
-     * Wait until all messages published since the last call have been either ack'd or nack'd by the broker.
510
-     *
511
-     * Note, this method also catch all basic.return message from server.
512
-     *
513
-     * @param float $timeout Timeout in seconds. May be fractional.
514
-     */
515
-    public function waitForConfirm($timeout = 0.0) {}
516
-
517
-    /**
518
-     * Set callback to process basic.return AMQP server method
519
-     *
520
-     * @param callable|null $return_callback
521
-     *
522
-     * Callback function with all arguments has the following signature:
523
-     *
524
-     *      function callback(int $reply_code,
525
-     *                        string $reply_text,
526
-     *                        string $exchange,
527
-     *                        string $routing_key,
528
-     *                        AMQPBasicProperties $properties,
529
-     *                        string $body) : bool;
530
-     *
531
-     * and should return boolean false when wait loop should be canceled.
532
-     */
533
-    public function setReturnCallback(callable $return_callback = null) {}
534
-
535
-    /**
536
-     * Start wait loop for basic.return AMQP server methods
537
-     *
538
-     * @param float $timeout Timeout in seconds. May be fractional.
539
-     */
540
-    public function waitForBasicReturn($timeout = 0.0) {}
541
-
542
-    /**
543
-     * Return array of current consumers where key is consumer and value is AMQPQueue consumer is running on
544
-     *
545
-     * @return AMQPQueue[]
546
-     */
547
-    public function getConsumers() {}
286
+	/**
287
+	 * Commit a pending transaction.
288
+	 *
289
+	 * @throws AMQPChannelException    If no transaction was started prior to
290
+	 *                                 calling this method.
291
+	 * @throws AMQPConnectionException If the connection to the broker was lost.
292
+	 *
293
+	 * @return bool TRUE on success or FALSE on failure.
294
+	 */
295
+	public function commitTransaction() {}
296
+
297
+	/**
298
+	 * Create an instance of an AMQPChannel object.
299
+	 *
300
+	 * @param AMQPConnection $amqp_connection An instance of AMQPConnection
301
+	 *                                        with an active connection to a
302
+	 *                                        broker.
303
+	 *
304
+	 * @throws AMQPConnectionException        If the connection to the broker
305
+	 *                                        was lost.
306
+	 */
307
+	public function __construct(AMQPConnection $amqp_connection) {}
308
+
309
+	/**
310
+	 * Check the channel connection.
311
+	 *
312
+	 * @return bool Indicates whether the channel is connected.
313
+	 */
314
+	public function isConnected() {}
315
+
316
+	/**
317
+	 * Closes the channel.
318
+	 */
319
+	public function close() {}
320
+
321
+	/**
322
+	 * Return internal channel ID
323
+	 *
324
+	 * @return int
325
+	 */
326
+	public function getChannelId() {}
327
+
328
+	/**
329
+	 * Set the Quality Of Service settings for the given channel.
330
+	 *
331
+	 * Specify the amount of data to prefetch in terms of window size (octets)
332
+	 * or number of messages from a queue during a AMQPQueue::consume() or
333
+	 * AMQPQueue::get() method call. The client will prefetch data up to size
334
+	 * octets or count messages from the server, whichever limit is hit first.
335
+	 * Setting either value to 0 will instruct the client to ignore that
336
+	 * particular setting. A call to AMQPChannel::qos() will overwrite any
337
+	 * values set by calling AMQPChannel::setPrefetchSize() and
338
+	 * AMQPChannel::setPrefetchCount(). If the call to either
339
+	 * AMQPQueue::consume() or AMQPQueue::get() is done with the AMQP_AUTOACK
340
+	 * flag set, the client will not do any prefetching of data, regardless of
341
+	 * the QOS settings.
342
+	 *
343
+	 * @param int $size   The window size, in octets, to prefetch.
344
+	 * @param int $count  The number of messages to prefetch.
345
+	 * @param bool    $global TRUE for global, FALSE for consumer. FALSE by default.
346
+	 *
347
+	 * @throws AMQPConnectionException If the connection to the broker was lost.
348
+	 *
349
+	 * @return bool TRUE on success or FALSE on failure.
350
+	 */
351
+	public function qos($size, $count, $global = false) {}
352
+
353
+	/**
354
+	 * Rollback a transaction.
355
+	 *
356
+	 * Rollback an existing transaction. AMQPChannel::startTransaction() must
357
+	 * be called prior to this.
358
+	 *
359
+	 * @throws AMQPChannelException    If no transaction was started prior to
360
+	 *                                 calling this method.
361
+	 * @throws AMQPConnectionException If the connection to the broker was lost.
362
+	 *
363
+	 * @return bool TRUE on success or FALSE on failure.
364
+	 */
365
+	public function rollbackTransaction() {}
366
+
367
+	/**
368
+	 * Set the number of messages to prefetch from the broker for each consumer.
369
+	 *
370
+	 * Set the number of messages to prefetch from the broker during a call to
371
+	 * AMQPQueue::consume() or AMQPQueue::get().
372
+	 *
373
+	 * @param int $count The number of messages to prefetch.
374
+	 *
375
+	 * @throws AMQPConnectionException If the connection to the broker was lost.
376
+	 *
377
+	 * @return bool TRUE on success or FALSE on failure.
378
+	 */
379
+	public function setPrefetchCount($count) {}
380
+
381
+	/**
382
+	 * Get the number of messages to prefetch from the broker for each consumer.
383
+	 *
384
+	 * @return int
385
+	 */
386
+	public function getPrefetchCount() {}
387
+
388
+	/**
389
+	 * Set the window size to prefetch from the broker for each consumer.
390
+	 *
391
+	 * Set the prefetch window size, in octets, during a call to
392
+	 * AMQPQueue::consume() or AMQPQueue::get(). Any call to this method will
393
+	 * automatically set the prefetch message count to 0, meaning that the
394
+	 * prefetch message count setting will be ignored. If the call to either
395
+	 * AMQPQueue::consume() or AMQPQueue::get() is done with the AMQP_AUTOACK
396
+	 * flag set, this setting will be ignored.
397
+	 *
398
+	 * @param int $size The window size, in octets, to prefetch.
399
+	 *
400
+	 * @throws AMQPConnectionException If the connection to the broker was lost.
401
+	 *
402
+	 * @return bool TRUE on success or FALSE on failure.
403
+	 */
404
+	public function setPrefetchSize($size) {}
405
+
406
+	/**
407
+	 * Get the window size to prefetch from the broker for each consumer.
408
+	 *
409
+	 * @return int
410
+	 */
411
+	public function getPrefetchSize() {}
412
+
413
+	/**
414
+	 * Set the number of messages to prefetch from the broker across all consumers.
415
+	 *
416
+	 * Set the number of messages to prefetch from the broker during a call to
417
+	 * AMQPQueue::consume() or AMQPQueue::get().
418
+	 *
419
+	 * @param int $count The number of messages to prefetch.
420
+	 *
421
+	 * @throws AMQPConnectionException If the connection to the broker was lost.
422
+	 *
423
+	 * @return bool TRUE on success or FALSE on failure.
424
+	 */
425
+	public function setGlobalPrefetchCount($count) {}
426
+
427
+	/**
428
+	 * Get the number of messages to prefetch from the broker across all consumers.
429
+	 *
430
+	 * @return int
431
+	 */
432
+	public function getGlobalPrefetchCount() {}
433
+
434
+	/**
435
+	 * Set the window size to prefetch from the broker for all consumers.
436
+	 *
437
+	 * Set the prefetch window size, in octets, during a call to
438
+	 * AMQPQueue::consume() or AMQPQueue::get(). Any call to this method will
439
+	 * automatically set the prefetch message count to 0, meaning that the
440
+	 * prefetch message count setting will be ignored. If the call to either
441
+	 * AMQPQueue::consume() or AMQPQueue::get() is done with the AMQP_AUTOACK
442
+	 * flag set, this setting will be ignored.
443
+	 *
444
+	 * @param int $size The window size, in octets, to prefetch.
445
+	 *
446
+	 * @throws AMQPConnectionException If the connection to the broker was lost.
447
+	 *
448
+	 * @return bool TRUE on success or FALSE on failure.
449
+	 */
450
+	public function setGlobalPrefetchSize($size) {}
451
+
452
+	/**
453
+	 * Get the window size to prefetch from the broker for all consumers.
454
+	 *
455
+	 * @return int
456
+	 */
457
+	public function getGlobalPrefetchSize() {}
458
+
459
+	/**
460
+	 * Start a transaction.
461
+	 *
462
+	 * This method must be called on the given channel prior to calling
463
+	 * AMQPChannel::commitTransaction() or AMQPChannel::rollbackTransaction().
464
+	 *
465
+	 * @throws AMQPConnectionException If the connection to the broker was lost.
466
+	 *
467
+	 * @return bool TRUE on success or FALSE on failure.
468
+	 */
469
+	public function startTransaction() {}
470
+
471
+	/**
472
+	 * Get the AMQPConnection object in use
473
+	 *
474
+	 * @return AMQPConnection
475
+	 */
476
+	public function getConnection() {}
477
+
478
+	/**
479
+	 * Redeliver unacknowledged messages.
480
+	 *
481
+	 * @param bool $requeue
482
+	 */
483
+	public function basicRecover($requeue = true) {}
484
+
485
+	/**
486
+	 * Set the channel to use publisher acknowledgements. This can only used on a non-transactional channel.
487
+	 */
488
+	public function confirmSelect() {}
489
+
490
+	/**
491
+	 * Set callback to process basic.ack and basic.nac AMQP server methods (applicable when channel in confirm mode).
492
+	 *
493
+	 * @param callable|null $ack_callback
494
+	 * @param callable|null $nack_callback
495
+	 *
496
+	 * Callback functions with all arguments have the following signature:
497
+	 *
498
+	 *      function ack_callback(int $delivery_tag, bool $multiple) : bool;
499
+	 *      function nack_callback(int $delivery_tag, bool $multiple, bool $requeue) : bool;
500
+	 *
501
+	 * and should return boolean false when wait loop should be canceled.
502
+	 *
503
+	 * Note, basic.nack server method will only be delivered if an internal error occurs in the Erlang process
504
+	 * responsible for a queue (see https://www.rabbitmq.com/confirms.html for details).
505
+	 */
506
+	public function setConfirmCallback(callable $ack_callback = null, callable $nack_callback = null) {}
507
+
508
+	/**
509
+	 * Wait until all messages published since the last call have been either ack'd or nack'd by the broker.
510
+	 *
511
+	 * Note, this method also catch all basic.return message from server.
512
+	 *
513
+	 * @param float $timeout Timeout in seconds. May be fractional.
514
+	 */
515
+	public function waitForConfirm($timeout = 0.0) {}
516
+
517
+	/**
518
+	 * Set callback to process basic.return AMQP server method
519
+	 *
520
+	 * @param callable|null $return_callback
521
+	 *
522
+	 * Callback function with all arguments has the following signature:
523
+	 *
524
+	 *      function callback(int $reply_code,
525
+	 *                        string $reply_text,
526
+	 *                        string $exchange,
527
+	 *                        string $routing_key,
528
+	 *                        AMQPBasicProperties $properties,
529
+	 *                        string $body) : bool;
530
+	 *
531
+	 * and should return boolean false when wait loop should be canceled.
532
+	 */
533
+	public function setReturnCallback(callable $return_callback = null) {}
534
+
535
+	/**
536
+	 * Start wait loop for basic.return AMQP server methods
537
+	 *
538
+	 * @param float $timeout Timeout in seconds. May be fractional.
539
+	 */
540
+	public function waitForBasicReturn($timeout = 0.0) {}
541
+
542
+	/**
543
+	 * Return array of current consumers where key is consumer and value is AMQPQueue consumer is running on
544
+	 *
545
+	 * @return AMQPQueue[]
546
+	 */
547
+	public function getConsumers() {}
548 548
 }
549 549
 
550 550
 /**
@@ -557,403 +557,403 @@  discard block
 block discarded – undo
557 557
  */
558 558
 class AMQPConnection
559 559
 {
560
-    /**
561
-     * Establish a transient connection with the AMQP broker.
562
-     *
563
-     * This method will initiate a connection with the AMQP broker.
564
-     *
565
-     * @throws AMQPConnectionException
566
-     * @return bool TRUE on success or throw an exception on failure.
567
-     */
568
-    public function connect() {}
569
-
570
-    /**
571
-     * Create an instance of AMQPConnection.
572
-     *
573
-     * Creates an AMQPConnection instance representing a connection to an AMQP
574
-     * broker. A connection will not be established until
575
-     * AMQPConnection::connect() is called.
576
-     *
577
-     *  $credentials = array(
578
-     *      'host'  => amqp.host The host to connect too. Note: Max 1024 characters.
579
-     *      'port'  => amqp.port Port on the host.
580
-     *      'vhost' => amqp.vhost The virtual host on the host. Note: Max 128 characters.
581
-     *      'login' => amqp.login The login name to use. Note: Max 128 characters.
582
-     *      'password' => amqp.password Password. Note: Max 128 characters.
583
-     *      'read_timeout'  => Timeout in for income activity. Note: 0 or greater seconds. May be fractional.
584
-     *      'write_timeout' => Timeout in for outcome activity. Note: 0 or greater seconds. May be fractional.
585
-     *      'connect_timeout' => Connection timeout. Note: 0 or greater seconds. May be fractional.
586
-     *      'rpc_timeout' => RPC timeout. Note: 0 or greater seconds. May be fractional.
587
-     *
588
-     *      Connection tuning options (see http://www.rabbitmq.com/amqp-0-9-1-reference.html#connection.tune for details):
589
-     *      'channel_max' => Specifies highest channel number that the server permits. 0 means standard extension limit
590
-     *                       (see PHP_AMQP_MAX_CHANNELS constant)
591
-     *      'frame_max'   => The largest frame size that the server proposes for the connection, including frame header
592
-     *                       and end-byte. 0 means standard extension limit (depends on librabbimq default frame size limit)
593
-     *      'heartbeat'   => The delay, in seconds, of the connection heartbeat that the server wants.
594
-     *                       0 means the server does not want a heartbeat. Note, librabbitmq has limited heartbeat support,
595
-     *                       which means heartbeats checked only during blocking calls.
596
-     *
597
-     *      TLS support (see https://www.rabbitmq.com/ssl.html for details):
598
-     *      'cacert' => Path to the CA cert file in PEM format..
599
-     *      'cert'   => Path to the client certificate in PEM foramt.
600
-     *      'key'    => Path to the client key in PEM format.
601
-     *      'verify' => Enable or disable peer verification. If peer verification is enabled then the common name in the
602
-     *                  server certificate must match the server name. Peer verification is enabled by default.
603
-     * )
604
-     *
605
-     * @param array $credentials Optional array of credential information for
606
-     *                           connecting to the AMQP broker.
607
-     */
608
-    public function __construct(array $credentials = []) {}
609
-
610
-    /**
611
-     * Closes the transient connection with the AMQP broker.
612
-     *
613
-     * This method will close an open connection with the AMQP broker.
614
-     *
615
-     * @return bool true if connection was successfully closed, false otherwise.
616
-     */
617
-    public function disconnect() {}
618
-
619
-    /**
620
-     * Get the configured host.
621
-     *
622
-     * @return string The configured hostname of the broker
623
-     */
624
-    public function getHost() {}
625
-
626
-    /**
627
-     * Get the configured login.
628
-     *
629
-     * @return string The configured login as a string.
630
-     */
631
-    public function getLogin() {}
632
-
633
-    /**
634
-     * Get the configured password.
635
-     *
636
-     * @return string The configured password as a string.
637
-     */
638
-    public function getPassword() {}
639
-
640
-    /**
641
-     * Get the configured port.
642
-     *
643
-     * @return int The configured port as an integer.
644
-     */
645
-    public function getPort() {}
646
-
647
-    /**
648
-     * Get the configured vhost.
649
-     *
650
-     * @return string The configured virtual host as a string.
651
-     */
652
-    public function getVhost() {}
653
-
654
-    /**
655
-     * Check whether the connection to the AMQP broker is still valid.
656
-     *
657
-     * It does so by checking the return status of the last connect-command.
658
-     *
659
-     * @return bool True if connected, false otherwise.
660
-     */
661
-    public function isConnected() {}
662
-
663
-    /**
664
-     * Establish a persistent connection with the AMQP broker.
665
-     *
666
-     * This method will initiate a connection with the AMQP broker
667
-     * or reuse an existing one if present.
668
-     *
669
-     * @throws AMQPConnectionException
670
-     * @return bool TRUE on success or throws an exception on failure.
671
-     */
672
-    public function pconnect() {}
673
-
674
-    /**
675
-     * Closes a persistent connection with the AMQP broker.
676
-     *
677
-     * This method will close an open persistent connection with the AMQP
678
-     * broker.
679
-     *
680
-     * @return bool true if connection was found and closed,
681
-     *                 false if no persistent connection with this host,
682
-     *                 port, vhost and login could be found,
683
-     */
684
-    public function pdisconnect() {}
685
-
686
-    /**
687
-     * Close any open transient connections and initiate a new one with the AMQP broker.
688
-     *
689
-     * @return bool TRUE on success or FALSE on failure.
690
-     */
691
-    public function reconnect() {}
692
-
693
-    /**
694
-     * Close any open persistent connections and initiate a new one with the AMQP broker.
695
-     *
696
-     * @return bool TRUE on success or FALSE on failure.
697
-     */
698
-    public function preconnect() {}
699
-
700
-    /**
701
-     * Set the hostname used to connect to the AMQP broker.
702
-     *
703
-     * @param string $host The hostname of the AMQP broker.
704
-     *
705
-     * @throws AMQPConnectionException If host is longer then 1024 characters.
706
-     *
707
-     * @return bool TRUE on success or FALSE on failure.
708
-     */
709
-    public function setHost($host) {}
710
-
711
-    /**
712
-     * Set the login string used to connect to the AMQP broker.
713
-     *
714
-     * @param string $login The login string used to authenticate
715
-     *                      with the AMQP broker.
716
-     *
717
-     * @throws AMQPConnectionException If login is longer then 32 characters.
718
-     *
719
-     * @return bool TRUE on success or FALSE on failure.
720
-     */
721
-    public function setLogin($login) {}
722
-
723
-    /**
724
-     * Set the password string used to connect to the AMQP broker.
725
-     *
726
-     * @param string $password The password string used to authenticate
727
-     *                         with the AMQP broker.
728
-     *
729
-     * @throws AMQPConnectionException If password is longer then 32characters.
730
-     *
731
-     * @return bool TRUE on success or FALSE on failure.
732
-     */
733
-    public function setPassword($password) {}
734
-
735
-    /**
736
-     * Set the port used to connect to the AMQP broker.
737
-     *
738
-     * @param int $port The port used to connect to the AMQP broker.
739
-     *
740
-     * @throws AMQPConnectionException If port is longer not between
741
-     *                                 1 and 65535.
742
-     *
743
-     * @return bool TRUE on success or FALSE on failure.
744
-     */
745
-    public function setPort($port) {}
746
-
747
-    /**
748
-     * Sets the virtual host to which to connect on the AMQP broker.
749
-     *
750
-     * @param string $vhost The virtual host to use on the AMQP
751
-     *                      broker.
752
-     *
753
-     * @throws AMQPConnectionException If host is longer then 32 characters.
754
-     *
755
-     * @return bool true on success or false on failure.
756
-     */
757
-    public function setVhost($vhost) {}
758
-
759
-    /**
760
-     * Sets the interval of time to wait for income activity from AMQP broker
761
-     *
762
-     * @param int $timeout
763
-     *
764
-     * @return bool
765
-     */
766
-    #[Deprecated(replacement: "%class%->setReadTimout(%parameter0%)")]
767
-    public function setTimeout($timeout) {}
768
-
769
-    /**
770
-     * Get the configured interval of time to wait for income activity
771
-     * from AMQP broker
772
-     *
773
-     * @return float
774
-     */
775
-    #[Deprecated(replacement: '%class%->getReadTimout(%parameter0%)')]
776
-    public function getTimeout() {}
777
-
778
-    /**
779
-     * Sets the interval of time to wait for income activity from AMQP broker
780
-     *
781
-     * @param int $timeout
782
-     *
783
-     * @return bool
784
-     */
785
-    public function setReadTimeout($timeout) {}
786
-
787
-    /**
788
-     * Get the configured interval of time to wait for income activity
789
-     * from AMQP broker
790
-     *
791
-     * @return float
792
-     */
793
-    public function getReadTimeout() {}
794
-
795
-    /**
796
-     * Sets the interval of time to wait for outcome activity to AMQP broker
797
-     *
798
-     * @param int $timeout
799
-     *
800
-     * @return bool
801
-     */
802
-    public function setWriteTimeout($timeout) {}
803
-
804
-    /**
805
-     * Get the configured interval of time to wait for outcome activity
806
-     * to AMQP broker
807
-     *
808
-     * @return float
809
-     */
810
-    public function getWriteTimeout() {}
811
-
812
-    /**
813
-     * Sets the interval of time to wait for RPC activity to AMQP broker
814
-     *
815
-     * @param int $timeout
816
-     *
817
-     * @return bool
818
-     */
819
-    public function setRpcTimeout($timeout) {}
820
-
821
-    /**
822
-     * Get the configured interval of time to wait for RPC activity
823
-     * to AMQP broker
824
-     *
825
-     * @return float
826
-     */
827
-    public function getRpcTimeout() {}
828
-
829
-    /**
830
-     * Return last used channel id during current connection session.
831
-     *
832
-     * @return int
833
-     */
834
-    public function getUsedChannels() {}
835
-
836
-    /**
837
-     * Get the maximum number of channels the connection can handle.
838
-     *
839
-     * When connection is connected, effective connection value returned, which is normally the same as original
840
-     * correspondent value passed to constructor, otherwise original value passed to constructor returned.
841
-     *
842
-     * @return int
843
-     */
844
-    public function getMaxChannels() {}
845
-
846
-    /**
847
-     * Get max supported frame size per connection in bytes.
848
-     *
849
-     * When connection is connected, effective connection value returned, which is normally the same as original
850
-     * correspondent value passed to constructor, otherwise original value passed to constructor returned.
851
-     *
852
-     * @return int
853
-     */
854
-    public function getMaxFrameSize() {}
855
-
856
-    /**
857
-     * Get number of seconds between heartbeats of the connection in seconds.
858
-     *
859
-     * When connection is connected, effective connection value returned, which is normally the same as original
860
-     * correspondent value passed to constructor, otherwise original value passed to constructor returned.
861
-     *
862
-     * @return int
863
-     */
864
-    public function getHeartbeatInterval() {}
865
-
866
-    /**
867
-     * Whether connection persistent.
868
-     *
869
-     * When connection is not connected, boolean false always returned
870
-     *
871
-     * @return bool
872
-     */
873
-    public function isPersistent() {}
874
-
875
-    /**
876
-     * Get path to the CA cert file in PEM format
877
-     *
878
-     * @return string
879
-     */
880
-    public function getCACert() {}
881
-
882
-    /**
883
-     * Set path to the CA cert file in PEM format
884
-     *
885
-     * @param string $cacert
886
-     */
887
-    public function setCACert($cacert) {}
888
-
889
-    /**
890
-     * Get path to the client certificate in PEM format
891
-     *
892
-     * @return string
893
-     */
894
-    public function getCert() {}
895
-
896
-    /**
897
-     * Set path to the client certificate in PEM format
898
-     *
899
-     * @param string $cert
900
-     */
901
-    public function setCert($cert) {}
902
-
903
-    /**
904
-     * Get path to the client key in PEM format
905
-     *
906
-     * @return string
907
-     */
908
-    public function getKey() {}
909
-
910
-    /**
911
-     * Set path to the client key in PEM format
912
-     *
913
-     * @param string $key
914
-     */
915
-    public function setKey($key) {}
916
-
917
-    /**
918
-     * Get whether peer verification enabled or disabled
919
-     *
920
-     * @return bool
921
-     */
922
-    public function getVerify() {}
923
-
924
-    /**
925
-     * Enable or disable peer verification
926
-     *
927
-     * @param bool $verify
928
-     */
929
-    public function setVerify($verify) {}
930
-
931
-    /**
932
-     * set authentication method
933
-     *
934
-     * @param int $method AMQP_SASL_METHOD_PLAIN | AMQP_SASL_METHOD_EXTERNAL
935
-     */
936
-    public function setSaslMethod($method) {}
937
-
938
-    /**
939
-     * Get authentication mechanism configuration
940
-     *
941
-     * @return int AMQP_SASL_METHOD_PLAIN | AMQP_SASL_METHOD_EXTERNAL
942
-     */
943
-    public function getSaslMethod() {}
944
-
945
-    /**
946
-     * Return the connection name
947
-     * @return string|null
948
-     */
949
-    public function getConnectionName() {}
950
-
951
-    /**
952
-     * Set the connection name
953
-     * @param string $connection_name
954
-     * @return void
955
-     */
956
-    public function setConnectionName($connection_name) {}
560
+	/**
561
+	 * Establish a transient connection with the AMQP broker.
562
+	 *
563
+	 * This method will initiate a connection with the AMQP broker.
564
+	 *
565
+	 * @throws AMQPConnectionException
566
+	 * @return bool TRUE on success or throw an exception on failure.
567
+	 */
568
+	public function connect() {}
569
+
570
+	/**
571
+	 * Create an instance of AMQPConnection.
572
+	 *
573
+	 * Creates an AMQPConnection instance representing a connection to an AMQP
574
+	 * broker. A connection will not be established until
575
+	 * AMQPConnection::connect() is called.
576
+	 *
577
+	 *  $credentials = array(
578
+	 *      'host'  => amqp.host The host to connect too. Note: Max 1024 characters.
579
+	 *      'port'  => amqp.port Port on the host.
580
+	 *      'vhost' => amqp.vhost The virtual host on the host. Note: Max 128 characters.
581
+	 *      'login' => amqp.login The login name to use. Note: Max 128 characters.
582
+	 *      'password' => amqp.password Password. Note: Max 128 characters.
583
+	 *      'read_timeout'  => Timeout in for income activity. Note: 0 or greater seconds. May be fractional.
584
+	 *      'write_timeout' => Timeout in for outcome activity. Note: 0 or greater seconds. May be fractional.
585
+	 *      'connect_timeout' => Connection timeout. Note: 0 or greater seconds. May be fractional.
586
+	 *      'rpc_timeout' => RPC timeout. Note: 0 or greater seconds. May be fractional.
587
+	 *
588
+	 *      Connection tuning options (see http://www.rabbitmq.com/amqp-0-9-1-reference.html#connection.tune for details):
589
+	 *      'channel_max' => Specifies highest channel number that the server permits. 0 means standard extension limit
590
+	 *                       (see PHP_AMQP_MAX_CHANNELS constant)
591
+	 *      'frame_max'   => The largest frame size that the server proposes for the connection, including frame header
592
+	 *                       and end-byte. 0 means standard extension limit (depends on librabbimq default frame size limit)
593
+	 *      'heartbeat'   => The delay, in seconds, of the connection heartbeat that the server wants.
594
+	 *                       0 means the server does not want a heartbeat. Note, librabbitmq has limited heartbeat support,
595
+	 *                       which means heartbeats checked only during blocking calls.
596
+	 *
597
+	 *      TLS support (see https://www.rabbitmq.com/ssl.html for details):
598
+	 *      'cacert' => Path to the CA cert file in PEM format..
599
+	 *      'cert'   => Path to the client certificate in PEM foramt.
600
+	 *      'key'    => Path to the client key in PEM format.
601
+	 *      'verify' => Enable or disable peer verification. If peer verification is enabled then the common name in the
602
+	 *                  server certificate must match the server name. Peer verification is enabled by default.
603
+	 * )
604
+	 *
605
+	 * @param array $credentials Optional array of credential information for
606
+	 *                           connecting to the AMQP broker.
607
+	 */
608
+	public function __construct(array $credentials = []) {}
609
+
610
+	/**
611
+	 * Closes the transient connection with the AMQP broker.
612
+	 *
613
+	 * This method will close an open connection with the AMQP broker.
614
+	 *
615
+	 * @return bool true if connection was successfully closed, false otherwise.
616
+	 */
617
+	public function disconnect() {}
618
+
619
+	/**
620
+	 * Get the configured host.
621
+	 *
622
+	 * @return string The configured hostname of the broker
623
+	 */
624
+	public function getHost() {}
625
+
626
+	/**
627
+	 * Get the configured login.
628
+	 *
629
+	 * @return string The configured login as a string.
630
+	 */
631
+	public function getLogin() {}
632
+
633
+	/**
634
+	 * Get the configured password.
635
+	 *
636
+	 * @return string The configured password as a string.
637
+	 */
638
+	public function getPassword() {}
639
+
640
+	/**
641
+	 * Get the configured port.
642
+	 *
643
+	 * @return int The configured port as an integer.
644
+	 */
645
+	public function getPort() {}
646
+
647
+	/**
648
+	 * Get the configured vhost.
649
+	 *
650
+	 * @return string The configured virtual host as a string.
651
+	 */
652
+	public function getVhost() {}
653
+
654
+	/**
655
+	 * Check whether the connection to the AMQP broker is still valid.
656
+	 *
657
+	 * It does so by checking the return status of the last connect-command.
658
+	 *
659
+	 * @return bool True if connected, false otherwise.
660
+	 */
661
+	public function isConnected() {}
662
+
663
+	/**
664
+	 * Establish a persistent connection with the AMQP broker.
665
+	 *
666
+	 * This method will initiate a connection with the AMQP broker
667
+	 * or reuse an existing one if present.
668
+	 *
669
+	 * @throws AMQPConnectionException
670
+	 * @return bool TRUE on success or throws an exception on failure.
671
+	 */
672
+	public function pconnect() {}
673
+
674
+	/**
675
+	 * Closes a persistent connection with the AMQP broker.
676
+	 *
677
+	 * This method will close an open persistent connection with the AMQP
678
+	 * broker.
679
+	 *
680
+	 * @return bool true if connection was found and closed,
681
+	 *                 false if no persistent connection with this host,
682
+	 *                 port, vhost and login could be found,
683
+	 */
684
+	public function pdisconnect() {}
685
+
686
+	/**
687
+	 * Close any open transient connections and initiate a new one with the AMQP broker.
688
+	 *
689
+	 * @return bool TRUE on success or FALSE on failure.
690
+	 */
691
+	public function reconnect() {}
692
+
693
+	/**
694
+	 * Close any open persistent connections and initiate a new one with the AMQP broker.
695
+	 *
696
+	 * @return bool TRUE on success or FALSE on failure.
697
+	 */
698
+	public function preconnect() {}
699
+
700
+	/**
701
+	 * Set the hostname used to connect to the AMQP broker.
702
+	 *
703
+	 * @param string $host The hostname of the AMQP broker.
704
+	 *
705
+	 * @throws AMQPConnectionException If host is longer then 1024 characters.
706
+	 *
707
+	 * @return bool TRUE on success or FALSE on failure.
708
+	 */
709
+	public function setHost($host) {}
710
+
711
+	/**
712
+	 * Set the login string used to connect to the AMQP broker.
713
+	 *
714
+	 * @param string $login The login string used to authenticate
715
+	 *                      with the AMQP broker.
716
+	 *
717
+	 * @throws AMQPConnectionException If login is longer then 32 characters.
718
+	 *
719
+	 * @return bool TRUE on success or FALSE on failure.
720
+	 */
721
+	public function setLogin($login) {}
722
+
723
+	/**
724
+	 * Set the password string used to connect to the AMQP broker.
725
+	 *
726
+	 * @param string $password The password string used to authenticate
727
+	 *                         with the AMQP broker.
728
+	 *
729
+	 * @throws AMQPConnectionException If password is longer then 32characters.
730
+	 *
731
+	 * @return bool TRUE on success or FALSE on failure.
732
+	 */
733
+	public function setPassword($password) {}
734
+
735
+	/**
736
+	 * Set the port used to connect to the AMQP broker.
737
+	 *
738
+	 * @param int $port The port used to connect to the AMQP broker.
739
+	 *
740
+	 * @throws AMQPConnectionException If port is longer not between
741
+	 *                                 1 and 65535.
742
+	 *
743
+	 * @return bool TRUE on success or FALSE on failure.
744
+	 */
745
+	public function setPort($port) {}
746
+
747
+	/**
748
+	 * Sets the virtual host to which to connect on the AMQP broker.
749
+	 *
750
+	 * @param string $vhost The virtual host to use on the AMQP
751
+	 *                      broker.
752
+	 *
753
+	 * @throws AMQPConnectionException If host is longer then 32 characters.
754
+	 *
755
+	 * @return bool true on success or false on failure.
756
+	 */
757
+	public function setVhost($vhost) {}
758
+
759
+	/**
760
+	 * Sets the interval of time to wait for income activity from AMQP broker
761
+	 *
762
+	 * @param int $timeout
763
+	 *
764
+	 * @return bool
765
+	 */
766
+	#[Deprecated(replacement: "%class%->setReadTimout(%parameter0%)")]
767
+	public function setTimeout($timeout) {}
768
+
769
+	/**
770
+	 * Get the configured interval of time to wait for income activity
771
+	 * from AMQP broker
772
+	 *
773
+	 * @return float
774
+	 */
775
+	#[Deprecated(replacement: '%class%->getReadTimout(%parameter0%)')]
776
+	public function getTimeout() {}
777
+
778
+	/**
779
+	 * Sets the interval of time to wait for income activity from AMQP broker
780
+	 *
781
+	 * @param int $timeout
782
+	 *
783
+	 * @return bool
784
+	 */
785
+	public function setReadTimeout($timeout) {}
786
+
787
+	/**
788
+	 * Get the configured interval of time to wait for income activity
789
+	 * from AMQP broker
790
+	 *
791
+	 * @return float
792
+	 */
793
+	public function getReadTimeout() {}
794
+
795
+	/**
796
+	 * Sets the interval of time to wait for outcome activity to AMQP broker
797
+	 *
798
+	 * @param int $timeout
799
+	 *
800
+	 * @return bool
801
+	 */
802
+	public function setWriteTimeout($timeout) {}
803
+
804
+	/**
805
+	 * Get the configured interval of time to wait for outcome activity
806
+	 * to AMQP broker
807
+	 *
808
+	 * @return float
809
+	 */
810
+	public function getWriteTimeout() {}
811
+
812
+	/**
813
+	 * Sets the interval of time to wait for RPC activity to AMQP broker
814
+	 *
815
+	 * @param int $timeout
816
+	 *
817
+	 * @return bool
818
+	 */
819
+	public function setRpcTimeout($timeout) {}
820
+
821
+	/**
822
+	 * Get the configured interval of time to wait for RPC activity
823
+	 * to AMQP broker
824
+	 *
825
+	 * @return float
826
+	 */
827
+	public function getRpcTimeout() {}
828
+
829
+	/**
830
+	 * Return last used channel id during current connection session.
831
+	 *
832
+	 * @return int
833
+	 */
834
+	public function getUsedChannels() {}
835
+
836
+	/**
837
+	 * Get the maximum number of channels the connection can handle.
838
+	 *
839
+	 * When connection is connected, effective connection value returned, which is normally the same as original
840
+	 * correspondent value passed to constructor, otherwise original value passed to constructor returned.
841
+	 *
842
+	 * @return int
843
+	 */
844
+	public function getMaxChannels() {}
845
+
846
+	/**
847
+	 * Get max supported frame size per connection in bytes.
848
+	 *
849
+	 * When connection is connected, effective connection value returned, which is normally the same as original
850
+	 * correspondent value passed to constructor, otherwise original value passed to constructor returned.
851
+	 *
852
+	 * @return int
853
+	 */
854
+	public function getMaxFrameSize() {}
855
+
856
+	/**
857
+	 * Get number of seconds between heartbeats of the connection in seconds.
858
+	 *
859
+	 * When connection is connected, effective connection value returned, which is normally the same as original
860
+	 * correspondent value passed to constructor, otherwise original value passed to constructor returned.
861
+	 *
862
+	 * @return int
863
+	 */
864
+	public function getHeartbeatInterval() {}
865
+
866
+	/**
867
+	 * Whether connection persistent.
868
+	 *
869
+	 * When connection is not connected, boolean false always returned
870
+	 *
871
+	 * @return bool
872
+	 */
873
+	public function isPersistent() {}
874
+
875
+	/**
876
+	 * Get path to the CA cert file in PEM format
877
+	 *
878
+	 * @return string
879
+	 */
880
+	public function getCACert() {}
881
+
882
+	/**
883
+	 * Set path to the CA cert file in PEM format
884
+	 *
885
+	 * @param string $cacert
886
+	 */
887
+	public function setCACert($cacert) {}
888
+
889
+	/**
890
+	 * Get path to the client certificate in PEM format
891
+	 *
892
+	 * @return string
893
+	 */
894
+	public function getCert() {}
895
+
896
+	/**
897
+	 * Set path to the client certificate in PEM format
898
+	 *
899
+	 * @param string $cert
900
+	 */
901
+	public function setCert($cert) {}
902
+
903
+	/**
904
+	 * Get path to the client key in PEM format
905
+	 *
906
+	 * @return string
907
+	 */
908
+	public function getKey() {}
909
+
910
+	/**
911
+	 * Set path to the client key in PEM format
912
+	 *
913
+	 * @param string $key
914
+	 */
915
+	public function setKey($key) {}
916
+
917
+	/**
918
+	 * Get whether peer verification enabled or disabled
919
+	 *
920
+	 * @return bool
921
+	 */
922
+	public function getVerify() {}
923
+
924
+	/**
925
+	 * Enable or disable peer verification
926
+	 *
927
+	 * @param bool $verify
928
+	 */
929
+	public function setVerify($verify) {}
930
+
931
+	/**
932
+	 * set authentication method
933
+	 *
934
+	 * @param int $method AMQP_SASL_METHOD_PLAIN | AMQP_SASL_METHOD_EXTERNAL
935
+	 */
936
+	public function setSaslMethod($method) {}
937
+
938
+	/**
939
+	 * Get authentication mechanism configuration
940
+	 *
941
+	 * @return int AMQP_SASL_METHOD_PLAIN | AMQP_SASL_METHOD_EXTERNAL
942
+	 */
943
+	public function getSaslMethod() {}
944
+
945
+	/**
946
+	 * Return the connection name
947
+	 * @return string|null
948
+	 */
949
+	public function getConnectionName() {}
950
+
951
+	/**
952
+	 * Set the connection name
953
+	 * @param string $connection_name
954
+	 * @return void
955
+	 */
956
+	public function setConnectionName($connection_name) {}
957 957
 }
958 958
 
959 959
 /**
@@ -966,24 +966,24 @@  discard block
 block discarded – undo
966 966
  */
967 967
 final class AMQPDecimal
968 968
 {
969
-    public const EXPONENT_MIN = 0;
970
-    public const EXPONENT_MAX = 255;
971
-    public const SIGNIFICAND_MIN = 0;
972
-    public const SIGNIFICAND_MAX = 4294967295;
973
-
974
-    /**
975
-     * @param $exponent
976
-     * @param $significand
977
-     *
978
-     * @throws AMQPExchangeValue
979
-     */
980
-    public function __construct($exponent, $significand) {}
981
-
982
-    /** @return int */
983
-    public function getExponent() {}
984
-
985
-    /** @return int */
986
-    public function getSignificand() {}
969
+	public const EXPONENT_MIN = 0;
970
+	public const EXPONENT_MAX = 255;
971
+	public const SIGNIFICAND_MIN = 0;
972
+	public const SIGNIFICAND_MAX = 4294967295;
973
+
974
+	/**
975
+	 * @param $exponent
976
+	 * @param $significand
977
+	 *
978
+	 * @throws AMQPExchangeValue
979
+	 */
980
+	public function __construct($exponent, $significand) {}
981
+
982
+	/** @return int */
983
+	public function getExponent() {}
984
+
985
+	/** @return int */
986
+	public function getSignificand() {}
987 987
 }
988 988
 
989 989
 /**
@@ -991,73 +991,73 @@  discard block
 block discarded – undo
991 991
  */
992 992
 class AMQPEnvelope extends AMQPBasicProperties
993 993
 {
994
-    public function __construct() {}
995
-
996
-    /**
997
-     * Get the body of the message.
998
-     *
999
-     * @return string The contents of the message body.
1000
-     */
1001
-    public function getBody() {}
1002
-
1003
-    /**
1004
-     * Get the routing key of the message.
1005
-     *
1006
-     * @return string The message routing key.
1007
-     */
1008
-    public function getRoutingKey() {}
1009
-
1010
-    /**
1011
-     * Get the consumer tag of the message.
1012
-     *
1013
-     * @return string The consumer tag of the message.
1014
-     */
1015
-    public function getConsumerTag() {}
1016
-
1017
-    /**
1018
-     * Get the delivery tag of the message.
1019
-     *
1020
-     * @return string The delivery tag of the message.
1021
-     */
1022
-    public function getDeliveryTag() {}
1023
-
1024
-    /**
1025
-     * Get the exchange name on which the message was published.
1026
-     *
1027
-     * @return string The exchange name on which the message was published.
1028
-     */
1029
-    public function getExchangeName() {}
1030
-
1031
-    /**
1032
-     * Whether this is a redelivery of the message.
1033
-     *
1034
-     * Whether this is a redelivery of a message. If this message has been
1035
-     * delivered and AMQPEnvelope::nack() was called, the message will be put
1036
-     * back on the queue to be redelivered, at which point the message will
1037
-     * always return TRUE when this method is called.
1038
-     *
1039
-     * @return bool TRUE if this is a redelivery, FALSE otherwise.
1040
-     */
1041
-    public function isRedelivery() {}
1042
-
1043
-    /**
1044
-     * Get a specific message header.
1045
-     *
1046
-     * @param string $header_key Name of the header to get the value from.
1047
-     *
1048
-     * @return string|false The contents of the specified header or FALSE
1049
-     *                        if not set.
1050
-     */
1051
-    public function getHeader($header_key) {}
1052
-
1053
-    /**
1054
-     * Check whether specific message header exists.
1055
-     *
1056
-     * @param string $header_key Name of the header to check.
1057
-     *
1058
-     * @return bool
1059
-     */
1060
-    public function hasHeader($header_key) {}
994
+	public function __construct() {}
995
+
996
+	/**
997
+	 * Get the body of the message.
998
+	 *
999
+	 * @return string The contents of the message body.
1000
+	 */
1001
+	public function getBody() {}
1002
+
1003
+	/**
1004
+	 * Get the routing key of the message.
1005
+	 *
1006
+	 * @return string The message routing key.
1007
+	 */
1008
+	public function getRoutingKey() {}
1009
+
1010
+	/**
1011
+	 * Get the consumer tag of the message.
1012
+	 *
1013
+	 * @return string The consumer tag of the message.
1014
+	 */
1015
+	public function getConsumerTag() {}
1016
+
1017
+	/**
1018
+	 * Get the delivery tag of the message.
1019
+	 *
1020
+	 * @return string The delivery tag of the message.
1021
+	 */
1022
+	public function getDeliveryTag() {}
1023
+
1024
+	/**
1025
+	 * Get the exchange name on which the message was published.
1026
+	 *
1027
+	 * @return string The exchange name on which the message was published.
1028
+	 */
1029
+	public function getExchangeName() {}
1030
+
1031
+	/**
1032
+	 * Whether this is a redelivery of the message.
1033
+	 *
1034
+	 * Whether this is a redelivery of a message. If this message has been
1035
+	 * delivered and AMQPEnvelope::nack() was called, the message will be put
1036
+	 * back on the queue to be redelivered, at which point the message will
1037
+	 * always return TRUE when this method is called.
1038
+	 *
1039
+	 * @return bool TRUE if this is a redelivery, FALSE otherwise.
1040
+	 */
1041
+	public function isRedelivery() {}
1042
+
1043
+	/**
1044
+	 * Get a specific message header.
1045
+	 *
1046
+	 * @param string $header_key Name of the header to get the value from.
1047
+	 *
1048
+	 * @return string|false The contents of the specified header or FALSE
1049
+	 *                        if not set.
1050
+	 */
1051
+	public function getHeader($header_key) {}
1052
+
1053
+	/**
1054
+	 * Check whether specific message header exists.
1055
+	 *
1056
+	 * @param string $header_key Name of the header to check.
1057
+	 *
1058
+	 * @return bool
1059
+	 */
1060
+	public function hasHeader($header_key) {}
1061 1061
 }
1062 1062
 
1063 1063
 /**
@@ -1065,10 +1065,10 @@  discard block
 block discarded – undo
1065 1065
  */
1066 1066
 class AMQPEnvelopeException extends AMQPException
1067 1067
 {
1068
-    /**
1069
-     * @var AMQPEnvelope
1070
-     */
1071
-    public $envelope;
1068
+	/**
1069
+	 * @var AMQPEnvelope
1070
+	 */
1071
+	public $envelope;
1072 1072
 }
1073 1073
 
1074 1074
 /**
@@ -1081,235 +1081,235 @@  discard block
 block discarded – undo
1081 1081
  */
1082 1082
 class AMQPExchange
1083 1083
 {
1084
-    /**
1085
-     * Bind to another exchange.
1086
-     *
1087
-     * Bind an exchange to another exchange using the specified routing key.
1088
-     *
1089
-     * @param string $exchange_name Name of the exchange to bind.
1090
-     * @param string $routing_key   The routing key to use for binding.
1091
-     * @param array  $arguments     Additional binding arguments.
1092
-     *
1093
-     * @throws AMQPExchangeException   On failure.
1094
-     * @throws AMQPChannelException    If the channel is not open.
1095
-     * @throws AMQPConnectionException If the connection to the broker was lost.
1096
-     * @return bool TRUE on success or FALSE on failure.
1097
-     */
1098
-    public function bind($exchange_name, $routing_key = '', array $arguments = []) {}
1099
-
1100
-    /**
1101
-     * Remove binding to another exchange.
1102
-     *
1103
-     * Remove a routing key binding on an another exchange from the given exchange.
1104
-     *
1105
-     * @param string $exchange_name Name of the exchange to bind.
1106
-     * @param string $routing_key   The routing key to use for binding.
1107
-     * @param array  $arguments     Additional binding arguments.
1108
-     *
1109
-     * @throws AMQPExchangeException   On failure.
1110
-     * @throws AMQPChannelException    If the channel is not open.
1111
-     * @throws AMQPConnectionException If the connection to the broker was lost.
1112
-     * @return bool TRUE on success or FALSE on failure.
1113
-     */
1114
-    public function unbind($exchange_name, $routing_key = '', array $arguments = []) {}
1115
-
1116
-    /**
1117
-     * Create an instance of AMQPExchange.
1118
-     *
1119
-     * Returns a new instance of an AMQPExchange object, associated with the
1120
-     * given AMQPChannel object.
1121
-     *
1122
-     * @param AMQPChannel $amqp_channel A valid AMQPChannel object, connected
1123
-     *                                  to a broker.
1124
-     *
1125
-     * @throws AMQPExchangeException   When amqp_channel is not connected to
1126
-     *                                 a broker.
1127
-     * @throws AMQPConnectionException If the connection to the broker was
1128
-     *                                 lost.
1129
-     */
1130
-    public function __construct(AMQPChannel $amqp_channel) {}
1131
-
1132
-    /**
1133
-     * Declare a new exchange on the broker.
1134
-     *
1135
-     * @throws AMQPExchangeException   On failure.
1136
-     * @throws AMQPChannelException    If the channel is not open.
1137
-     * @throws AMQPConnectionException If the connection to the broker was lost.
1138
-     *
1139
-     * @return bool TRUE on success or FALSE on failure.
1140
-     */
1141
-    public function declareExchange() {}
1142
-
1143
-    /**
1144
-     * Delete the exchange from the broker.
1145
-     *
1146
-     * @param string  $exchangeName Optional name of exchange to delete.
1147
-     * @param int $flags        Optionally AMQP_IFUNUSED can be specified
1148
-     *                              to indicate the exchange should not be
1149
-     *                              deleted until no clients are connected to
1150
-     *                              it.
1151
-     *
1152
-     * @throws AMQPExchangeException   On failure.
1153
-     * @throws AMQPChannelException    If the channel is not open.
1154
-     * @throws AMQPConnectionException If the connection to the broker was lost.
1155
-     *
1156
-     * @return bool TRUE on success or FALSE on failure.
1157
-     */
1158
-    public function delete($exchangeName = null, $flags = AMQP_NOPARAM) {}
1159
-
1160
-    /**
1161
-     * Get the argument associated with the given key.
1162
-     *
1163
-     * @param string $key The key to look up.
1164
-     *
1165
-     * @return string|int|false The string or integer value associated
1166
-     *                             with the given key, or FALSE if the key
1167
-     *                             is not set.
1168
-     */
1169
-    public function getArgument($key) {}
1170
-
1171
-    /**
1172
-     * Check whether argument associated with the given key exists.
1173
-     *
1174
-     * @param string $key The key to look up.
1175
-     *
1176
-     * @return bool
1177
-     */
1178
-    public function hasArgument($key) {}
1179
-
1180
-    /**
1181
-     * Get all arguments set on the given exchange.
1182
-     *
1183
-     * @return array An array containing all of the set key/value pairs.
1184
-     */
1185
-    public function getArguments() {}
1186
-
1187
-    /**
1188
-     * Get all the flags currently set on the given exchange.
1189
-     *
1190
-     * @return int An integer bitmask of all the flags currently set on this
1191
-     *             exchange object.
1192
-     */
1193
-    public function getFlags() {}
1194
-
1195
-    /**
1196
-     * Get the configured name.
1197
-     *
1198
-     * @return string The configured name as a string.
1199
-     */
1200
-    public function getName() {}
1201
-
1202
-    /**
1203
-     * Get the configured type.
1204
-     *
1205
-     * @return string The configured type as a string.
1206
-     */
1207
-    public function getType() {}
1208
-
1209
-    /**
1210
-     * Publish a message to an exchange.
1211
-     *
1212
-     * Publish a message to the exchange represented by the AMQPExchange object.
1213
-     *
1214
-     * @param string  $message     The message to publish.
1215
-     * @param string  $routing_key The optional routing key to which to
1216
-     *                             publish to.
1217
-     * @param int $flags       One or more of AMQP_MANDATORY and
1218
-     *                             AMQP_IMMEDIATE.
1219
-     * @param array   $attributes  One of content_type, content_encoding,
1220
-     *                             message_id, user_id, app_id, delivery_mode,
1221
-     *                             priority, timestamp, expiration, type
1222
-     *                             or reply_to, headers.
1223
-     *
1224
-     * @throws AMQPExchangeException   On failure.
1225
-     * @throws AMQPChannelException    If the channel is not open.
1226
-     * @throws AMQPConnectionException If the connection to the broker was lost.
1227
-     *
1228
-     * @return bool TRUE on success or FALSE on failure.
1229
-     */
1230
-    public function publish(
1231
-        $message,
1232
-        $routing_key = null,
1233
-        $flags = AMQP_NOPARAM,
1234
-        array $attributes = []
1235
-    ) {}
1236
-
1237
-    /**
1238
-     * Set the value for the given key.
1239
-     *
1240
-     * @param string         $key   Name of the argument to set.
1241
-     * @param string|int $value Value of the argument to set.
1242
-     *
1243
-     * @return bool TRUE on success or FALSE on failure.
1244
-     */
1245
-    public function setArgument($key, $value) {}
1246
-
1247
-    /**
1248
-     * Set all arguments on the exchange.
1249
-     *
1250
-     * @param array $arguments An array of key/value pairs of arguments.
1251
-     *
1252
-     * @return bool TRUE on success or FALSE on failure.
1253
-     */
1254
-    public function setArguments(array $arguments) {}
1255
-
1256
-    /**
1257
-     * Set the flags on an exchange.
1258
-     *
1259
-     * @param int $flags A bitmask of flags. This call currently only
1260
-     *                       considers the following flags:
1261
-     *                       AMQP_DURABLE, AMQP_PASSIVE
1262
-     *                       (and AMQP_DURABLE, if librabbitmq version >= 0.5.3)
1263
-     *
1264
-     * @return void
1265
-     */
1266
-    public function setFlags($flags) {}
1267
-
1268
-    /**
1269
-     * Set the name of the exchange.
1270
-     *
1271
-     * @param string $exchange_name The name of the exchange to set as string.
1272
-     *
1273
-     * @return void
1274
-     */
1275
-    public function setName($exchange_name) {}
1276
-
1277
-    /**
1278
-     * Set the type of the exchange.
1279
-     *
1280
-     * Set the type of the exchange. This can be any of AMQP_EX_TYPE_DIRECT,
1281
-     * AMQP_EX_TYPE_FANOUT, AMQP_EX_TYPE_HEADERS or AMQP_EX_TYPE_TOPIC.
1282
-     *
1283
-     * @param string $exchange_type The type of exchange as a string.
1284
-     *
1285
-     * @return void
1286
-     */
1287
-    public function setType($exchange_type) {}
1288
-
1289
-    /**
1290
-     * Get the AMQPChannel object in use
1291
-     *
1292
-     * @return AMQPChannel
1293
-     */
1294
-    public function getChannel() {}
1295
-
1296
-    /**
1297
-     * Get the AMQPConnection object in use
1298
-     *
1299
-     * @return AMQPConnection
1300
-     */
1301
-    public function getConnection() {}
1302
-
1303
-    /**
1304
-     * Declare a new exchange on the broker.
1305
-     * @return int
1306
-     * @throws AMQPExchangeException
1307
-     * @throws AMQPChannelException
1308
-     * @throws AMQPConnectionException
1309
-     * @see AMQPExchange::declareExchange()
1310
-     */
1311
-    #[Deprecated]
1312
-    public function declare() {}
1084
+	/**
1085
+	 * Bind to another exchange.
1086
+	 *
1087
+	 * Bind an exchange to another exchange using the specified routing key.
1088
+	 *
1089
+	 * @param string $exchange_name Name of the exchange to bind.
1090
+	 * @param string $routing_key   The routing key to use for binding.
1091
+	 * @param array  $arguments     Additional binding arguments.
1092
+	 *
1093
+	 * @throws AMQPExchangeException   On failure.
1094
+	 * @throws AMQPChannelException    If the channel is not open.
1095
+	 * @throws AMQPConnectionException If the connection to the broker was lost.
1096
+	 * @return bool TRUE on success or FALSE on failure.
1097
+	 */
1098
+	public function bind($exchange_name, $routing_key = '', array $arguments = []) {}
1099
+
1100
+	/**
1101
+	 * Remove binding to another exchange.
1102
+	 *
1103
+	 * Remove a routing key binding on an another exchange from the given exchange.
1104
+	 *
1105
+	 * @param string $exchange_name Name of the exchange to bind.
1106
+	 * @param string $routing_key   The routing key to use for binding.
1107
+	 * @param array  $arguments     Additional binding arguments.
1108
+	 *
1109
+	 * @throws AMQPExchangeException   On failure.
1110
+	 * @throws AMQPChannelException    If the channel is not open.
1111
+	 * @throws AMQPConnectionException If the connection to the broker was lost.
1112
+	 * @return bool TRUE on success or FALSE on failure.
1113
+	 */
1114
+	public function unbind($exchange_name, $routing_key = '', array $arguments = []) {}
1115
+
1116
+	/**
1117
+	 * Create an instance of AMQPExchange.
1118
+	 *
1119
+	 * Returns a new instance of an AMQPExchange object, associated with the
1120
+	 * given AMQPChannel object.
1121
+	 *
1122
+	 * @param AMQPChannel $amqp_channel A valid AMQPChannel object, connected
1123
+	 *                                  to a broker.
1124
+	 *
1125
+	 * @throws AMQPExchangeException   When amqp_channel is not connected to
1126
+	 *                                 a broker.
1127
+	 * @throws AMQPConnectionException If the connection to the broker was
1128
+	 *                                 lost.
1129
+	 */
1130
+	public function __construct(AMQPChannel $amqp_channel) {}
1131
+
1132
+	/**
1133
+	 * Declare a new exchange on the broker.
1134
+	 *
1135
+	 * @throws AMQPExchangeException   On failure.
1136
+	 * @throws AMQPChannelException    If the channel is not open.
1137
+	 * @throws AMQPConnectionException If the connection to the broker was lost.
1138
+	 *
1139
+	 * @return bool TRUE on success or FALSE on failure.
1140
+	 */
1141
+	public function declareExchange() {}
1142
+
1143
+	/**
1144
+	 * Delete the exchange from the broker.
1145
+	 *
1146
+	 * @param string  $exchangeName Optional name of exchange to delete.
1147
+	 * @param int $flags        Optionally AMQP_IFUNUSED can be specified
1148
+	 *                              to indicate the exchange should not be
1149
+	 *                              deleted until no clients are connected to
1150
+	 *                              it.
1151
+	 *
1152
+	 * @throws AMQPExchangeException   On failure.
1153
+	 * @throws AMQPChannelException    If the channel is not open.
1154
+	 * @throws AMQPConnectionException If the connection to the broker was lost.
1155
+	 *
1156
+	 * @return bool TRUE on success or FALSE on failure.
1157
+	 */
1158
+	public function delete($exchangeName = null, $flags = AMQP_NOPARAM) {}
1159
+
1160
+	/**
1161
+	 * Get the argument associated with the given key.
1162
+	 *
1163
+	 * @param string $key The key to look up.
1164
+	 *
1165
+	 * @return string|int|false The string or integer value associated
1166
+	 *                             with the given key, or FALSE if the key
1167
+	 *                             is not set.
1168
+	 */
1169
+	public function getArgument($key) {}
1170
+
1171
+	/**
1172
+	 * Check whether argument associated with the given key exists.
1173
+	 *
1174
+	 * @param string $key The key to look up.
1175
+	 *
1176
+	 * @return bool
1177
+	 */
1178
+	public function hasArgument($key) {}
1179
+
1180
+	/**
1181
+	 * Get all arguments set on the given exchange.
1182
+	 *
1183
+	 * @return array An array containing all of the set key/value pairs.
1184
+	 */
1185
+	public function getArguments() {}
1186
+
1187
+	/**
1188
+	 * Get all the flags currently set on the given exchange.
1189
+	 *
1190
+	 * @return int An integer bitmask of all the flags currently set on this
1191
+	 *             exchange object.
1192
+	 */
1193
+	public function getFlags() {}
1194
+
1195
+	/**
1196
+	 * Get the configured name.
1197
+	 *
1198
+	 * @return string The configured name as a string.
1199
+	 */
1200
+	public function getName() {}
1201
+
1202
+	/**
1203
+	 * Get the configured type.
1204
+	 *
1205
+	 * @return string The configured type as a string.
1206
+	 */
1207
+	public function getType() {}
1208
+
1209
+	/**
1210
+	 * Publish a message to an exchange.
1211
+	 *
1212
+	 * Publish a message to the exchange represented by the AMQPExchange object.
1213
+	 *
1214
+	 * @param string  $message     The message to publish.
1215
+	 * @param string  $routing_key The optional routing key to which to
1216
+	 *                             publish to.
1217
+	 * @param int $flags       One or more of AMQP_MANDATORY and
1218
+	 *                             AMQP_IMMEDIATE.
1219
+	 * @param array   $attributes  One of content_type, content_encoding,
1220
+	 *                             message_id, user_id, app_id, delivery_mode,
1221
+	 *                             priority, timestamp, expiration, type
1222
+	 *                             or reply_to, headers.
1223
+	 *
1224
+	 * @throws AMQPExchangeException   On failure.
1225
+	 * @throws AMQPChannelException    If the channel is not open.
1226
+	 * @throws AMQPConnectionException If the connection to the broker was lost.
1227
+	 *
1228
+	 * @return bool TRUE on success or FALSE on failure.
1229
+	 */
1230
+	public function publish(
1231
+		$message,
1232
+		$routing_key = null,
1233
+		$flags = AMQP_NOPARAM,
1234
+		array $attributes = []
1235
+	) {}
1236
+
1237
+	/**
1238
+	 * Set the value for the given key.
1239
+	 *
1240
+	 * @param string         $key   Name of the argument to set.
1241
+	 * @param string|int $value Value of the argument to set.
1242
+	 *
1243
+	 * @return bool TRUE on success or FALSE on failure.
1244
+	 */
1245
+	public function setArgument($key, $value) {}
1246
+
1247
+	/**
1248
+	 * Set all arguments on the exchange.
1249
+	 *
1250
+	 * @param array $arguments An array of key/value pairs of arguments.
1251
+	 *
1252
+	 * @return bool TRUE on success or FALSE on failure.
1253
+	 */
1254
+	public function setArguments(array $arguments) {}
1255
+
1256
+	/**
1257
+	 * Set the flags on an exchange.
1258
+	 *
1259
+	 * @param int $flags A bitmask of flags. This call currently only
1260
+	 *                       considers the following flags:
1261
+	 *                       AMQP_DURABLE, AMQP_PASSIVE
1262
+	 *                       (and AMQP_DURABLE, if librabbitmq version >= 0.5.3)
1263
+	 *
1264
+	 * @return void
1265
+	 */
1266
+	public function setFlags($flags) {}
1267
+
1268
+	/**
1269
+	 * Set the name of the exchange.
1270
+	 *
1271
+	 * @param string $exchange_name The name of the exchange to set as string.
1272
+	 *
1273
+	 * @return void
1274
+	 */
1275
+	public function setName($exchange_name) {}
1276
+
1277
+	/**
1278
+	 * Set the type of the exchange.
1279
+	 *
1280
+	 * Set the type of the exchange. This can be any of AMQP_EX_TYPE_DIRECT,
1281
+	 * AMQP_EX_TYPE_FANOUT, AMQP_EX_TYPE_HEADERS or AMQP_EX_TYPE_TOPIC.
1282
+	 *
1283
+	 * @param string $exchange_type The type of exchange as a string.
1284
+	 *
1285
+	 * @return void
1286
+	 */
1287
+	public function setType($exchange_type) {}
1288
+
1289
+	/**
1290
+	 * Get the AMQPChannel object in use
1291
+	 *
1292
+	 * @return AMQPChannel
1293
+	 */
1294
+	public function getChannel() {}
1295
+
1296
+	/**
1297
+	 * Get the AMQPConnection object in use
1298
+	 *
1299
+	 * @return AMQPConnection
1300
+	 */
1301
+	public function getConnection() {}
1302
+
1303
+	/**
1304
+	 * Declare a new exchange on the broker.
1305
+	 * @return int
1306
+	 * @throws AMQPExchangeException
1307
+	 * @throws AMQPChannelException
1308
+	 * @throws AMQPConnectionException
1309
+	 * @see AMQPExchange::declareExchange()
1310
+	 */
1311
+	#[Deprecated]
1312
+	public function declare() {}
1313 1313
 }
1314 1314
 
1315 1315
 /**
@@ -1322,347 +1322,347 @@  discard block
 block discarded – undo
1322 1322
  */
1323 1323
 class AMQPQueue
1324 1324
 {
1325
-    /**
1326
-     * Acknowledge the receipt of a message.
1327
-     *
1328
-     * This method allows the acknowledgement of a message that is retrieved
1329
-     * without the AMQP_AUTOACK flag through AMQPQueue::get() or
1330
-     * AMQPQueue::consume()
1331
-     *
1332
-     * @param string  $delivery_tag The message delivery tag of which to
1333
-     *                              acknowledge receipt.
1334
-     * @param int $flags        The only valid flag that can be passed is
1335
-     *                              AMQP_MULTIPLE.
1336
-     *
1337
-     * @throws AMQPChannelException    If the channel is not open.
1338
-     * @throws AMQPConnectionException If the connection to the broker was lost.
1339
-     *
1340
-     * @return bool
1341
-     */
1342
-    public function ack($delivery_tag, $flags = AMQP_NOPARAM) {}
1343
-
1344
-    /**
1345
-     * Bind the given queue to a routing key on an exchange.
1346
-     *
1347
-     * @param string $exchange_name Name of the exchange to bind to.
1348
-     * @param string $routing_key   Pattern or routing key to bind with.
1349
-     * @param array  $arguments     Additional binding arguments.
1350
-     *
1351
-     * @throws AMQPChannelException    If the channel is not open.
1352
-     * @throws AMQPConnectionException If the connection to the broker was lost.
1353
-     *
1354
-     * @return bool
1355
-     */
1356
-    public function bind($exchange_name, $routing_key = null, array $arguments = []) {}
1357
-
1358
-    /**
1359
-     * Cancel a queue that is already bound to an exchange and routing key.
1360
-     *
1361
-     * @param string $consumer_tag The consumer tag cancel. If no tag provided,
1362
-     *                             or it is empty string, the latest consumer
1363
-     *                             tag on this queue will be used and after
1364
-     *                             successful request it will set to null.
1365
-     *                             If it also empty, no `basic.cancel`
1366
-     *                             request will be sent. When consumer_tag give
1367
-     *                             and it equals to latest consumer_tag on queue,
1368
-     *                             it will be interpreted as latest consumer_tag usage.
1369
-     *
1370
-     * @throws AMQPChannelException    If the channel is not open.
1371
-     * @throws AMQPConnectionException If the connection to the broker was lost.
1372
-     *
1373
-     * @return bool
1374
-     */
1375
-    public function cancel($consumer_tag = '') {}
1376
-
1377
-    /**
1378
-     * Create an instance of an AMQPQueue object.
1379
-     *
1380
-     * @param AMQPChannel $amqp_channel The amqp channel to use.
1381
-     *
1382
-     * @throws AMQPQueueException      When amqp_channel is not connected to a
1383
-     *                                 broker.
1384
-     * @throws AMQPConnectionException If the connection to the broker was lost.
1385
-     */
1386
-    public function __construct(AMQPChannel $amqp_channel) {}
1387
-
1388
-    /**
1389
-     * Consume messages from a queue.
1390
-     *
1391
-     * Blocking function that will retrieve the next message from the queue as
1392
-     * it becomes available and will pass it off to the callback.
1393
-     *
1394
-     * @param callable|null $callback    A callback function to which the
1395
-     *                              consumed message will be passed. The
1396
-     *                              function must accept at a minimum
1397
-     *                              one parameter, an AMQPEnvelope object,
1398
-     *                              and an optional second parameter
1399
-     *                              the AMQPQueue object from which callback
1400
-     *                              was invoked. The AMQPQueue::consume() will
1401
-     *                              not return the processing thread back to
1402
-     *                              the PHP script until the callback
1403
-     *                              function returns FALSE.
1404
-     *                              If the callback is omitted or null is passed,
1405
-     *                              then the messages delivered to this client will
1406
-     *                              be made available to the first real callback
1407
-     *                              registered. That allows one to have a single
1408
-     *                              callback consuming from multiple queues.
1409
-     * @param int $flags        A bitmask of any of the flags: AMQP_AUTOACK,
1410
-     *                              AMQP_JUST_CONSUME. Note: when AMQP_JUST_CONSUME
1411
-     *                              flag used all other flags are ignored and
1412
-     *                              $consumerTag parameter has no sense.
1413
-     *                              AMQP_JUST_CONSUME flag prevent from sending
1414
-     *                              `basic.consume` request and just run $callback
1415
-     *                              if it provided. Calling method with empty $callback
1416
-     *                              and AMQP_JUST_CONSUME makes no sense.
1417
-     * @param string   $consumerTag A string describing this consumer. Used
1418
-     *                              for canceling subscriptions with cancel().
1419
-     *
1420
-     * @throws AMQPChannelException    If the channel is not open.
1421
-     * @throws AMQPConnectionException If the connection to the broker was lost.
1422
-     * @throws AMQPEnvelopeException   When no queue found for envelope.
1423
-     *
1424
-     * @return void
1425
-     */
1426
-    public function consume(
1427
-        callable $callback = null,
1428
-        $flags = AMQP_NOPARAM,
1429
-        $consumerTag = null
1430
-    ) {}
1431
-
1432
-    /**
1433
-     * Declare a new queue on the broker.
1434
-     *
1435
-     * @throws AMQPChannelException    If the channel is not open.
1436
-     * @throws AMQPConnectionException If the connection to the broker was lost.
1437
-     *
1438
-     * @return int the message count.
1439
-     */
1440
-    public function declareQueue() {}
1441
-
1442
-    /**
1443
-     * Delete a queue from the broker.
1444
-     *
1445
-     * This includes its entire contents of unread or unacknowledged messages.
1446
-     *
1447
-     * @param int $flags        Optionally AMQP_IFUNUSED can be specified
1448
-     *                              to indicate the queue should not be
1449
-     *                              deleted until no clients are connected to
1450
-     *                              it.
1451
-     *
1452
-     * @throws AMQPChannelException    If the channel is not open.
1453
-     * @throws AMQPConnectionException If the connection to the broker was lost.
1454
-     *
1455
-     * @return int The number of deleted messages.
1456
-     */
1457
-    public function delete($flags = AMQP_NOPARAM) {}
1458
-
1459
-    /**
1460
-     * Retrieve the next message from the queue.
1461
-     *
1462
-     * Retrieve the next available message from the queue. If no messages are
1463
-     * present in the queue, this function will return FALSE immediately. This
1464
-     * is a non blocking alternative to the AMQPQueue::consume() method.
1465
-     * Currently, the only supported flag for the flags parameter is
1466
-     * AMQP_AUTOACK. If this flag is passed in, then the message returned will
1467
-     * automatically be marked as acknowledged by the broker as soon as the
1468
-     * frames are sent to the client.
1469
-     *
1470
-     * @param int $flags A bitmask of supported flags for the
1471
-     *                       method call. Currently, the only the
1472
-     *                       supported flag is AMQP_AUTOACK. If this
1473
-     *                       value is not provided, it will use the
1474
-     *                       value of ini-setting amqp.auto_ack.
1475
-     *
1476
-     * @throws AMQPChannelException    If the channel is not open.
1477
-     * @throws AMQPConnectionException If the connection to the broker was lost.
1478
-     *
1479
-     * @return AMQPEnvelope|false
1480
-     */
1481
-    public function get($flags = AMQP_NOPARAM) {}
1482
-
1483
-    /**
1484
-     * Get the argument associated with the given key.
1485
-     *
1486
-     * @param string $key The key to look up.
1487
-     *
1488
-     * @return string|int|false The string or integer value associated
1489
-     *                             with the given key, or false if the key
1490
-     *                             is not set.
1491
-     */
1492
-    public function getArgument($key) {}
1493
-
1494
-    /**
1495
-     * Get all set arguments as an array of key/value pairs.
1496
-     *
1497
-     * @return array An array containing all of the set key/value pairs.
1498
-     */
1499
-    public function getArguments() {}
1500
-
1501
-    /**
1502
-     * Get all the flags currently set on the given queue.
1503
-     *
1504
-     * @return int An integer bitmask of all the flags currently set on this
1505
-     *             exchange object.
1506
-     */
1507
-    public function getFlags() {}
1508
-
1509
-    /**
1510
-     * Get the configured name.
1511
-     *
1512
-     * @return string The configured name as a string.
1513
-     */
1514
-    public function getName() {}
1515
-
1516
-    /**
1517
-     * Mark a message as explicitly not acknowledged.
1518
-     *
1519
-     * Mark the message identified by delivery_tag as explicitly not
1520
-     * acknowledged. This method can only be called on messages that have not
1521
-     * yet been acknowledged, meaning that messages retrieved with by
1522
-     * AMQPQueue::consume() and AMQPQueue::get() and using the AMQP_AUTOACK
1523
-     * flag are not eligible. When called, the broker will immediately put the
1524
-     * message back onto the queue, instead of waiting until the connection is
1525
-     * closed. This method is only supported by the RabbitMQ broker. The
1526
-     * behavior of calling this method while connected to any other broker is
1527
-     * undefined.
1528
-     *
1529
-     * @param string  $delivery_tag Delivery tag of last message to reject.
1530
-     * @param int $flags        AMQP_REQUEUE to requeue the message(s),
1531
-     *                              AMQP_MULTIPLE to nack all previous
1532
-     *                              unacked messages as well.
1533
-     *
1534
-     * @throws AMQPChannelException    If the channel is not open.
1535
-     * @throws AMQPConnectionException If the connection to the broker was lost.
1536
-     *
1537
-     * @return bool
1538
-     */
1539
-    public function nack($delivery_tag, $flags = AMQP_NOPARAM) {}
1540
-
1541
-    /**
1542
-     * Mark one message as explicitly not acknowledged.
1543
-     *
1544
-     * Mark the message identified by delivery_tag as explicitly not
1545
-     * acknowledged. This method can only be called on messages that have not
1546
-     * yet been acknowledged, meaning that messages retrieved with by
1547
-     * AMQPQueue::consume() and AMQPQueue::get() and using the AMQP_AUTOACK
1548
-     * flag are not eligible.
1549
-     *
1550
-     * @param string  $delivery_tag Delivery tag of the message to reject.
1551
-     * @param int $flags        AMQP_REQUEUE to requeue the message(s).
1552
-     *
1553
-     * @throws AMQPChannelException    If the channel is not open.
1554
-     * @throws AMQPConnectionException If the connection to the broker was lost.
1555
-     *
1556
-     * @return bool
1557
-     */
1558
-    public function reject($delivery_tag, $flags = AMQP_NOPARAM) {}
1559
-
1560
-    /**
1561
-     * Purge the contents of a queue.
1562
-     *
1563
-     * @throws AMQPChannelException    If the channel is not open.
1564
-     * @throws AMQPConnectionException If the connection to the broker was lost.
1565
-     *
1566
-     * @return bool
1567
-     */
1568
-    public function purge() {}
1569
-
1570
-    /**
1571
-     * Set a queue argument.
1572
-     *
1573
-     * @param string $key   The key to set.
1574
-     * @param mixed  $value The value to set.
1575
-     *
1576
-     * @return bool
1577
-     */
1578
-    public function setArgument($key, $value) {}
1579
-
1580
-    /**
1581
-     * Set all arguments on the given queue.
1582
-     *
1583
-     * All other argument settings will be wiped.
1584
-     *
1585
-     * @param array $arguments An array of key/value pairs of arguments.
1586
-     *
1587
-     * @return bool
1588
-     */
1589
-    public function setArguments(array $arguments) {}
1590
-
1591
-    /**
1592
-     * Check whether a queue has specific argument.
1593
-     *
1594
-     * @param string $key   The key to check.
1595
-     *
1596
-     * @return bool
1597
-     */
1598
-    public function hasArgument($key) {}
1599
-
1600
-    /**
1601
-     * Set the flags on the queue.
1602
-     *
1603
-     * @param int $flags A bitmask of flags:
1604
-     *                       AMQP_DURABLE, AMQP_PASSIVE,
1605
-     *                       AMQP_EXCLUSIVE, AMQP_AUTODELETE.
1606
-     *
1607
-     * @return bool
1608
-     */
1609
-    public function setFlags($flags) {}
1610
-
1611
-    /**
1612
-     * Set the queue name.
1613
-     *
1614
-     * @param string $queue_name The name of the queue.
1615
-     *
1616
-     * @return bool
1617
-     */
1618
-    public function setName($queue_name) {}
1619
-
1620
-    /**
1621
-     * Remove a routing key binding on an exchange from the given queue.
1622
-     *
1623
-     * @param string $exchange_name The name of the exchange on which the
1624
-     *                              queue is bound.
1625
-     * @param string $routing_key   The binding routing key used by the
1626
-     *                              queue.
1627
-     * @param array  $arguments     Additional binding arguments.
1628
-     *
1629
-     * @throws AMQPChannelException    If the channel is not open.
1630
-     * @throws AMQPConnectionException If the connection to the broker was lost.
1631
-     *
1632
-     * @return bool
1633
-     */
1634
-    public function unbind($exchange_name, $routing_key = null, array $arguments = []) {}
1635
-
1636
-    /**
1637
-     * Get the AMQPChannel object in use
1638
-     *
1639
-     * @return AMQPChannel
1640
-     */
1641
-    public function getChannel() {}
1642
-
1643
-    /**
1644
-     * Get the AMQPConnection object in use
1645
-     *
1646
-     * @return AMQPConnection
1647
-     */
1648
-    public function getConnection() {}
1649
-
1650
-    /**
1651
-     * Get latest consumer tag. If no consumer available or the latest on was canceled null will be returned.
1652
-     *
1653
-     * @return string|null
1654
-     */
1655
-    public function getConsumerTag() {}
1656
-
1657
-    /**
1658
-     * Declare a new queue
1659
-     * @return int
1660
-     * @throws AMQPChannelException
1661
-     * @throws AMQPConnectionException
1662
-     * @see AMQPQueue::declareQueue()
1663
-     */
1664
-    #[Deprecated]
1665
-    public function declare() {}
1325
+	/**
1326
+	 * Acknowledge the receipt of a message.
1327
+	 *
1328
+	 * This method allows the acknowledgement of a message that is retrieved
1329
+	 * without the AMQP_AUTOACK flag through AMQPQueue::get() or
1330
+	 * AMQPQueue::consume()
1331
+	 *
1332
+	 * @param string  $delivery_tag The message delivery tag of which to
1333
+	 *                              acknowledge receipt.
1334
+	 * @param int $flags        The only valid flag that can be passed is
1335
+	 *                              AMQP_MULTIPLE.
1336
+	 *
1337
+	 * @throws AMQPChannelException    If the channel is not open.
1338
+	 * @throws AMQPConnectionException If the connection to the broker was lost.
1339
+	 *
1340
+	 * @return bool
1341
+	 */
1342
+	public function ack($delivery_tag, $flags = AMQP_NOPARAM) {}
1343
+
1344
+	/**
1345
+	 * Bind the given queue to a routing key on an exchange.
1346
+	 *
1347
+	 * @param string $exchange_name Name of the exchange to bind to.
1348
+	 * @param string $routing_key   Pattern or routing key to bind with.
1349
+	 * @param array  $arguments     Additional binding arguments.
1350
+	 *
1351
+	 * @throws AMQPChannelException    If the channel is not open.
1352
+	 * @throws AMQPConnectionException If the connection to the broker was lost.
1353
+	 *
1354
+	 * @return bool
1355
+	 */
1356
+	public function bind($exchange_name, $routing_key = null, array $arguments = []) {}
1357
+
1358
+	/**
1359
+	 * Cancel a queue that is already bound to an exchange and routing key.
1360
+	 *
1361
+	 * @param string $consumer_tag The consumer tag cancel. If no tag provided,
1362
+	 *                             or it is empty string, the latest consumer
1363
+	 *                             tag on this queue will be used and after
1364
+	 *                             successful request it will set to null.
1365
+	 *                             If it also empty, no `basic.cancel`
1366
+	 *                             request will be sent. When consumer_tag give
1367
+	 *                             and it equals to latest consumer_tag on queue,
1368
+	 *                             it will be interpreted as latest consumer_tag usage.
1369
+	 *
1370
+	 * @throws AMQPChannelException    If the channel is not open.
1371
+	 * @throws AMQPConnectionException If the connection to the broker was lost.
1372
+	 *
1373
+	 * @return bool
1374
+	 */
1375
+	public function cancel($consumer_tag = '') {}
1376
+
1377
+	/**
1378
+	 * Create an instance of an AMQPQueue object.
1379
+	 *
1380
+	 * @param AMQPChannel $amqp_channel The amqp channel to use.
1381
+	 *
1382
+	 * @throws AMQPQueueException      When amqp_channel is not connected to a
1383
+	 *                                 broker.
1384
+	 * @throws AMQPConnectionException If the connection to the broker was lost.
1385
+	 */
1386
+	public function __construct(AMQPChannel $amqp_channel) {}
1387
+
1388
+	/**
1389
+	 * Consume messages from a queue.
1390
+	 *
1391
+	 * Blocking function that will retrieve the next message from the queue as
1392
+	 * it becomes available and will pass it off to the callback.
1393
+	 *
1394
+	 * @param callable|null $callback    A callback function to which the
1395
+	 *                              consumed message will be passed. The
1396
+	 *                              function must accept at a minimum
1397
+	 *                              one parameter, an AMQPEnvelope object,
1398
+	 *                              and an optional second parameter
1399
+	 *                              the AMQPQueue object from which callback
1400
+	 *                              was invoked. The AMQPQueue::consume() will
1401
+	 *                              not return the processing thread back to
1402
+	 *                              the PHP script until the callback
1403
+	 *                              function returns FALSE.
1404
+	 *                              If the callback is omitted or null is passed,
1405
+	 *                              then the messages delivered to this client will
1406
+	 *                              be made available to the first real callback
1407
+	 *                              registered. That allows one to have a single
1408
+	 *                              callback consuming from multiple queues.
1409
+	 * @param int $flags        A bitmask of any of the flags: AMQP_AUTOACK,
1410
+	 *                              AMQP_JUST_CONSUME. Note: when AMQP_JUST_CONSUME
1411
+	 *                              flag used all other flags are ignored and
1412
+	 *                              $consumerTag parameter has no sense.
1413
+	 *                              AMQP_JUST_CONSUME flag prevent from sending
1414
+	 *                              `basic.consume` request and just run $callback
1415
+	 *                              if it provided. Calling method with empty $callback
1416
+	 *                              and AMQP_JUST_CONSUME makes no sense.
1417
+	 * @param string   $consumerTag A string describing this consumer. Used
1418
+	 *                              for canceling subscriptions with cancel().
1419
+	 *
1420
+	 * @throws AMQPChannelException    If the channel is not open.
1421
+	 * @throws AMQPConnectionException If the connection to the broker was lost.
1422
+	 * @throws AMQPEnvelopeException   When no queue found for envelope.
1423
+	 *
1424
+	 * @return void
1425
+	 */
1426
+	public function consume(
1427
+		callable $callback = null,
1428
+		$flags = AMQP_NOPARAM,
1429
+		$consumerTag = null
1430
+	) {}
1431
+
1432
+	/**
1433
+	 * Declare a new queue on the broker.
1434
+	 *
1435
+	 * @throws AMQPChannelException    If the channel is not open.
1436
+	 * @throws AMQPConnectionException If the connection to the broker was lost.
1437
+	 *
1438
+	 * @return int the message count.
1439
+	 */
1440
+	public function declareQueue() {}
1441
+
1442
+	/**
1443
+	 * Delete a queue from the broker.
1444
+	 *
1445
+	 * This includes its entire contents of unread or unacknowledged messages.
1446
+	 *
1447
+	 * @param int $flags        Optionally AMQP_IFUNUSED can be specified
1448
+	 *                              to indicate the queue should not be
1449
+	 *                              deleted until no clients are connected to
1450
+	 *                              it.
1451
+	 *
1452
+	 * @throws AMQPChannelException    If the channel is not open.
1453
+	 * @throws AMQPConnectionException If the connection to the broker was lost.
1454
+	 *
1455
+	 * @return int The number of deleted messages.
1456
+	 */
1457
+	public function delete($flags = AMQP_NOPARAM) {}
1458
+
1459
+	/**
1460
+	 * Retrieve the next message from the queue.
1461
+	 *
1462
+	 * Retrieve the next available message from the queue. If no messages are
1463
+	 * present in the queue, this function will return FALSE immediately. This
1464
+	 * is a non blocking alternative to the AMQPQueue::consume() method.
1465
+	 * Currently, the only supported flag for the flags parameter is
1466
+	 * AMQP_AUTOACK. If this flag is passed in, then the message returned will
1467
+	 * automatically be marked as acknowledged by the broker as soon as the
1468
+	 * frames are sent to the client.
1469
+	 *
1470
+	 * @param int $flags A bitmask of supported flags for the
1471
+	 *                       method call. Currently, the only the
1472
+	 *                       supported flag is AMQP_AUTOACK. If this
1473
+	 *                       value is not provided, it will use the
1474
+	 *                       value of ini-setting amqp.auto_ack.
1475
+	 *
1476
+	 * @throws AMQPChannelException    If the channel is not open.
1477
+	 * @throws AMQPConnectionException If the connection to the broker was lost.
1478
+	 *
1479
+	 * @return AMQPEnvelope|false
1480
+	 */
1481
+	public function get($flags = AMQP_NOPARAM) {}
1482
+
1483
+	/**
1484
+	 * Get the argument associated with the given key.
1485
+	 *
1486
+	 * @param string $key The key to look up.
1487
+	 *
1488
+	 * @return string|int|false The string or integer value associated
1489
+	 *                             with the given key, or false if the key
1490
+	 *                             is not set.
1491
+	 */
1492
+	public function getArgument($key) {}
1493
+
1494
+	/**
1495
+	 * Get all set arguments as an array of key/value pairs.
1496
+	 *
1497
+	 * @return array An array containing all of the set key/value pairs.
1498
+	 */
1499
+	public function getArguments() {}
1500
+
1501
+	/**
1502
+	 * Get all the flags currently set on the given queue.
1503
+	 *
1504
+	 * @return int An integer bitmask of all the flags currently set on this
1505
+	 *             exchange object.
1506
+	 */
1507
+	public function getFlags() {}
1508
+
1509
+	/**
1510
+	 * Get the configured name.
1511
+	 *
1512
+	 * @return string The configured name as a string.
1513
+	 */
1514
+	public function getName() {}
1515
+
1516
+	/**
1517
+	 * Mark a message as explicitly not acknowledged.
1518
+	 *
1519
+	 * Mark the message identified by delivery_tag as explicitly not
1520
+	 * acknowledged. This method can only be called on messages that have not
1521
+	 * yet been acknowledged, meaning that messages retrieved with by
1522
+	 * AMQPQueue::consume() and AMQPQueue::get() and using the AMQP_AUTOACK
1523
+	 * flag are not eligible. When called, the broker will immediately put the
1524
+	 * message back onto the queue, instead of waiting until the connection is
1525
+	 * closed. This method is only supported by the RabbitMQ broker. The
1526
+	 * behavior of calling this method while connected to any other broker is
1527
+	 * undefined.
1528
+	 *
1529
+	 * @param string  $delivery_tag Delivery tag of last message to reject.
1530
+	 * @param int $flags        AMQP_REQUEUE to requeue the message(s),
1531
+	 *                              AMQP_MULTIPLE to nack all previous
1532
+	 *                              unacked messages as well.
1533
+	 *
1534
+	 * @throws AMQPChannelException    If the channel is not open.
1535
+	 * @throws AMQPConnectionException If the connection to the broker was lost.
1536
+	 *
1537
+	 * @return bool
1538
+	 */
1539
+	public function nack($delivery_tag, $flags = AMQP_NOPARAM) {}
1540
+
1541
+	/**
1542
+	 * Mark one message as explicitly not acknowledged.
1543
+	 *
1544
+	 * Mark the message identified by delivery_tag as explicitly not
1545
+	 * acknowledged. This method can only be called on messages that have not
1546
+	 * yet been acknowledged, meaning that messages retrieved with by
1547
+	 * AMQPQueue::consume() and AMQPQueue::get() and using the AMQP_AUTOACK
1548
+	 * flag are not eligible.
1549
+	 *
1550
+	 * @param string  $delivery_tag Delivery tag of the message to reject.
1551
+	 * @param int $flags        AMQP_REQUEUE to requeue the message(s).
1552
+	 *
1553
+	 * @throws AMQPChannelException    If the channel is not open.
1554
+	 * @throws AMQPConnectionException If the connection to the broker was lost.
1555
+	 *
1556
+	 * @return bool
1557
+	 */
1558
+	public function reject($delivery_tag, $flags = AMQP_NOPARAM) {}
1559
+
1560
+	/**
1561
+	 * Purge the contents of a queue.
1562
+	 *
1563
+	 * @throws AMQPChannelException    If the channel is not open.
1564
+	 * @throws AMQPConnectionException If the connection to the broker was lost.
1565
+	 *
1566
+	 * @return bool
1567
+	 */
1568
+	public function purge() {}
1569
+
1570
+	/**
1571
+	 * Set a queue argument.
1572
+	 *
1573
+	 * @param string $key   The key to set.
1574
+	 * @param mixed  $value The value to set.
1575
+	 *
1576
+	 * @return bool
1577
+	 */
1578
+	public function setArgument($key, $value) {}
1579
+
1580
+	/**
1581
+	 * Set all arguments on the given queue.
1582
+	 *
1583
+	 * All other argument settings will be wiped.
1584
+	 *
1585
+	 * @param array $arguments An array of key/value pairs of arguments.
1586
+	 *
1587
+	 * @return bool
1588
+	 */
1589
+	public function setArguments(array $arguments) {}
1590
+
1591
+	/**
1592
+	 * Check whether a queue has specific argument.
1593
+	 *
1594
+	 * @param string $key   The key to check.
1595
+	 *
1596
+	 * @return bool
1597
+	 */
1598
+	public function hasArgument($key) {}
1599
+
1600
+	/**
1601
+	 * Set the flags on the queue.
1602
+	 *
1603
+	 * @param int $flags A bitmask of flags:
1604
+	 *                       AMQP_DURABLE, AMQP_PASSIVE,
1605
+	 *                       AMQP_EXCLUSIVE, AMQP_AUTODELETE.
1606
+	 *
1607
+	 * @return bool
1608
+	 */
1609
+	public function setFlags($flags) {}
1610
+
1611
+	/**
1612
+	 * Set the queue name.
1613
+	 *
1614
+	 * @param string $queue_name The name of the queue.
1615
+	 *
1616
+	 * @return bool
1617
+	 */
1618
+	public function setName($queue_name) {}
1619
+
1620
+	/**
1621
+	 * Remove a routing key binding on an exchange from the given queue.
1622
+	 *
1623
+	 * @param string $exchange_name The name of the exchange on which the
1624
+	 *                              queue is bound.
1625
+	 * @param string $routing_key   The binding routing key used by the
1626
+	 *                              queue.
1627
+	 * @param array  $arguments     Additional binding arguments.
1628
+	 *
1629
+	 * @throws AMQPChannelException    If the channel is not open.
1630
+	 * @throws AMQPConnectionException If the connection to the broker was lost.
1631
+	 *
1632
+	 * @return bool
1633
+	 */
1634
+	public function unbind($exchange_name, $routing_key = null, array $arguments = []) {}
1635
+
1636
+	/**
1637
+	 * Get the AMQPChannel object in use
1638
+	 *
1639
+	 * @return AMQPChannel
1640
+	 */
1641
+	public function getChannel() {}
1642
+
1643
+	/**
1644
+	 * Get the AMQPConnection object in use
1645
+	 *
1646
+	 * @return AMQPConnection
1647
+	 */
1648
+	public function getConnection() {}
1649
+
1650
+	/**
1651
+	 * Get latest consumer tag. If no consumer available or the latest on was canceled null will be returned.
1652
+	 *
1653
+	 * @return string|null
1654
+	 */
1655
+	public function getConsumerTag() {}
1656
+
1657
+	/**
1658
+	 * Declare a new queue
1659
+	 * @return int
1660
+	 * @throws AMQPChannelException
1661
+	 * @throws AMQPConnectionException
1662
+	 * @see AMQPQueue::declareQueue()
1663
+	 */
1664
+	#[Deprecated]
1665
+	public function declare() {}
1666 1666
 }
1667 1667
 
1668 1668
 /**
@@ -1675,21 +1675,21 @@  discard block
 block discarded – undo
1675 1675
  */
1676 1676
 final class AMQPTimestamp
1677 1677
 {
1678
-    public const MIN = "0";
1679
-    public const MAX = "18446744073709551616";
1678
+	public const MIN = "0";
1679
+	public const MAX = "18446744073709551616";
1680 1680
 
1681
-    /**
1682
-     * @param string $timestamp
1683
-     *
1684
-     * @throws AMQPExchangeValue
1685
-     */
1686
-    public function __construct($timestamp) {}
1681
+	/**
1682
+	 * @param string $timestamp
1683
+	 *
1684
+	 * @throws AMQPExchangeValue
1685
+	 */
1686
+	public function __construct($timestamp) {}
1687 1687
 
1688
-    /** @return string */
1689
-    public function getTimestamp() {}
1688
+	/** @return string */
1689
+	public function getTimestamp() {}
1690 1690
 
1691
-    /** @return string */
1692
-    public function __toString() {}
1691
+	/** @return string */
1692
+	public function __toString() {}
1693 1693
 }
1694 1694
 
1695 1695
 /**
Please login to merge, or discard this patch.
Braces   +9 added lines, -18 removed lines patch added patch discarded remove patch
@@ -144,8 +144,7 @@  discard block
 block discarded – undo
144 144
 /**
145 145
  * stub class representing AMQPBasicProperties from pecl-amqp
146 146
  */
147
-class AMQPBasicProperties
148
-{
147
+class AMQPBasicProperties {
149 148
     /**
150 149
      * @param string $content_type
151 150
      * @param string $content_encoding
@@ -281,8 +280,7 @@  discard block
 block discarded – undo
281 280
 /**
282 281
  * stub class representing AMQPChannel from pecl-amqp
283 282
  */
284
-class AMQPChannel
285
-{
283
+class AMQPChannel {
286 284
     /**
287 285
      * Commit a pending transaction.
288 286
      *
@@ -555,8 +553,7 @@  discard block
 block discarded – undo
555 553
 /**
556 554
  * stub class representing AMQPConnection from pecl-amqp
557 555
  */
558
-class AMQPConnection
559
-{
556
+class AMQPConnection {
560 557
     /**
561 558
      * Establish a transient connection with the AMQP broker.
562 559
      *
@@ -964,8 +961,7 @@  discard block
 block discarded – undo
964 961
 /**
965 962
  * stub class representing AMQPDecimal from pecl-amqp
966 963
  */
967
-final class AMQPDecimal
968
-{
964
+final class AMQPDecimal {
969 965
     public const EXPONENT_MIN = 0;
970 966
     public const EXPONENT_MAX = 255;
971 967
     public const SIGNIFICAND_MIN = 0;
@@ -989,8 +985,7 @@  discard block
 block discarded – undo
989 985
 /**
990 986
  * stub class representing AMQPEnvelope from pecl-amqp
991 987
  */
992
-class AMQPEnvelope extends AMQPBasicProperties
993
-{
988
+class AMQPEnvelope extends AMQPBasicProperties {
994 989
     public function __construct() {}
995 990
 
996 991
     /**
@@ -1063,8 +1058,7 @@  discard block
 block discarded – undo
1063 1058
 /**
1064 1059
  * stub class representing AMQPEnvelopeException from pecl-amqp
1065 1060
  */
1066
-class AMQPEnvelopeException extends AMQPException
1067
-{
1061
+class AMQPEnvelopeException extends AMQPException {
1068 1062
     /**
1069 1063
      * @var AMQPEnvelope
1070 1064
      */
@@ -1079,8 +1073,7 @@  discard block
 block discarded – undo
1079 1073
 /**
1080 1074
  * stub class representing AMQPExchange from pecl-amqp
1081 1075
  */
1082
-class AMQPExchange
1083
-{
1076
+class AMQPExchange {
1084 1077
     /**
1085 1078
      * Bind to another exchange.
1086 1079
      *
@@ -1320,8 +1313,7 @@  discard block
 block discarded – undo
1320 1313
 /**
1321 1314
  * stub class representing AMQPQueue from pecl-amqp
1322 1315
  */
1323
-class AMQPQueue
1324
-{
1316
+class AMQPQueue {
1325 1317
     /**
1326 1318
      * Acknowledge the receipt of a message.
1327 1319
      *
@@ -1673,8 +1665,7 @@  discard block
 block discarded – undo
1673 1665
 /**
1674 1666
  * stub class representing AMQPTimestamp from pecl-amqp
1675 1667
  */
1676
-final class AMQPTimestamp
1677
-{
1668
+final class AMQPTimestamp {
1678 1669
     public const MIN = "0";
1679 1670
     public const MAX = "18446744073709551616";
1680 1671
 
Please login to merge, or discard this patch.