Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/phpredis/phpredis.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTill Krüss <tillkruss@users.noreply.github.com>2022-11-09 01:59:24 +0300
committerGitHub <noreply@github.com>2022-11-09 01:59:24 +0300
commit142bddf0b71c758a0e2d8930277b61c015ed8322 (patch)
tree4081edaa53455024305a0c4056b72a64ca5eb113
parent114f4d605635cfa8755000ff4659680c713ceb06 (diff)
Add initial docs (#2249)
Initial support for `doctum` generated documentation.
-rw-r--r--.gitattributes5
-rw-r--r--.gitignore4
-rw-r--r--docs/DOCTUM_VERSION1
-rw-r--r--docs/PROJECT_VERSION1
-rw-r--r--docs/Redis.html19133
-rw-r--r--docs/RedisArray.html1739
-rw-r--r--docs/RedisCluster.html14846
-rw-r--r--docs/RedisClusterException.html103
-rw-r--r--docs/RedisException.html103
-rw-r--r--docs/RedisSentinel.html748
-rw-r--r--docs/[Global_Namespace].html134
-rw-r--r--docs/classes.html120
-rw-r--r--docs/css/bootstrap-theme.min.css7
-rw-r--r--docs/css/bootstrap.min.css7
-rw-r--r--docs/css/doctum.css508
-rw-r--r--docs/doc-index.html1187
-rw-r--r--docs/doctum-search.json1
-rw-r--r--docs/doctum.js316
-rw-r--r--docs/fonts/doctum-font.css61
-rw-r--r--docs/fonts/doctum.eotbin0 -> 5100 bytes
-rw-r--r--docs/fonts/doctum.svg14
-rw-r--r--docs/fonts/doctum.ttfbin0 -> 4940 bytes
-rw-r--r--docs/fonts/doctum.woffbin0 -> 2868 bytes
-rw-r--r--docs/fonts/doctum.woff2bin0 -> 2248 bytes
-rw-r--r--docs/index.html120
-rw-r--r--docs/interfaces.html90
-rw-r--r--docs/js/autocomplete.min.js5
-rw-r--r--docs/js/bootstrap.min.js11
-rw-r--r--docs/js/jquery-3.5.1.slim.min.js2
-rw-r--r--docs/namespaces.html93
-rw-r--r--docs/opensearch.xml9
-rw-r--r--docs/renderer.index1
-rw-r--r--docs/search.html297
-rw-r--r--docs/traits.html89
-rw-r--r--doctum-config.php28
-rw-r--r--doctum.md8
36 files changed, 39790 insertions, 1 deletions
diff --git a/.gitattributes b/.gitattributes
new file mode 100644
index 00000000..41783f23
--- /dev/null
+++ b/.gitattributes
@@ -0,0 +1,5 @@
+/.github export-ignore
+/docs export-ignore
+.gitattributes export-ignore
+.gitignore export-ignore
+.gitmodules export-ignore \ No newline at end of file
diff --git a/.gitignore b/.gitignore
index 9254656d..f858a89c 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,6 +1,7 @@
/.github
/.idea
/.vscode
+/docs/.cache
.cquery
*.deps
*.libs
@@ -19,4 +20,5 @@ autom4te.cache
mkinstalldirs
tags
compile_commands.json
-run-tests.php
+doctum.phar
+run-tests.php \ No newline at end of file
diff --git a/docs/DOCTUM_VERSION b/docs/DOCTUM_VERSION
new file mode 100644
index 00000000..d41f08f1
--- /dev/null
+++ b/docs/DOCTUM_VERSION
@@ -0,0 +1 @@
+5.5.1 \ No newline at end of file
diff --git a/docs/PROJECT_VERSION b/docs/PROJECT_VERSION
new file mode 100644
index 00000000..ce57f645
--- /dev/null
+++ b/docs/PROJECT_VERSION
@@ -0,0 +1 @@
+develop \ No newline at end of file
diff --git a/docs/Redis.html b/docs/Redis.html
new file mode 100644
index 00000000..cfc5a250
--- /dev/null
+++ b/docs/Redis.html
@@ -0,0 +1,19133 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+ <meta charset="UTF-8" />
+ <meta name="robots" content="index, follow, all" />
+ <title>Redis | PhpRedis API</title>
+
+ <link rel="stylesheet" type="text/css" href="css/bootstrap.min.css">
+ <link rel="stylesheet" type="text/css" href="css/bootstrap-theme.min.css">
+ <link rel="stylesheet" type="text/css" href="css/doctum.css">
+ <link rel="stylesheet" type="text/css" href="fonts/doctum-font.css">
+ <script src="js/jquery-3.5.1.slim.min.js"></script>
+ <script async defer src="doctum.js"></script>
+ <script async defer src="js/bootstrap.min.js"></script>
+ <script async defer src="js/autocomplete.min.js"></script>
+ <meta name="MobileOptimized" content="width">
+ <meta name="HandheldFriendly" content="true">
+ <meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1">
+
+ <link rel="search"
+ type="application/opensearchdescription+xml"
+ href="https://phpredis.github.io/opensearch.xml"
+ title="PhpRedis API (develop)" />
+ </head>
+
+ <body id="class" data-name="class:Redis" data-root-path="" data-search-index-url="doctum-search.json">
+ <div id="content">
+ <div id="left-column">
+ <div id="control-panel">
+ <div class="search-bar hidden" id="search-progress-bar-container">
+ <div class="progress">
+ <div class="progress-bar" role="progressbar" id="search-progress-bar"
+ aria-valuenow="0" aria-valuemin="0" aria-valuemax="100" style="width: 0%"></div>
+ </div>
+ </div>
+ <form id="search-form" action="search.html">
+ <span class="icon icon-search"></span>
+ <input name="search"
+ id="doctum-search-auto-complete"
+ class="typeahead form-control"
+ type="search"
+ placeholder="Search"
+ spellcheck="false"
+ autocorrect="off"
+ autocomplete="off"
+ autocapitalize="off">
+ <div class="auto-complete-results" id="auto-complete-results"></div>
+ </form>
+ </div>
+
+ <div id="api-tree"></div>
+
+ </div>
+ <div id="right-column">
+ <nav id="site-nav" class="navbar navbar-default" role="navigation">
+ <div class="container-fluid">
+ <div class="navbar-header">
+ <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#navbar-elements">
+ <span class="sr-only">Toggle navigation</span>
+ <span class="icon-bar"></span>
+ <span class="icon-bar"></span>
+ <span class="icon-bar"></span>
+ </button>
+ <a class="navbar-brand" href="index.html">PhpRedis API</a>
+ </div>
+ <div class="collapse navbar-collapse" id="navbar-elements">
+ <ul class="nav navbar-nav">
+ <li><a href="classes.html">Classes</a></li>
+ <li><a href="interfaces.html">Interfaces</a></li>
+ <li><a href="traits.html">Traits</a></li>
+ <li><a href="doc-index.html">Index</a></li>
+ <li><a href="search.html">Search</a></li>
+ </ul>
+ </div>
+ </div>
+ </nav>
+
+ <div id="page-content">
+ <div class="page-header">
+ <h1>Redis
+ </h1>
+ </div>
+
+
+ <p> class
+ <strong>Redis</strong> (<a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php">View source</a>)
+</p>
+
+
+
+
+
+
+
+
+
+ <h2>Methods</h2>
+
+ <div class="container-fluid underlined">
+ <div class="row">
+ <div class="col-md-2 type">
+
+ </div>
+ <div class="col-md-8">
+ <a href="#method___construct">__construct</a>(array $options = null)
+
+ <p><p>Create a new Redis instance. If passed sufficient information in the
+options array it is also possible to connect to an instance at the same
+time.</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+
+ </div>
+ <div class="col-md-8">
+ <a href="#method___destruct">__destruct</a>()
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ string
+ </div>
+ <div class="col-md-8">
+ <a href="#method__compress">_compress</a>(string $value)
+
+ <p><p>Compress a value with the currently configured compressor as set with
+Redis::setOption().</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ string
+ </div>
+ <div class="col-md-8">
+ <a href="#method__uncompress">_uncompress</a>(string $value)
+
+ <p><p>Uncompress the provided argument that has been compressed with the
+currently configured compressor as set with Redis::setOption().</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ string
+ </div>
+ <div class="col-md-8">
+ <a href="#method__prefix">_prefix</a>(string $key)
+
+ <p><p>Prefix the passed argument with the currently set key prefix as set
+with Redis::setOption().</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ string
+ </div>
+ <div class="col-md-8">
+ <a href="#method__serialize">_serialize</a>(mixed $value)
+
+ <p><p>Serialize the provided value with the currently set serializer as set
+with Redis::setOption().</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ mixed
+ </div>
+ <div class="col-md-8">
+ <a href="#method__unserialize">_unserialize</a>(string $value)
+
+ <p><p>Unserialize the passed argument with the currently set serializer as set
+with Redis::setOption().</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ string
+ </div>
+ <div class="col-md-8">
+ <a href="#method__pack">_pack</a>(mixed $value)
+
+ <p><p>Pack the provided value with the configured serializer and compressor
+as set with Redis::setOption().</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ mixed
+ </div>
+ <div class="col-md-8">
+ <a href="#method__unpack">_unpack</a>(string $value)
+
+ <p><p>Unpack the provided value with the configured compressor and serializer
+as set with Redis::setOption().</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ mixed
+ </div>
+ <div class="col-md-8">
+ <a href="#method_acl">acl</a>(string $subcmd, string ...$args)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ Redis|int|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_append">append</a>(string $key, mixed $value)
+
+ <p><p>Append data to a Redis STRING key.</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ Redis|bool
+ </div>
+ <div class="col-md-8">
+ <a href="#method_auth">auth</a>(mixed $credentials)
+
+ <p><p>Authenticate a Redis connection after its been established.</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ Redis|bool
+ </div>
+ <div class="col-md-8">
+ <a href="#method_bgSave">bgSave</a>()
+
+ <p><p>Execute a save of the Redis database in the background.</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ Redis|bool
+ </div>
+ <div class="col-md-8">
+ <a href="#method_bgrewriteaof">bgrewriteaof</a>()
+
+ <p><p>Asynchronously rewrite Redis' append-only file</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ Redis|int|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_bitcount">bitcount</a>(string $key, int $start = 0, int $end = -1, bool $bybit = false)
+
+ <p><p>Count the number of set bits in a Redis string.</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ Redis|int|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_bitop">bitop</a>(string $operation, string $deskey, string $srckey, string ...$other_keys)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ Redis|int|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_bitpos">bitpos</a>(string $key, bool $bit, int $start = 0, int $end = -1, bool $bybit = false)
+
+ <p><p>Return the position of the first bit set to 0 or 1 in a string.</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ Redis|array|null|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_blPop">blPop</a>(string|array $key_or_keys, string|float|int $timeout_or_key, mixed ...$extra_args)
+
+ <p><p>Pop an element off the beginning of a Redis list or lists, potentially blocking up to a specified
+timeout. This method may be called in two distinct ways, of which examples are provided below.</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ Redis|array|null|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_brPop">brPop</a>(string|array $key_or_keys, string|float|int $timeout_or_key, mixed ...$extra_args)
+
+ <p><p>Pop an element off of the end of a Redis list or lists, potentially blocking up to a specified timeout.</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ Redis|string|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_brpoplpush">brpoplpush</a>(string $src, string $dst, int|float $timeout)
+
+ <p><p>Pop an element from the end of a Redis list, pushing it to the beginning of another Redis list,
+optionally blocking up to a specified timeout.</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ Redis|array|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_bzPopMax">bzPopMax</a>(string|array $key, string|int $timeout_or_key, mixed ...$extra_args)
+
+ <p><p>POP the maximum scoring element off of one or more sorted sets, blocking up to a specified
+timeout if no elements are available.</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ Redis|array|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_bzPopMin">bzPopMin</a>(string|array $key, string|int $timeout_or_key, mixed ...$extra_args)
+
+ <p><p>POP the minimum scoring element off of one or more sorted sets, blocking up to a specified timeout
+if no elements are available</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ Redis|array|null|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_bzmpop">bzmpop</a>(float $timeout, array $keys, string $from, int $count = 1)
+
+ <p><p>POP one or more elements from one or more sorted sets, blocking up to a specified amount of time
+when no elements are available.</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ Redis|array|null|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_zmpop">zmpop</a>(array $keys, string $from, int $count = 1)
+
+ <p><p>POP one or more of the highest or lowest scoring elements from one or more sorted sets.</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ Redis|array|null|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_blmpop">blmpop</a>(float $timeout, array $keys, string $from, int $count = 1)
+
+ <p><p>Pop one or more elements from one or more Redis LISTs, blocking up to a specified timeout when
+no elements are available.</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ Redis|array|null|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_lmpop">lmpop</a>(array $keys, string $from, int $count = 1)
+
+ <p><p>Pop one or more elements off of one or more Redis LISTs.</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ bool
+ </div>
+ <div class="col-md-8">
+ <a href="#method_clearLastError">clearLastError</a>()
+
+ <p><p>Reset any last error on the connection to NULL</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ mixed
+ </div>
+ <div class="col-md-8">
+ <a href="#method_client">client</a>(string $opt, mixed ...$args)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ bool
+ </div>
+ <div class="col-md-8">
+ <a href="#method_close">close</a>()
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ mixed
+ </div>
+ <div class="col-md-8">
+ <a href="#method_command">command</a>(string $opt = null, string|array $arg)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ mixed
+ </div>
+ <div class="col-md-8">
+ <a href="#method_config">config</a>(string $operation, array|string|null $key_or_settings = NULL, string|null $value = NULL)
+
+ <p><p>Execute the Redis CONFIG command in a variety of ways. What the command does in particular depends
+on the <code>$operation</code> qualifier.</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ bool
+ </div>
+ <div class="col-md-8">
+ <a href="#method_connect">connect</a>(string $host, int $port = 6379, float $timeout = 0, string $persistent_id = null, int $retry_interval = 0, float $read_timeout = 0, array $context = null)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ Redis|bool
+ </div>
+ <div class="col-md-8">
+ <a href="#method_copy">copy</a>(string $src, string $dst, array $options = null)
+
+ <p><p>Make a copy of a redis key.</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ Redis|int|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_dbSize">dbSize</a>()
+
+ <p><p>Return the number of keys in the currently selected Redis database.</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ Redis|string
+ </div>
+ <div class="col-md-8">
+ <a href="#method_debug">debug</a>(string $key)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ Redis|int|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_decr">decr</a>(string $key, int $by = 1)
+
+ <p><p>Decrement a Redis integer by 1 or a provided value.</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ Redis|int|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_decrBy">decrBy</a>(string $key, int $value)
+
+ <p><p>Decrement a redis integer by a value</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ Redis|int|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_del">del</a>(array|string $key, string ...$other_keys)
+
+ <p><p>Delete one or more keys from Redis.</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ Redis|int|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_delete">delete</a>(array|string $key, string ...$other_keys)
+ <small><span class="label label-danger">deprecated</span></small>
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ Redis|bool
+ </div>
+ <div class="col-md-8">
+ <a href="#method_discard">discard</a>()
+
+ <p><p>Discard a transaction currently in progress.</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ Redis|string
+ </div>
+ <div class="col-md-8">
+ <a href="#method_dump">dump</a>(string $key)
+
+ <p><p>Dump Redis' internal binary representation of a key.</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ Redis|string|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_echo">echo</a>(string $str)
+
+ <p><p>Have Redis repeat back an arbitrary string to the client.</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ mixed
+ </div>
+ <div class="col-md-8">
+ <a href="#method_eval">eval</a>(string $script, array $args = [], int $num_keys = 0)
+
+ <p><p>Execute a LUA script on the redis server.</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ mixed
+ </div>
+ <div class="col-md-8">
+ <a href="#method_eval_ro">eval_ro</a>(string $script_sha, array $args = [], int $num_keys = 0)
+
+ <p><p>This is simply the read-only variant of eval, meaning the underlying script
+may not modify data in redis.</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ mixed
+ </div>
+ <div class="col-md-8">
+ <a href="#method_evalsha">evalsha</a>(string $sha1, array $args = [], int $num_keys = 0)
+
+ <p><p>Execute a LUA script on the server but instead of sending the script, send
+the SHA1 hash of the script.</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ mixed
+ </div>
+ <div class="col-md-8">
+ <a href="#method_evalsha_ro">evalsha_ro</a>(string $sha1, array $args = [], int $num_keys = 0)
+
+ <p><p>This is simply the read-only variant of evalsha, meaning the underlying script
+may not modify data in redis.</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ Redis|array|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_exec">exec</a>()
+
+ <p><p>Execute either a MULTI or PIPELINE block and return the array of replies.</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ Redis|int|bool
+ </div>
+ <div class="col-md-8">
+ <a href="#method_exists">exists</a>(mixed $key, mixed ...$other_keys)
+
+ <p><p>Test if one or more keys exist.</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ Redis|bool
+ </div>
+ <div class="col-md-8">
+ <a href="#method_expire">expire</a>(string $key, int $timeout, string|null $mode = NULL)
+
+ <p><p>Sets an expiration in seconds on the key in question. If connected to
+redis-server &gt;= 7.0.0 you may send an additional &quot;mode&quot; argument which
+modifies how the command will execute.</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ Redis|bool
+ </div>
+ <div class="col-md-8">
+ <a href="#method_expireAt">expireAt</a>(string $key, int $timestamp, string|null $mode = NULL)
+
+ <p><p>Set a key's expiration to a specific Unix timestamp in seconds. If
+connected to Redis &gt;= 7.0.0 you can pass an optional 'mode' argument.</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ Redis|bool
+ </div>
+ <div class="col-md-8">
+ <a href="#method_failover">failover</a>(array|null $to = null, bool $abort = false, int $timeout = 0)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ Redis|int|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_expiretime">expiretime</a>(string $key)
+
+ <p><p>Get the expiration of a given key as a unix timestamp</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ Redis|int|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_pexpiretime">pexpiretime</a>(string $key)
+
+ <p><p>Get the expriation timestamp of a given Redis key but in milliseconds.</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ Redis|bool
+ </div>
+ <div class="col-md-8">
+ <a href="#method_flushAll">flushAll</a>(bool|null $sync = null)
+
+ <p><p>Deletes every key in all Redis databases</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ Redis|bool
+ </div>
+ <div class="col-md-8">
+ <a href="#method_flushDB">flushDB</a>(bool|null $sync = null)
+
+ <p><p>Deletes all the keys of the currently selected database.</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ Redis|int|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_geoadd">geoadd</a>(string $key, float $lng, float $lat, string $member, mixed ...$other_triples_and_options)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ Redis|float|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_geodist">geodist</a>(string $key, string $src, string $dst, string|null $unit = null)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ Redis|array|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_geohash">geohash</a>(string $key, string $member, string ...$other_members)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ Redis|array|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_geopos">geopos</a>(string $key, string $member, string ...$other_members)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ mixed
+ </div>
+ <div class="col-md-8">
+ <a href="#method_georadius">georadius</a>(string $key, float $lng, float $lat, float $radius, string $unit, array $options = [])
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ mixed
+ </div>
+ <div class="col-md-8">
+ <a href="#method_georadius_ro">georadius_ro</a>(string $key, float $lng, float $lat, float $radius, string $unit, array $options = [])
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ mixed
+ </div>
+ <div class="col-md-8">
+ <a href="#method_georadiusbymember">georadiusbymember</a>(string $key, string $member, float $radius, string $unit, array $options = [])
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ mixed
+ </div>
+ <div class="col-md-8">
+ <a href="#method_georadiusbymember_ro">georadiusbymember_ro</a>(string $key, string $member, float $radius, string $unit, array $options = [])
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ array
+ </div>
+ <div class="col-md-8">
+ <a href="#method_geosearch">geosearch</a>(string $key, array|string $position, array|int|float $shape, string $unit, array $options = [])
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ Redis|array|int|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_geosearchstore">geosearchstore</a>(string $dst, string $src, array|string $position, array|int|float $shape, string $unit, array $options = [])
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ mixed
+ </div>
+ <div class="col-md-8">
+ <a href="#method_get">get</a>(string $key)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ mixed
+ </div>
+ <div class="col-md-8">
+ <a href="#method_getAuth">getAuth</a>()
+
+ <p><p>Get the authentication information on the connection, if any.</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ Redis|int|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_getBit">getBit</a>(string $key, int $idx)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ Redis|string|bool
+ </div>
+ <div class="col-md-8">
+ <a href="#method_getEx">getEx</a>(string $key, array $options = [])
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ int
+ </div>
+ <div class="col-md-8">
+ <a href="#method_getDBNum">getDBNum</a>()
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ Redis|string|bool
+ </div>
+ <div class="col-md-8">
+ <a href="#method_getDel">getDel</a>(string $key)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ string
+ </div>
+ <div class="col-md-8">
+ <a href="#method_getHost">getHost</a>()
+
+ <p><p>Return the host or Unix socket we are connected to.</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ string|null
+ </div>
+ <div class="col-md-8">
+ <a href="#method_getLastError">getLastError</a>()
+
+ <p><p>Get the last error returned to us from Redis, if any.</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ int
+ </div>
+ <div class="col-md-8">
+ <a href="#method_getMode">getMode</a>()
+
+ <p><p>Returns whether the connection is in ATOMIC, MULTI, or PIPELINE mode</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ mixed
+ </div>
+ <div class="col-md-8">
+ <a href="#method_getOption">getOption</a>(int $option)
+
+ <p><p>Retrieve the value of a configuration setting as set by Redis::setOption()</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ string|null
+ </div>
+ <div class="col-md-8">
+ <a href="#method_getPersistentID">getPersistentID</a>()
+
+ <p><p>Get the persistent connection ID, if there is one.</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ int
+ </div>
+ <div class="col-md-8">
+ <a href="#method_getPort">getPort</a>()
+
+ <p><p>Get the port we are connected to. This number will be zero if we are connected to a unix socket.</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ Redis|string|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_getRange">getRange</a>(string $key, int $start, int $end)
+
+ <p><p>Retrieve a substring of a string by index.</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ Redis|string|array|int|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_lcs">lcs</a>(string $key1, string $key2, array|null $options = NULL)
+
+ <p><p>Get the longest common subsequence between two string keys.</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ float
+ </div>
+ <div class="col-md-8">
+ <a href="#method_getReadTimeout">getReadTimeout</a>()
+
+ <p><p>Get the currently set read timeout on the connection.</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ Redis|string|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_getset">getset</a>(string $key, mixed $value)
+
+ <p><p>Sets a key and returns any previously set value, if the key already existed.</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ float|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_getTimeout">getTimeout</a>()
+
+ <p><p>Retrieve any set connection timeout</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ int|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_getTransferredBytes">getTransferredBytes</a>()
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ Redis|int|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_hDel">hDel</a>(string $key, string $field, string ...$other_fields)
+
+ <p><p>Remove one or more fields from a hash.</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ Redis|bool
+ </div>
+ <div class="col-md-8">
+ <a href="#method_hExists">hExists</a>(string $key, string $field)
+
+ <p><p>Checks whether a field exists in a hash.</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ mixed
+ </div>
+ <div class="col-md-8">
+ <a href="#method_hGet">hGet</a>(string $key, string $member)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ Redis|array|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_hGetAll">hGetAll</a>(string $key)
+
+ <p><p>Read every field and value from a hash.</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ Redis|int|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_hIncrBy">hIncrBy</a>(string $key, string $field, int $value)
+
+ <p><p>Increment a hash field's value by an integer</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ Redis|float|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_hIncrByFloat">hIncrByFloat</a>(string $key, string $field, float $value)
+
+ <p><p>Increment a hash field by a floating point value</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ Redis|array|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_hKeys">hKeys</a>(string $key)
+
+ <p><p>Retrieve all of the fields of a hash.</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ Redis|int|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_hLen">hLen</a>(string $key)
+
+ <p><p>Get the number of fields in a hash.</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ Redis|array|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_hMget">hMget</a>(string $key, array $fields)
+
+ <p><p>Get one or more fields from a hash.</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ Redis|bool
+ </div>
+ <div class="col-md-8">
+ <a href="#method_hMset">hMset</a>(string $key, array $fieldvals)
+
+ <p><p>Add or update one or more hash fields and values</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ Redis|string|array
+ </div>
+ <div class="col-md-8">
+ <a href="#method_hRandField">hRandField</a>(string $key, array $options = null)
+
+ <p><p>Get one or more random field from a hash.</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ Redis|int|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_hSet">hSet</a>(string $key, string $member, mixed $value)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ Redis|bool
+ </div>
+ <div class="col-md-8">
+ <a href="#method_hSetNx">hSetNx</a>(string $key, string $field, string $value)
+
+ <p><p>Set a hash field and value, but only if that field does not exist</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ Redis|int|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_hStrLen">hStrLen</a>(string $key, string $field)
+
+ <p><p>Get the string length of a hash field</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ Redis|array|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_hVals">hVals</a>(string $key)
+
+ <p><p>Get all of the values from a hash.</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ Redis|array|bool
+ </div>
+ <div class="col-md-8">
+ <a href="#method_hscan">hscan</a>(string $key, int|null $iterator, string|null $pattern = null, int $count = 0)
+
+ <p><p>Iterate over the fields and values of a hash in an incremental fashion.</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ Redis|int|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_incr">incr</a>(string $key, int $by = 1)
+
+ <p><p>Increment a key's value, optionally by a specifc amount.</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ Redis|int|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_incrBy">incrBy</a>(string $key, int $value)
+
+ <p><p>Increment a key by a specific integer value</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ Redis|float|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_incrByFloat">incrByFloat</a>(string $key, float $value)
+
+ <p><p>Increment a numeric key by a floating point value.</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ Redis|array|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_info">info</a>(string ...$sections)
+
+ <p><p>Retrieve information about the connected redis-server. If no arguments are passed to
+this function, redis will return every info field. Alternatively you may pass a specific
+section you want returned (e.g. 'server', or 'memory') to receive only information pertaining
+to that section.</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ bool
+ </div>
+ <div class="col-md-8">
+ <a href="#method_isConnected">isConnected</a>()
+
+ <p><p>Check if we are currently connected to a Redis instance.</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ <a href="Redis.html">Redis</a>|array|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_keys">keys</a>(string $pattern)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ <a href="Redis.html">Redis</a>|int|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_lInsert">lInsert</a>(string $key, string $pos, mixed $pivot, mixed $value)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ Redis|int|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_lLen">lLen</a>(string $key)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ Redis|string|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_lMove">lMove</a>(string $src, string $dst, string $wherefrom, string $whereto)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ Redis|bool|string|array
+ </div>
+ <div class="col-md-8">
+ <a href="#method_lPop">lPop</a>(string $key, int $count = 0)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ Redis|null|bool|int|array
+ </div>
+ <div class="col-md-8">
+ <a href="#method_lPos">lPos</a>(string $key, mixed $value, array $options = null)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ int|<a href="Redis.html">Redis</a>
+ </div>
+ <div class="col-md-8">
+ <a href="#method_lPush">lPush</a>(string $key, mixed ...$elements)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ <a href="Redis.html">Redis</a>|int|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_rPush">rPush</a>(string $key, mixed ...$elements)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ <a href="Redis.html">Redis</a>|int|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_lPushx">lPushx</a>(string $key, mixed $value)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ <a href="Redis.html">Redis</a>|int|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_rPushx">rPushx</a>(string $key, mixed $value)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ Redis|bool
+ </div>
+ <div class="col-md-8">
+ <a href="#method_lSet">lSet</a>(string $key, int $index, mixed $value)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ int
+ </div>
+ <div class="col-md-8">
+ <a href="#method_lastSave">lastSave</a>()
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ mixed
+ </div>
+ <div class="col-md-8">
+ <a href="#method_lindex">lindex</a>(string $key, int $index)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ Redis|array|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_lrange">lrange</a>(string $key, int $start, int $end)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ int|<a href="Redis.html">Redis</a>|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_lrem">lrem</a>(string $key, mixed $value, int $count = 0)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ Redis|bool
+ </div>
+ <div class="col-md-8">
+ <a href="#method_ltrim">ltrim</a>(string $key, int $start, int $end)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ array|<a href="Redis.html">Redis</a>
+ </div>
+ <div class="col-md-8">
+ <a href="#method_mget">mget</a>(array $keys)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ Redis|bool
+ </div>
+ <div class="col-md-8">
+ <a href="#method_migrate">migrate</a>(string $host, int $port, string|array $key, int $dstdb, int $timeout, bool $copy = false, bool $replace = false, mixed $credentials = NULL)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ bool
+ </div>
+ <div class="col-md-8">
+ <a href="#method_move">move</a>(string $key, int $index)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ Redis|bool
+ </div>
+ <div class="col-md-8">
+ <a href="#method_mset">mset</a>(array $key_values)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ Redis|bool
+ </div>
+ <div class="col-md-8">
+ <a href="#method_msetnx">msetnx</a>(array $key_values)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ bool|Redis
+ </div>
+ <div class="col-md-8">
+ <a href="#method_multi">multi</a>(int $value = Redis::MULTI)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ Redis|int|string|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_object">object</a>(string $subcommand, string $key)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ bool
+ </div>
+ <div class="col-md-8">
+ <a href="#method_open">open</a>(string $host, int $port = 6379, float $timeout = 0, string $persistent_id = NULL, int $retry_interval = 0, float $read_timeout = 0, array $context = NULL)
+ <small><span class="label label-danger">deprecated</span></small>
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ bool
+ </div>
+ <div class="col-md-8">
+ <a href="#method_pconnect">pconnect</a>(string $host, int $port = 6379, float $timeout = 0, string $persistent_id = NULL, int $retry_interval = 0, float $read_timeout = 0, array $context = NULL)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ bool
+ </div>
+ <div class="col-md-8">
+ <a href="#method_persist">persist</a>(string $key)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ bool
+ </div>
+ <div class="col-md-8">
+ <a href="#method_pexpire">pexpire</a>(string $key, int $timeout, string|null $mode = NULL)
+
+ <p><p>Sets an expiration in milliseconds on a given key. If connected to Redis &gt;= 7.0.0
+you can pass an optional mode argument that modifies how the command will execute.</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ Redis|bool
+ </div>
+ <div class="col-md-8">
+ <a href="#method_pexpireAt">pexpireAt</a>(string $key, int $timestamp, string|null $mode = NULL)
+
+ <p><p>Set a key's expiration to a specific Unix Timestamp in milliseconds. If connected to
+Redis &gt;= 7.0.0 you can pass an optional 'mode' argument.</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ Redis|int
+ </div>
+ <div class="col-md-8">
+ <a href="#method_pfadd">pfadd</a>(string $key, array $elements)
+
+ <p><p>Add one or more elements to a Redis HyperLogLog key</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ Redis|int
+ </div>
+ <div class="col-md-8">
+ <a href="#method_pfcount">pfcount</a>(string $key)
+
+ <p><p>Retrieve the cardinality of a Redis HyperLogLog key.</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ Redis|bool
+ </div>
+ <div class="col-md-8">
+ <a href="#method_pfmerge">pfmerge</a>(string $dst, array $srckeys)
+
+ <p><p>Merge one or more source HyperLogLog sets into a destination set.</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ Redis|string|bool
+ </div>
+ <div class="col-md-8">
+ <a href="#method_ping">ping</a>(string $message = NULL)
+
+ <p><p>PING the redis server with an optional string argument.</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ bool|Redis
+ </div>
+ <div class="col-md-8">
+ <a href="#method_pipeline">pipeline</a>()
+
+ <p><p>Enter into pipeline mode.</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ bool
+ </div>
+ <div class="col-md-8">
+ <a href="#method_popen">popen</a>(string $host, int $port = 6379, float $timeout = 0, string $persistent_id = NULL, int $retry_interval = 0, float $read_timeout = 0, array $context = NULL)
+ <small><span class="label label-danger">deprecated</span></small>
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ bool|<a href="Redis.html">Redis</a>
+ </div>
+ <div class="col-md-8">
+ <a href="#method_psetex">psetex</a>(string $key, int $expire, mixed $value)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ bool
+ </div>
+ <div class="col-md-8">
+ <a href="#method_psubscribe">psubscribe</a>(array $patterns, callable $cb)
+
+ <p><p>Subscribe to one or more glob-style patterns</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ Redis|int|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_pttl">pttl</a>(string $key)
+
+ <p><p>Get a keys time to live in milliseconds.</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ Redis|int|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_publish">publish</a>(string $channel, string $message)
+
+ <p><p>Publish a message to a pubsub channel</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ mixed
+ </div>
+ <div class="col-md-8">
+ <a href="#method_pubsub">pubsub</a>(string $command, mixed $arg = null)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ Redis|array|bool
+ </div>
+ <div class="col-md-8">
+ <a href="#method_punsubscribe">punsubscribe</a>(array $patterns)
+
+ <p><p>Unsubscribe from one or more channels by pattern</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ Redis|array|string|bool
+ </div>
+ <div class="col-md-8">
+ <a href="#method_rPop">rPop</a>(string $key, int $count = 0)
+
+ <p><p>Pop one or more elements from the end of a list.</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ Redis|string|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_randomKey">randomKey</a>()
+
+ <p><p>Return a random key from the current database</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ mixed
+ </div>
+ <div class="col-md-8">
+ <a href="#method_rawcommand">rawcommand</a>(string $command, mixed ...$args)
+
+ <p><p>Execute any arbitrary Redis command by name.</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ Redis|bool
+ </div>
+ <div class="col-md-8">
+ <a href="#method_rename">rename</a>(string $old_name, string $new_name)
+
+ <p><p>Unconditionally rename a key from $old_name to $new_name</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ Redis|bool
+ </div>
+ <div class="col-md-8">
+ <a href="#method_renameNx">renameNx</a>(string $key_src, string $key_dst)
+
+ <p><p>Renames $key_src to $key_dst but only if newkey does not exist.</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ Redis|bool
+ </div>
+ <div class="col-md-8">
+ <a href="#method_reset">reset</a>()
+
+ <p><p>Reset the state of the connection.</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ Redis|bool
+ </div>
+ <div class="col-md-8">
+ <a href="#method_restore">restore</a>(string $key, int $ttl, string $value, array|null $options = NULL)
+
+ <p><p>Restore a key by the binary payload generated by the DUMP command.</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ mixed
+ </div>
+ <div class="col-md-8">
+ <a href="#method_role">role</a>()
+
+ <p><p>Query whether the connected instance is a primary or replica</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ Redis|string|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_rpoplpush">rpoplpush</a>(string $srckey, string $dstkey)
+
+ <p><p>Atomically pop an element off the end of a Redis LIST and push it to the beginning of
+another.</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ Redis|int|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_sAdd">sAdd</a>(string $key, mixed $value, mixed ...$other_values)
+
+ <p><p>Add one or more values to a Redis SET key.</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ int
+ </div>
+ <div class="col-md-8">
+ <a href="#method_sAddArray">sAddArray</a>(string $key, array $values)
+
+ <p><p>Add one ore more values to a Redis SET key. This is an alternative to Redis::sadd() but
+instead of being variadic, takes a single array of values.</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ Redis|array|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_sDiff">sDiff</a>(string $key, string ...$other_keys)
+
+ <p><p>Given one or more Redis SETS, this command returns all of the members from the first
+set that are not in any subsequent set.</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ Redis|int|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_sDiffStore">sDiffStore</a>(string $dst, string $key, string ...$other_keys)
+
+ <p><p>This method performs the same operation as SDIFF except it stores the resulting diff
+values in a specified destination key.</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ Redis|array|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_sInter">sInter</a>(array|string $key, string ...$other_keys)
+
+ <p><p>Given one or more Redis SET keys, this command will return all of the elements that are
+in every one.</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ Redis|int|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_sintercard">sintercard</a>(array $keys, int $limit = -1)
+
+ <p><p>Compute the intersection of one or more sets and return the cardinality of the result.</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ Redis|int|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_sInterStore">sInterStore</a>(array|string $key, string ...$other_keys)
+
+ <p><p>Perform the intersection of one or more Redis SETs, storing the result in a destination
+key, rather than returning them.</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ Redis|array|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_sMembers">sMembers</a>(string $key)
+
+ <p><p>Retrieve every member from a set key.</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ Redis|array|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_sMisMember">sMisMember</a>(string $key, string $member, string ...$other_members)
+
+ <p><p>Check if one or more values are members of a set.</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ Redis|bool
+ </div>
+ <div class="col-md-8">
+ <a href="#method_sMove">sMove</a>(string $src, string $dst, mixed $value)
+
+ <p><p>Pop a member from one set and push it onto another. This command will create the
+destination set if it does not currently exist.</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ Redis|string|array|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_sPop">sPop</a>(string $key, int $count = 0)
+
+ <p><p>Remove one or more elements from a set.</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ Redis|string|array|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_sRandMember">sRandMember</a>(string $key, int $count = 0)
+
+ <p><p>Retrieve one or more random members of a set.</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ Redis|array|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_sUnion">sUnion</a>(string $key, string ...$other_keys)
+
+ <p><p>Returns the union of one or more Redis SET keys.</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ Redis|int|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_sUnionStore">sUnionStore</a>(string $dst, string $key, string ...$other_keys)
+
+ <p><p>Perform a union of one or more Redis SET keys and store the result in a new set</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ Redis|bool
+ </div>
+ <div class="col-md-8">
+ <a href="#method_save">save</a>()
+
+ <p><p>Persist the Redis database to disk. This command will block the server until the save is
+completed. For a nonblocking alternative, see Redis::bgsave().</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ array|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_scan">scan</a>(int|null $iterator, string|null $pattern = null, int $count = 0, string $type = NULL)
+
+ <p><p>Incrementally scan the Redis keyspace, with optional pattern and type matching.</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ Redis|int|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_scard">scard</a>(string $key)
+
+ <p><p>Retrieve the number of members in a Redis set.</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ mixed
+ </div>
+ <div class="col-md-8">
+ <a href="#method_script">script</a>(string $command, mixed ...$args)
+
+ <p><p>An administrative command used to interact with LUA scripts stored on the server.</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ Redis|bool
+ </div>
+ <div class="col-md-8">
+ <a href="#method_select">select</a>(int $db)
+
+ <p><p>Select a specific Redis database.</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ Redis|string|bool
+ </div>
+ <div class="col-md-8">
+ <a href="#method_set">set</a>(string $key, mixed $value, mixed $options = NULL)
+
+ <p><p>Create or set a Redis STRING key to a value.</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ Redis|int|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_setBit">setBit</a>(string $key, int $idx, bool $value)
+
+ <p><p>Set a specific bit in a Redis string to zero or one</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ Redis|int|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_setRange">setRange</a>(string $key, int $index, string $value)
+
+ <p><p>Update or append to a Redis string at a specific starting index</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ bool
+ </div>
+ <div class="col-md-8">
+ <a href="#method_setOption">setOption</a>(int $option, mixed $value)
+
+ <p><p>Set a configurable option on the Redis object.</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ <a href="Redis.html">Redis</a>|bool
+ </div>
+ <div class="col-md-8">
+ <a href="#method_setex">setex</a>(string $key, int $expire, mixed $value)
+
+ <p><p>Set a Redis STRING key with a specific expiration in seconds.</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ Redis|bool
+ </div>
+ <div class="col-md-8">
+ <a href="#method_setnx">setnx</a>(string $key, mixed $value)
+
+ <p><p>Set a key to a value, but only if that key does not already exist.</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ Redis|bool
+ </div>
+ <div class="col-md-8">
+ <a href="#method_sismember">sismember</a>(string $key, mixed $value)
+
+ <p><p>Check whether a given value is the member of a Redis SET.</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ Redis|bool
+ </div>
+ <div class="col-md-8">
+ <a href="#method_slaveof">slaveof</a>(string $host = NULL, int $port = 6379)
+ <small><span class="label label-danger">deprecated</span></small>
+ <p><p>Turn a redis instance into a replica of another or promote a replica
+to a primary.</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ Redis|bool
+ </div>
+ <div class="col-md-8">
+ <a href="#method_replicaof">replicaof</a>(string $host = NULL, int $port = 6379)
+
+ <p><p>Used to turn a Redis instance into a replica of another, or to remove
+replica status promoting the instance to a primary.</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ Redis|int|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_touch">touch</a>(array|string $key_or_array, string ...$more_keys)
+
+ <p><p>Update one or more keys last modified metadata.</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ mixed
+ </div>
+ <div class="col-md-8">
+ <a href="#method_slowlog">slowlog</a>(string $operation, int $length = 0)
+
+ <p><p>Interact with Redis' slowlog functionality in various ways, depending
+on the value of 'operation'.</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ mixed
+ </div>
+ <div class="col-md-8">
+ <a href="#method_sort">sort</a>(string $key, array|null $options = null)
+
+ <p><p>Sort the contents of a Redis key in various ways.</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ mixed
+ </div>
+ <div class="col-md-8">
+ <a href="#method_sort_ro">sort_ro</a>(string $key, array|null $options = null)
+
+ <p><p>This is simply a read-only variant of the sort command</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ array
+ </div>
+ <div class="col-md-8">
+ <a href="#method_sortAsc">sortAsc</a>(string $key, string|null $pattern = null, mixed $get = null, int $offset = -1, int $count = -1, string|null $store = null)
+ <small><span class="label label-danger">deprecated</span></small>
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ array
+ </div>
+ <div class="col-md-8">
+ <a href="#method_sortAscAlpha">sortAscAlpha</a>(string $key, string|null $pattern = null, mixed $get = null, int $offset = -1, int $count = -1, string|null $store = null)
+ <small><span class="label label-danger">deprecated</span></small>
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ array
+ </div>
+ <div class="col-md-8">
+ <a href="#method_sortDesc">sortDesc</a>(string $key, string|null $pattern = null, mixed $get = null, int $offset = -1, int $count = -1, string|null $store = null)
+ <small><span class="label label-danger">deprecated</span></small>
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ array
+ </div>
+ <div class="col-md-8">
+ <a href="#method_sortDescAlpha">sortDescAlpha</a>(string $key, string|null $pattern = null, mixed $get = null, int $offset = -1, int $count = -1, string|null $store = null)
+ <small><span class="label label-danger">deprecated</span></small>
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ Redis|int|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_srem">srem</a>(string $key, mixed $value, mixed ...$other_values)
+
+ <p><p>Remove one or more values from a Redis SET key.</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ array|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_sscan">sscan</a>(string $key, int|null $iterator, string|null $pattern = null, int $count = 0)
+
+ <p><p>Scan the members of a redis SET key.</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ Redis|int|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_strlen">strlen</a>(string $key)
+
+ <p><p>Retrieve the length of a Redis STRING key.</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ bool
+ </div>
+ <div class="col-md-8">
+ <a href="#method_subscribe">subscribe</a>(array $channels, callable $cb)
+
+ <p><p>Subscribe to one or more Redis pubsub channels.</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ Redis|bool
+ </div>
+ <div class="col-md-8">
+ <a href="#method_swapdb">swapdb</a>(int $src, int $dst)
+
+ <p><p>Atomically swap two Redis databases so that all of the keys in the source database will
+now be in the destination database and vice-versa.</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ Redis|array
+ </div>
+ <div class="col-md-8">
+ <a href="#method_time">time</a>()
+
+ <p><p>Retrieve the server time from the connected Redis instance.</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ Redis|int|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_ttl">ttl</a>(string $key)
+
+ <p><p>Get the amount of time a Redis key has before it will expire, in seconds.</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ Redis|int|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_type">type</a>(string $key)
+
+ <p><p>Get the type of a given Redis key.</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ Redis|int|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_unlink">unlink</a>(array|string $key, string ...$other_keys)
+
+ <p><p>Delete one or more keys from the Redis database. Unlike this operation, the actual
+deletion is asynchronous, meaning it is safe to delete large keys without fear of
+Redis blocking for a long period of time.</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ Redis|array|bool
+ </div>
+ <div class="col-md-8">
+ <a href="#method_unsubscribe">unsubscribe</a>(array $channels)
+
+ <p><p>Unsubscribe from one or more subscribed channels.</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ Redis|bool
+ </div>
+ <div class="col-md-8">
+ <a href="#method_unwatch">unwatch</a>()
+
+ <p><p>Remove any previously WATCH'ed keys in a transaction.</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ bool|<a href="Redis.html">Redis</a>
+ </div>
+ <div class="col-md-8">
+ <a href="#method_watch">watch</a>(array|string $key, string ...$other_keys)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ int|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_wait">wait</a>(int $numreplicas, int $timeout)
+
+ <p><p>Block the client up to the provided timeout until a certain number of replicas have confirmed
+recieving them.</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ int|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_xack">xack</a>(string $key, string $group, array $ids)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ Redis|string|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_xadd">xadd</a>(string $key, string $id, array $values, int $maxlen = 0, bool $approx = false, bool $nomkstream = false)
+
+ <p><p>Append a message to a stream.</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ Redis|bool|array
+ </div>
+ <div class="col-md-8">
+ <a href="#method_xautoclaim">xautoclaim</a>(string $key, string $group, string $consumer, int $min_idle, string $start, int $count = -1, bool $justid = false)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ Redis|bool|array
+ </div>
+ <div class="col-md-8">
+ <a href="#method_xclaim">xclaim</a>(string $key, string $group, string $consumer, int $min_idle, array $ids, array $options)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ Redis|int|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_xdel">xdel</a>(string $key, array $ids)
+
+ <p><p>Remove one or more specific IDs from a stream.</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ mixed
+ </div>
+ <div class="col-md-8">
+ <a href="#method_xgroup">xgroup</a>(string $operation, string $key = null, string $group = null, string $id_or_consumer = null, bool $mkstream = false, int $entries_read = -2)
+
+ <p>XGROUP</p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ mixed
+ </div>
+ <div class="col-md-8">
+ <a href="#method_xinfo">xinfo</a>(string $operation, string|null $arg1 = null, string|null $arg2 = null, int $count = -1)
+
+ <p><p>Retrieve information about a stream key.</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ Redis|int|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_xlen">xlen</a>(string $key)
+
+ <p><p>Get the number of messages in a Redis STREAM key.</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ Redis|array|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_xpending">xpending</a>(string $key, string $group, string|null $start = null, string|null $end = null, int $count = -1, string|null $consumer = null)
+
+ <p><p>Interact with stream messages that have been consumed by a consumer group but not yet
+acknowledged with XACK.</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ Redis|array|bool
+ </div>
+ <div class="col-md-8">
+ <a href="#method_xrange">xrange</a>(string $key, string $start, string $end, int $count = -1)
+
+ <p><p>Get a range of entries from a STREAM key.</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ Redis|array|bool
+ </div>
+ <div class="col-md-8">
+ <a href="#method_xread">xread</a>(array $streams, int $count = -1, int $block = -1)
+
+ <p><p>Consume one or more unconsumed elements in one or more streams.</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ Redis|array|bool
+ </div>
+ <div class="col-md-8">
+ <a href="#method_xreadgroup">xreadgroup</a>(string $group, string $consumer, array $streams, int $count = 1, int $block = 1)
+
+ <p><p>Read one or more messages using a consumer group.</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ Redis|array|bool
+ </div>
+ <div class="col-md-8">
+ <a href="#method_xrevrange">xrevrange</a>(string $key, string $end, string $start, int $count = -1)
+
+ <p><p>Get a range of entries from a STREAM ke in reverse cronological order.</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ Redis|int|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_xtrim">xtrim</a>(string $key, string $threshold, bool $approx = false, bool $minid = false, int $limit = -1)
+
+ <p><p>Truncate a STREAM key in various ways.</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ Redis|int|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_zAdd">zAdd</a>(string $key, array|float $score_or_options, mixed ...$more_scores_and_mems)
+
+ <p><p>Add one or more elements and scores to a Redis sorted set.</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ Redis|int|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_zCard">zCard</a>(string $key)
+
+ <p><p>Return the number of elements in a sorted set.</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ Redis|int|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_zCount">zCount</a>(string $key, string $start, string $end)
+
+ <p><p>Count the number of members in a sorted set with scores inside a provided range.</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ Redis|float|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_zIncrBy">zIncrBy</a>(string $key, float $value, mixed $member)
+
+ <p><p>Create or increment the score of a member in a Redis sorted set</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ Redis|int|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_zLexCount">zLexCount</a>(string $key, string $min, string $max)
+
+ <p><p>Count the number of elements in a sorted set whos members fall within the provided
+lexographical range.</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ Redis|array|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_zMscore">zMscore</a>(string $key, mixed $member, mixed ...$other_members)
+
+ <p><p>Retrieve the score of one or more members in a sorted set.</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ Redis|array|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_zPopMax">zPopMax</a>(string $key, int $count = null)
+
+ <p><p>Pop one or more of the highest scoring elements from a sorted set.</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ Redis|array|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_zPopMin">zPopMin</a>(string $key, int $count = null)
+
+ <p><p>Pop one or more of the lowest scoring elements from a sorted set.</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ Redis|array|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_zRange">zRange</a>(string $key, mixed $start, mixed $end, array|bool|null $options = null)
+
+ <p><p>Retrieve a range of elements of a sorted set between a start and end point.</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ Redis|array|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_zRangeByLex">zRangeByLex</a>(string $key, string $min, string $max, int $offset = -1, int $count = -1)
+
+ <p><p>Retrieve a range of elements from a sorted set by legographical range.</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ Redis|array|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_zRangeByScore">zRangeByScore</a>(string $key, string $start, string $end, array $options = [])
+
+ <p><p>Retrieve a range of members from a sorted set by their score.</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ Redis|int|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_zrangestore">zrangestore</a>(string $dstkey, string $srckey, string $start, string $end, array|bool|null $options = NULL)
+
+ <p><p>This command is similar to ZRANGE except that instead of returning the values directly
+it will store them in a destination key provided by the user</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ Redis|string|array
+ </div>
+ <div class="col-md-8">
+ <a href="#method_zRandMember">zRandMember</a>(string $key, array $options = null)
+
+ <p><p>Retrieve one or more random members from a Redis sorted set.</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ Redis|int|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_zRank">zRank</a>(string $key, mixed $member)
+
+ <p><p>Get the rank of a member of a sorted set, by score.</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ Redis|int|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_zRem">zRem</a>(mixed $key, mixed $member, mixed ...$other_members)
+
+ <p><p>Remove one or more members from a Redis sorted set.</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ Redis|int|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_zRemRangeByLex">zRemRangeByLex</a>(string $key, string $min, string $max)
+
+ <p><p>Remove zero or more elements from a Redis sorted set by legographical range.</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ Redis|int|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_zRemRangeByRank">zRemRangeByRank</a>(string $key, int $start, int $end)
+
+ <p><p>Remove one or more members of a sorted set by their rank.</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ Redis|int|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_zRemRangeByScore">zRemRangeByScore</a>(string $key, string $start, string $end)
+
+ <p><p>Remove one or more members of a sorted set by their score.</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ Redis|array|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_zRevRange">zRevRange</a>(string $key, int $start, int $end, mixed $scores = null)
+
+ <p><p>List the members of a Redis sorted set in reverse order</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ Redis|array|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_zRevRangeByLex">zRevRangeByLex</a>(string $key, string $max, string $min, int $offset = -1, int $count = -1)
+
+ <p><p>List members of a Redis sorted set within a legographical range, in reverse order.</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ Redis|array|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_zRevRangeByScore">zRevRangeByScore</a>(string $key, string $max, string $min, array|bool $options = [])
+
+ <p><p>List elements from a Redis sorted set by score, highest to lowest</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ Redis|int|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_zRevRank">zRevRank</a>(string $key, mixed $member)
+
+ <p><p>Retrieve a member of a sorted set by reverse rank.</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ Redis|float|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_zScore">zScore</a>(string $key, mixed $member)
+
+ <p><p>Get the score of a member of a sorted set.</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ Redis|array|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_zdiff">zdiff</a>(array $keys, array $options = null)
+
+ <p><p>Given one or more sorted set key names, return every element that is in the first
+set but not any of the others.</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ Redis|int|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_zdiffstore">zdiffstore</a>(string $dst, array $keys)
+
+ <p><p>Store the difference of one or more sorted sets in a destination sorted set.</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ Redis|array|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_zinter">zinter</a>(array $keys, array|null $weights = null, array|null $options = null)
+
+ <p><p>Compute the intersection of one or more sorted sets and return the members</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ Redis|int|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_zintercard">zintercard</a>(array $keys, int $limit = -1)
+
+ <p><p>Similar to ZINTER but instead of returning the intersected values, this command returns the
+cardinality of the intersected set.</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ Redis|int|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_zinterstore">zinterstore</a>(string $dst, array $keys, array|null $weights = null, string|null $aggregate = null)
+
+ <p><p>Compute the intersection of one ore more sorted sets storing the result in a new sorted set.</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ Redis|array|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_zscan">zscan</a>(string $key, int|null $iterator, string|null $pattern = null, int $count = 0)
+
+ <p><p>Scan the members of a sorted set incrementally, using a cursor</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ Redis|array|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_zunion">zunion</a>(array $keys, array|null $weights = null, array|null $options = null)
+
+ <p><p>Retrieve the union of one or more sorted sets</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ Redis|int|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_zunionstore">zunionstore</a>(string $dst, array $keys, array|null $weights = NULL, string|null $aggregate = NULL)
+
+ <p><p>Perform a union on one or more Redis sets and store the result in a destination sorted set.</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ </div>
+
+
+ <h2>Details</h2>
+
+ <div id="method-details">
+ <div class="method-item">
+ <h3 id="method___construct">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L69">at line 69</a></div>
+ <code>
+ <strong>__construct</strong>(array $options = null)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>Create a new Redis instance. If passed sufficient information in the
+options array it is also possible to connect to an instance at the same
+time.</p></p>
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>array</td>
+ <td>$options</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ <a href="Redis.html#method_connect">
+Redis::connect</a>
+ </td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>
+ <a href="https://aws.amazon.com/blogs/architecture/exponential-backoff-and-jitter/">https://aws.amazon.com/blogs/architecture/exponential-backoff-and-jitter/</a>
+ </td>
+ <td>Following is an example of an options array with the supported
+configuration values. Note that all of these values are optional, and you
+can instead connect to Redis via PhpRedis' connect() method.
+
+<code>
+<?php
+$options = [
+ 'host' => 'localhost',
+ 'port' => 6379,
+ 'readTimeout' => 2.5,
+ 'connectTimeout' => 2.5,
+ 'persistent' => true,
+
+ // Valid formats: NULL, ['user', 'pass'], 'pass', or ['pass']
+ 'auth' => ['phpredis', 'phpredis'],
+
+ // See PHP stream options for valid SSL configuration settings.
+ 'ssl' => ['verify_peer' => false],
+
+ // How quickly to retry a connection after we time out or it closes.
+ // Note that this setting is overridden by 'backoff' strategies.
+ 'retryInterval' => 100,
+
+ // Which backoff algorithm to use. 'decorrelated jitter' is
+ // likely the best one for most solution, but there are many
+ // to choose from:
+ // REDIS_BACKOFF_ALGORITHM_DEFAULT
+ // REDIS_BACKOFF_ALGORITHM_CONSTANT
+ // REDIS_BACKOFF_ALGORITHM_UNIFORM
+ // REDIS_BACKOFF_ALGORITHM_EXPONENTIAL
+ // REDIS_BACKOFF_ALGORITHM_FULL_JITTER
+ // REDIS_BACKOFF_ALGORITHM_EQUAL_JITTER
+ // REDIS_BACKOFF_ALGORITHM_DECORRELATED_JITTER
+ //
+ // 'base', and 'cap' are in milliseconds and represent the first
+ // delay redis will use when reconnecting, and the maximum delay
+ // we will reach while retrying.
+ 'backoff' => [
+ 'algorithm' => Redis::BACKOFF_ALGORITHM_DECORRELATED_JITTER,
+ 'base' => 500,
+ 'cap' => 750,
+ ]
+];
+?>
+</code>
+
+Note: If you do wish to connect via the constructor, only 'host' is
+ strictly required, which will cause PhpRedis to connect to that
+ host on Redis' default port (6379).</td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method___destruct">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L71">at line 71</a></div>
+ <code>
+ <strong>__destruct</strong>()
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+
+
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method__compress">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L83">at line 83</a></div>
+ <code> string
+ <strong>_compress</strong>(string $value)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>Compress a value with the currently configured compressor as set with
+Redis::setOption().</p></p>
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$value</td>
+ <td><p>The value to be compressed</p></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td><p>The compressed result</p></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ <a href="Redis.html#method_setOption">
+Redis::setOption</a>
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method__uncompress">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L95">at line 95</a></div>
+ <code> string
+ <strong>_uncompress</strong>(string $value)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>Uncompress the provided argument that has been compressed with the
+currently configured compressor as set with Redis::setOption().</p></p>
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$value</td>
+ <td><p>The compressed value to uncompress.</p></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td><p>The uncompressed result.</p></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ <a href="Redis.html#method_setOption">
+Redis::setOption</a>
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method__prefix">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L105">at line 105</a></div>
+ <code> string
+ <strong>_prefix</strong>(string $key)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>Prefix the passed argument with the currently set key prefix as set
+with Redis::setOption().</p></p>
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td><p>The key/string to prefix</p></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td><p>The prefixed string</p></td>
+ </tr>
+ </table>
+
+
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method__serialize">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L117">at line 117</a></div>
+ <code> string
+ <strong>_serialize</strong>(mixed $value)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>Serialize the provided value with the currently set serializer as set
+with Redis::setOption().</p></p>
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>mixed</td>
+ <td>$value</td>
+ <td><p>The value to serialize</p></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td><p>The serialized result</p></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ <a href="Redis.html#method_setOption">
+Redis::setOption</a>
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method__unserialize">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L129">at line 129</a></div>
+ <code> mixed
+ <strong>_unserialize</strong>(string $value)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>Unserialize the passed argument with the currently set serializer as set
+with Redis::setOption().</p></p>
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$value</td>
+ <td><p>The value to unserialize</p></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>mixed</td>
+ <td><p>The unserialized result</p></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ <a href="Redis.html#method_setOption">
+Redis::setOption</a>
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method__pack">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L139">at line 139</a></div>
+ <code> string
+ <strong>_pack</strong>(mixed $value)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>Pack the provided value with the configured serializer and compressor
+as set with Redis::setOption().</p></p>
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>mixed</td>
+ <td>$value</td>
+ <td><p>The value to pack</p></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td><p>The packed result having been serialized and
+compressed.</p></td>
+ </tr>
+ </table>
+
+
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method__unpack">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L149">at line 149</a></div>
+ <code> mixed
+ <strong>_unpack</strong>(string $value)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>Unpack the provided value with the configured compressor and serializer
+as set with Redis::setOption().</p></p>
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$value</td>
+ <td><p>The value which has been serialized and compressed.</p></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>mixed</td>
+ <td><p>The uncompressed and eserialized value.</p></td>
+ </tr>
+ </table>
+
+
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_acl">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L151">at line 151</a></div>
+ <code> mixed
+ <strong>acl</strong>(string $subcmd, string ...$args)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$subcmd</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>...$args</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>mixed</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_append">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L173">at line 173</a></div>
+ <code> Redis|int|false
+ <strong>append</strong>(string $key, mixed $value)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>Append data to a Redis STRING key.</p></p>
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td><p>The key in question</p></td>
+ </tr>
+ <tr>
+ <td>mixed</td>
+ <td>$value</td>
+ <td><p>The data to append to the key.</p></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>Redis|int|false</td>
+ <td><p>The new string length of the key or false on failure.</p>
+<pre><code>&lt;?php
+$redis = new Redis(['host' =&gt; 'localhost']);
+
+$redis-&gt;set('foo', 'hello);
+var_dump($redis-&gt;append('foo', 'world'));
+
+// --- OUTPUT ---
+// int(10)
+?&gt;</code></pre></td>
+ </tr>
+ </table>
+
+
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_auth">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L195">at line 195</a></div>
+ <code> Redis|bool
+ <strong>auth</strong>(mixed $credentials)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>Authenticate a Redis connection after its been established.</p></p>
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>mixed</td>
+ <td>$credentials</td>
+ <td><p>A string password, or an array with one or two string elements.</p></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>Redis|bool</td>
+ <td><p>Whether the AUTH was successful.</p>
+<p>See below for various examples about how this method may be called.</p>
+<pre><code>&lt;?php&gt;
+$redis-&gt;auth('password');
+$redis-&gt;auth(['password']);
+$redis-&gt;auth(['username', 'password']);
+?&gt;</code></pre></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ <a href="https://redis.io/commands/auth">https://redis.io/commands/auth</a>
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_bgSave">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L204">at line 204</a></div>
+ <code> Redis|bool
+ <strong>bgSave</strong>()
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>Execute a save of the Redis database in the background.</p></p>
+ </div>
+ <div class="tags">
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>Redis|bool</td>
+ <td><p>Whether the command was successful.</p></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ <a href="https://redis.io/commands/bgsave">https://redis.io/commands/bgsave</a>
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_bgrewriteaof">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L213">at line 213</a></div>
+ <code> Redis|bool
+ <strong>bgrewriteaof</strong>()
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>Asynchronously rewrite Redis' append-only file</p></p>
+ </div>
+ <div class="tags">
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>Redis|bool</td>
+ <td><p>Whether the command was successful.</p></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ <a href="https://redis.io/commands/bgrewriteaof">https://redis.io/commands/bgrewriteaof</a>
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_bitcount">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L232">at line 232</a></div>
+ <code> Redis|int|false
+ <strong>bitcount</strong>(string $key, int $start = 0, int $end = -1, bool $bybit = false)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>Count the number of set bits in a Redis string.</p></p>
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td><p>The key in question (must be a string key)</p></td>
+ </tr>
+ <tr>
+ <td>int</td>
+ <td>$start</td>
+ <td><p>The index where Redis should start counting. If omitted it
+defaults to zero, which means the start of the string.</p></td>
+ </tr>
+ <tr>
+ <td>int</td>
+ <td>$end</td>
+ <td><p>The index where Redis should stop counting. If omitted it
+defaults to -1, meaning the very end of the string.</p></td>
+ </tr>
+ <tr>
+ <td>bool</td>
+ <td>$bybit</td>
+ <td><p>Whether or not Redis should treat $start and $end as bit
+positions, rather than bytes.</p></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>Redis|int|false</td>
+ <td><p>The number of bits set in the requested range.</p></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ <a href="https://redis.io/commands/bitcount/">https://redis.io/commands/bitcount/</a>
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_bitop">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L234">at line 234</a></div>
+ <code> Redis|int|false
+ <strong>bitop</strong>(string $operation, string $deskey, string $srckey, string ...$other_keys)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$operation</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>$deskey</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>$srckey</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>...$other_keys</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>Redis|int|false</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_bitpos">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L250">at line 250</a></div>
+ <code> Redis|int|false
+ <strong>bitpos</strong>(string $key, bool $bit, int $start = 0, int $end = -1, bool $bybit = false)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>Return the position of the first bit set to 0 or 1 in a string.</p></p>
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td><p>The key to check (must be a string)</p></td>
+ </tr>
+ <tr>
+ <td>bool</td>
+ <td>$bit</td>
+ <td><p>Whether to look for an unset (0) or set (1) bit.</p></td>
+ </tr>
+ <tr>
+ <td>int</td>
+ <td>$start</td>
+ <td><p>Where in the string to start looking.</p></td>
+ </tr>
+ <tr>
+ <td>int</td>
+ <td>$end</td>
+ <td><p>Where in the string to stop looking.</p></td>
+ </tr>
+ <tr>
+ <td>bool</td>
+ <td>$bybit</td>
+ <td><p>If true, Redis will treat $start and $end as BIT values and not bytes, so if start
+was 0 and end was 2, Redis would only search the first two bits.</p></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>Redis|int|false</td>
+ <td><p>The position of the first set or unset bit.</p></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ <a href="https://redis.io/commands/bitpos/">https://redis.io/commands/bitpos/</a>
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_blPop">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L275">at line 275</a></div>
+ <code> Redis|array|null|false
+ <strong>blPop</strong>(string|array $key_or_keys, string|float|int $timeout_or_key, mixed ...$extra_args)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>Pop an element off the beginning of a Redis list or lists, potentially blocking up to a specified
+timeout. This method may be called in two distinct ways, of which examples are provided below.</p></p>
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string|array</td>
+ <td>$key_or_keys</td>
+ <td><p>This can either be a string key or an array of one or more
+keys.</p></td>
+ </tr>
+ <tr>
+ <td>string|float|int</td>
+ <td>$timeout_or_key</td>
+ <td><p>If the previous argument was a string key, this can either
+be an additional key, or the timeout you wish to send to
+the command.</p>
+<pre><code>&lt;?php&gt;
+// One way to call this method is in a variadic way, with the final argument being
+// the intended timeout.
+$redis-&gt;blPop('list1', 'list2', 'list3', 1.5);
+
+// Alternatively, you can send an array of keys
+$relay-&gt;blPop(['list1', 'list2', 'list3'], 1.5);
+?&gt;</code></pre></td>
+ </tr>
+ <tr>
+ <td>mixed</td>
+ <td>...$extra_args</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>Redis|array|null|false</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ <a href="https://redis.io/commands/blpop/">https://redis.io/commands/blpop/</a>
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_brPop">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L285">at line 285</a></div>
+ <code> Redis|array|null|false
+ <strong>brPop</strong>(string|array $key_or_keys, string|float|int $timeout_or_key, mixed ...$extra_args)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>Pop an element off of the end of a Redis list or lists, potentially blocking up to a specified timeout.</p></p> <p><p>The calling convention is identical to Redis::blPop() so see that documentation for more details.</p></p>
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string|array</td>
+ <td>$key_or_keys</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string|float|int</td>
+ <td>$timeout_or_key</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>mixed</td>
+ <td>...$extra_args</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>Redis|array|null|false</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ <a href="https://redis.io/commands/brpop/">https://redis.io/commands/brpop/</a>
+ </td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>
+ <a href="Redis.html#method_blPop">
+Redis::blPop</a>
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_brpoplpush">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L299">at line 299</a></div>
+ <code> Redis|string|false
+ <strong>brpoplpush</strong>(string $src, string $dst, int|float $timeout)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>Pop an element from the end of a Redis list, pushing it to the beginning of another Redis list,
+optionally blocking up to a specified timeout.</p></p>
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$src</td>
+ <td><p>The source list</p></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>$dst</td>
+ <td><p>The destination list</p></td>
+ </tr>
+ <tr>
+ <td>int|float</td>
+ <td>$timeout</td>
+ <td><p>The number of seconds to wait. Note that you must be connected
+to Redis &gt;= 6.0.0 to send a floating point timeout.</p></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>Redis|string|false</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ <a href="https://redis.io/commands/brpoplpush/">https://redis.io/commands/brpoplpush/</a>
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_bzPopMax">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L329">at line 329</a></div>
+ <code> Redis|array|false
+ <strong>bzPopMax</strong>(string|array $key, string|int $timeout_or_key, mixed ...$extra_args)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>POP the maximum scoring element off of one or more sorted sets, blocking up to a specified
+timeout if no elements are available.</p></p>
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string|array</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string|int</td>
+ <td>$timeout_or_key</td>
+ <td><p>If the previous argument was an array, this argument
+must be a timeout value. Otherwise it could also be
+another key.</p></td>
+ </tr>
+ <tr>
+ <td>mixed</td>
+ <td>...$extra_args</td>
+ <td><p>Can consist of additional keys, until the last argument
+which needs to be a timeout.</p>
+<p>Following are examples of the two main ways to call this method.</p>
+<pre><code>
+&lt;?php
+// Method 1 - Variadic, with the last argument being our timeout
+$redis-&gt;bzPopMax('key1', 'key2', 'key3', 1.5);
+
+// Method 2 - A single array of keys, followed by the timeout
+$redis-&gt;bzPopMax(['key1', 'key2', 'key3'], 1.5);
+&lt;?php&gt;
+
+NOTE: We reccomend calling this function with an array and a timeout as the other strategy
+ may be deprecated in future versions of PhpRedis
+?&gt;</code></pre></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>Redis|array|false</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ <a href="https://redis.io/commands/bzpopmax">https://redis.io/commands/bzpopmax</a>
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_bzPopMin">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L341">at line 341</a></div>
+ <code> Redis|array|false
+ <strong>bzPopMin</strong>(string|array $key, string|int $timeout_or_key, mixed ...$extra_args)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>POP the minimum scoring element off of one or more sorted sets, blocking up to a specified timeout
+if no elements are available</p></p> <p><p>This command is identical in semantics to bzPopMax so please see that method for more information.</p></p>
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string|array</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string|int</td>
+ <td>$timeout_or_key</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>mixed</td>
+ <td>...$extra_args</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>Redis|array|false</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ <a href="https://redis.io/commands/bzpopmin">https://redis.io/commands/bzpopmin</a>
+ </td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>
+ <a href="Redis.html#method_bzPopMax">
+Redis::bzPopMax</a>
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_bzmpop">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L360">at line 360</a></div>
+ <code> Redis|array|null|false
+ <strong>bzmpop</strong>(float $timeout, array $keys, string $from, int $count = 1)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>POP one or more elements from one or more sorted sets, blocking up to a specified amount of time
+when no elements are available.</p></p>
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>float</td>
+ <td>$timeout</td>
+ <td><p>How long to block if there are no element available</p></td>
+ </tr>
+ <tr>
+ <td>array</td>
+ <td>$keys</td>
+ <td><p>The sorted sets to pop from</p></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>$from</td>
+ <td><p>The string 'MIN' or 'MAX' (case insensitive) telling Redis whether you wish to
+pop the lowest or highest scoring members from the set(s).</p></td>
+ </tr>
+ <tr>
+ <td>int</td>
+ <td>$count</td>
+ <td><p>Pop up to how many elements.</p></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>Redis|array|null|false</td>
+ <td><p>This function will return an array of popped elements, or false
+depending on whether any elements could be popped within the
+specified timeout.</p>
+<p>NOTE: If Redis::OPT_NULL_MULTIBULK_AS_NULL is set to true via Redis::setOption(), this method will
+instead return NULL when Redis doesn't pop any elements.</p></td>
+ </tr>
+ </table>
+
+
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_zmpop">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L374">at line 374</a></div>
+ <code> Redis|array|null|false
+ <strong>zmpop</strong>(array $keys, string $from, int $count = 1)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>POP one or more of the highest or lowest scoring elements from one or more sorted sets.</p></p>
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>array</td>
+ <td>$keys</td>
+ <td><p>One or more sorted sets</p></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>$from</td>
+ <td><p>The string 'MIN' or 'MAX' (case insensitive) telling Redis whether you want to
+pop the lowest or highest scoring elements.</p></td>
+ </tr>
+ <tr>
+ <td>int</td>
+ <td>$count</td>
+ <td><p>Pop up to how many elements at once.</p></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>Redis|array|null|false</td>
+ <td><p>An array of popped elements or false if none could be popped.</p></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ <a href="https://redis.io/commands/zmpop">https://redis.io/commands/zmpop</a>
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_blmpop">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L391">at line 391</a></div>
+ <code> Redis|array|null|false
+ <strong>blmpop</strong>(float $timeout, array $keys, string $from, int $count = 1)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>Pop one or more elements from one or more Redis LISTs, blocking up to a specified timeout when
+no elements are available.</p></p>
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>float</td>
+ <td>$timeout</td>
+ <td><p>The number of seconds Redis will block when no elements are available.</p></td>
+ </tr>
+ <tr>
+ <td>array</td>
+ <td>$keys</td>
+ <td><p>One or more Redis LISTs to pop from.</p></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>$from</td>
+ <td><p>The string 'LEFT' or 'RIGHT' (case insensitive), telling Redis whether
+to pop elements from the beginning or end of the LISTs.</p></td>
+ </tr>
+ <tr>
+ <td>int</td>
+ <td>$count</td>
+ <td><p>Pop up to how many elements at once.</p></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>Redis|array|null|false</td>
+ <td><p>One or more elements popped from the list(s) or false if all LISTs
+were empty.</p></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ <a href="https://redis.io/commands/blmpop">https://redis.io/commands/blmpop</a>
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_lmpop">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L407">at line 407</a></div>
+ <code> Redis|array|null|false
+ <strong>lmpop</strong>(array $keys, string $from, int $count = 1)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>Pop one or more elements off of one or more Redis LISTs.</p></p>
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>array</td>
+ <td>$keys</td>
+ <td><p>An array with one or more Redis LIST key names.</p></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>$from</td>
+ <td><p>The string 'LEFT' or 'RIGHT' (case insensitive), telling Redis whether to pop\
+elements from the beginning or end of the LISTs.</p></td>
+ </tr>
+ <tr>
+ <td>int</td>
+ <td>$count</td>
+ <td><p>The maximum number of elements to pop at once.</p></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>Redis|array|null|false</td>
+ <td><p>One or more elements popped from the LIST(s) or false if all the LISTs
+were empty.</p></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ <a href="https://redis.io/commands/lmpop">https://redis.io/commands/lmpop</a>
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_clearLastError">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L431">at line 431</a></div>
+ <code> bool
+ <strong>clearLastError</strong>()
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>Reset any last error on the connection to NULL</p></p>
+ </div>
+ <div class="tags">
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>bool</td>
+ <td><p>This should always return true or throw an exception if we're not connected.</p>
+<pre><code>&lt;?php
+$redis = new Redis(['host' =&gt; 'localhost']);
+
+$redis-&gt;set('string', 'this_is_a_string');
+$redis-&gt;smembers('string');
+
+var_dump($redis-&gt;getLastError());
+$redis-&gt;clearLastError();
+var_dump($redis-&gt;getLastError());
+
+// --- OUTPUT ---
+// string(65) "WRONGTYPE Operation against a key holding the wrong kind of value"
+// NULL
+?&gt;</code></pre></td>
+ </tr>
+ </table>
+
+
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_client">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L433">at line 433</a></div>
+ <code> mixed
+ <strong>client</strong>(string $opt, mixed ...$args)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$opt</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>mixed</td>
+ <td>...$args</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>mixed</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_close">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L435">at line 435</a></div>
+ <code> bool
+ <strong>close</strong>()
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>bool</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_command">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L437">at line 437</a></div>
+ <code> mixed
+ <strong>command</strong>(string $opt = null, string|array $arg)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$opt</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string|array</td>
+ <td>$arg</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>mixed</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_config">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L463">at line 463</a></div>
+ <code> mixed
+ <strong>config</strong>(string $operation, array|string|null $key_or_settings = NULL, string|null $value = NULL)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>Execute the Redis CONFIG command in a variety of ways. What the command does in particular depends
+on the <code>$operation</code> qualifier.</p></p> <p><p>Operations that PhpRedis supports are: RESETSTAT, REWRITE, GET, and SET.</p></p>
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$operation</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>array|string|null</td>
+ <td>$key_or_settings</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string|null</td>
+ <td>$value</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>mixed</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ <a href="https://redis.io/commands/config">https://redis.io/commands/config</a>
+ </td>
+ <td>@param string $operation The CONFIG subcommand to execute
+@param array|string|null $key_or_setting Can either be a setting string for the GET/SET operation or
+ an array of settings or settings and values.
+ Note: Redis 7.0.0 is required to send an array of settings.
+@param string $value The setting value when the operation is SET.
+
+<code>
+<?php
+$redis->config('GET', 'timeout');
+$redis->config('GET', ['timeout', 'databases']);
+
+$redis->config('SET', 'timeout', 30);
+$redis->config('SET', ['timeout' => 30, 'loglevel' => 'warning']);
+?>
+</code></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_connect">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L465">at line 465</a></div>
+ <code> bool
+ <strong>connect</strong>(string $host, int $port = 6379, float $timeout = 0, string $persistent_id = null, int $retry_interval = 0, float $read_timeout = 0, array $context = null)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$host</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>int</td>
+ <td>$port</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>float</td>
+ <td>$timeout</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>$persistent_id</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>int</td>
+ <td>$retry_interval</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>float</td>
+ <td>$read_timeout</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>array</td>
+ <td>$context</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>bool</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_copy">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L517">at line 517</a></div>
+ <code> Redis|bool
+ <strong>copy</strong>(string $src, string $dst, array $options = null)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>Make a copy of a redis key.</p></p>
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$src</td>
+ <td><p>The key to copy</p></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>$dst</td>
+ <td><p>The name of the new key created from the source key.</p></td>
+ </tr>
+ <tr>
+ <td>array</td>
+ <td>$options</td>
+ <td><p>An array with modifiers on how COPY should operate.</p>
+<p>Available Options:</p>
+<p>$options = [
+'REPLACE' =&gt; true|false // Whether Redis should replace an existing key.
+'DB' =&gt; int // Copy the key to a specific DB.
+];</p></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>Redis|bool</td>
+ <td><p>True if the copy was completed and false if not.</p>
+<pre><code>&lt;?php
+$redis = new Redis(['host' =&gt; 'localhost']);
+
+$redis-&gt;pipeline()
+ -&gt;select(1)
+ -&gt;del('newkey')
+ -&gt;select(0)
+ -&gt;del('newkey')
+ -&gt;mset(['source1' =&gt; 'value1', 'exists' =&gt; 'old_value'])
+ -&gt;exec();
+
+// Will succeed, as 'newkey' doesn't exist
+var_dump($redis-&gt;copy('source1', 'newkey'));
+
+// Will succeed, because 'newkey' doesn't exist in DB 1
+var_dump($redis-&gt;copy('source1', 'newkey', ['db' =&gt; 1]));
+
+// Will fail, because 'exists' does exist
+var_dump($redis-&gt;copy('source1', 'exists'));
+
+// Will succeed, because even though 'exists' is a key, we sent the REPLACE option.
+var_dump($redis-&gt;copy('source1', 'exists', ['REPLACE' =&gt; true]));
+
+// --- OUTPUT ---
+// bool(true)
+// bool(true)
+// bool(false)
+// bool(true)
+?&gt;</code></pre></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ <a href="https://redis.io/commands/copy">https://redis.io/commands/copy</a>
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_dbSize">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L543">at line 543</a></div>
+ <code> Redis|int|false
+ <strong>dbSize</strong>()
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>Return the number of keys in the currently selected Redis database.</p></p>
+ </div>
+ <div class="tags">
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>Redis|int|false</td>
+ <td><p>The number of keys or false on failure.</p>
+<pre><code>
+&lt;?php
+$redis = new Redis(['host' =&gt; 'localhost']);
+
+$redis-&gt;flushdb();
+
+$redis-&gt;set('foo', 'bar');
+var_dump($redis-&gt;dbsize());
+
+$redis-&gt;mset(['a' =&gt; 'a', 'b' =&gt; 'b', 'c' =&gt; 'c', 'd' =&gt; 'd']);
+var_dump($redis-&gt;dbsize());
+
+// --- OUTPUT
+// int(1)
+// int(5)
+?&gt;</code></pre></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ <a href="https://redis.io/commands/dbsize">https://redis.io/commands/dbsize</a>
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_debug">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L545">at line 545</a></div>
+ <code> Redis|string
+ <strong>debug</strong>(string $key)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>Redis|string</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_decr">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L576">at line 576</a></div>
+ <code> Redis|int|false
+ <strong>decr</strong>(string $key, int $by = 1)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>Decrement a Redis integer by 1 or a provided value.</p></p>
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td><p>The key to decrement</p></td>
+ </tr>
+ <tr>
+ <td>int</td>
+ <td>$by</td>
+ <td><p>How much to decrement the key. Note that if this value is
+not sent or is set to <code>1</code>, PhpRedis will actually invoke
+the 'DECR' command. If it is any value other than <code>1</code>
+PhpRedis will actually send the <code>DECRBY</code> command.</p></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>Redis|int|false</td>
+ <td><p>The new value of the key or false on failure.</p>
+<pre><code>&lt;?php
+$redis = new Redis(['host' =&gt; 'localhost']);
+
+$redis-&gt;set('counter', 3);
+
+var_dump($redis-&gt;decr('counter'));
+var_dump($redis-&gt;decr('counter', 2));
+
+// --- OUTPUT ---
+// int(2)
+// int(0)
+?&gt;</code></pre></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ <a href="https://redis.io/commands/decr">https://redis.io/commands/decr</a>
+ </td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>
+ <a href="https://redis.io/commands/decrby">https://redis.io/commands/decrby</a>
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_decrBy">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L602">at line 602</a></div>
+ <code> Redis|int|false
+ <strong>decrBy</strong>(string $key, int $value)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>Decrement a redis integer by a value</p></p>
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td><p>The integer key to decrement.</p></td>
+ </tr>
+ <tr>
+ <td>int</td>
+ <td>$value</td>
+ <td><p>How much to decrement the key.</p></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>Redis|int|false</td>
+ <td><p>The new value of the key or false on failure.</p>
+<pre><code>&lt;?php
+$redis = new Redis(['host' =&gt; 'localhost');
+
+$redis-&gt;set('counter', 3);
+var_dump($redis-&gt;decrby('counter', 1));
+var_dump($redis-&gt;decrby('counter', 2));
+
+// --- OUTPUT ---
+// int(2)
+// int(0)
+?&gt;</code></pre></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ <a href="https://redis.io/commands/decrby">https://redis.io/commands/decrby</a>
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_del">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L634">at line 634</a></div>
+ <code> Redis|int|false
+ <strong>del</strong>(array|string $key, string ...$other_keys)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>Delete one or more keys from Redis.</p></p>
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>array|string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>...$other_keys</td>
+ <td><p>One or more additional keys passed in a variadic fashion.</p>
+<p>This method can be called in two distinct ways. The first is to pass a single array
+of keys to delete, and the second is to pass N arguments, all names of keys. See
+below for an example of both strategies.</p>
+<pre><code>&lt;?php
+$redis = new Redis(['host' =&gt; 'localhost']);
+
+for ($i = 0; $i &lt; 5; $i++) {
+ $redis-&gt;set("key:$i", "val:$i");
+}
+
+var_dump($redis-&gt;del('key:0', 'key:1'));
+var_dump($redis-&gt;del(['key:2', 'key:3', 'key:4']));
+
+// --- OUTPUT ---
+// int(2)
+// int(3)
+?&gt;</code></pre></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>Redis|int|false</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ <a href="https://redis.io/commands/del">https://redis.io/commands/del</a>
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_delete">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L640">at line 640</a></div>
+ <code> Redis|int|false
+ <strong>delete</strong>(array|string $key, string ...$other_keys)
+ <small><span class="label label-danger">deprecated</span></small></code>
+ </h3>
+ <div class="details">
+ <p>
+ <small><span class="label label-danger">deprecated</span></small>
+ <tr>
+ <td></td>
+ <td></td>
+ </tr>
+ </p>
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>array|string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>...$other_keys</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>Redis|int|false</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_discard">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L665">at line 665</a></div>
+ <code> Redis|bool
+ <strong>discard</strong>()
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>Discard a transaction currently in progress.</p></p>
+ </div>
+ <div class="tags">
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>Redis|bool</td>
+ <td><p>True if we could discard the transaction.</p>
+<pre><code>&lt;?php
+$redis = new Redis(['host' =&gt; 'localhost']);
+
+$redis-&gt;multi()-&gt;set('foo', 'bar')-&gt;get('foo');
+
+// Redis::MULTI
+$redis-&gt;getMode();
+
+// Discard the in-progress transaction
+$redis-&gt;discard();
+
+// Redis::ATOMIC
+$redis-&gt;getMode();
+
+?&gt;</code></pre></td>
+ </tr>
+ </table>
+
+
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_dump">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L701">at line 701</a></div>
+ <code> Redis|string
+ <strong>dump</strong>(string $key)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>Dump Redis' internal binary representation of a key.</p></p>
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td><p>The key to dump.</p></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>Redis|string</td>
+ <td><p>A binary string representing the key's value.</p>
+<pre><code>&lt;?php
+$redis = new Redis(['host' =&gt; 'localhost']);
+
+$redis-&gt;del('zset');
+
+$redis-&gt;zadd('zset', 0, 'zero', 1, 'one', 2, 'two');
+
+// Retrieve the binary representation of the zset
+$binary = $redis-&gt;dump('zset');
+
+// Retore it to a different name
+$redis-&gt;restore('new-zset', 0, $binary);
+
+// Array
+// (
+// [zero] =&gt; 0
+// [one] =&gt; 1
+// [two] =&gt; 2
+// )
+$redis-&gt;zRange('new-zset', 0, -1, true);
+?&gt;</code></pre></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ <a href="https://redis.io/commands/dump">https://redis.io/commands/dump</a>
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_echo">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L724">at line 724</a></div>
+ <code> Redis|string|false
+ <strong>echo</strong>(string $str)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>Have Redis repeat back an arbitrary string to the client.</p></p>
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$str</td>
+ <td><p>The string to echo</p></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>Redis|string|false</td>
+ <td><p>The string sent to Redis or false on failure.</p>
+<pre><code>&lt;?php
+$redis = new Redis(['host' =&gt; 'localhost']);
+
+var_dump($redis-&gt;echo('Hello, World'));
+
+// --- OUTPUT ---
+// string(12) "Hello, World"
+
+?&gt;</code></pre></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ <a href="https://redis.io/commands/echo">https://redis.io/commands/echo</a>
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_eval">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L740">at line 740</a></div>
+ <code> mixed
+ <strong>eval</strong>(string $script, array $args = [], int $num_keys = 0)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>Execute a LUA script on the redis server.</p></p>
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$script</td>
+ <td><p>A string containing the LUA script</p></td>
+ </tr>
+ <tr>
+ <td>array</td>
+ <td>$args</td>
+ <td><p>An array of arguments to pass to this script</p></td>
+ </tr>
+ <tr>
+ <td>int</td>
+ <td>$num_keys</td>
+ <td><p>How many of the arguments are keys. This is needed
+as redis distinguishes between key name arguments
+and other data.</p></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>mixed</td>
+ <td><p>LUA scripts may return arbitrary data so this method can return
+strings, arrays, nested arrays, etc.</p></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ <a href="https://redis.io/commands/eval/">https://redis.io/commands/eval/</a>
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_eval_ro">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L748">at line 748</a></div>
+ <code> mixed
+ <strong>eval_ro</strong>(string $script_sha, array $args = [], int $num_keys = 0)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>This is simply the read-only variant of eval, meaning the underlying script
+may not modify data in redis.</p></p>
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$script_sha</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>array</td>
+ <td>$args</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>int</td>
+ <td>$num_keys</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>mixed</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ <a href="Redis.html#method_eval">
+Redis::eval</a>
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_evalsha">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L764">at line 764</a></div>
+ <code> mixed
+ <strong>evalsha</strong>(string $sha1, array $args = [], int $num_keys = 0)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>Execute a LUA script on the server but instead of sending the script, send
+the SHA1 hash of the script.</p></p>
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$sha1</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>array</td>
+ <td>$args</td>
+ <td><p>Arguments to send to the script.</p></td>
+ </tr>
+ <tr>
+ <td>int</td>
+ <td>$num_keys</td>
+ <td><p>The number of arguments that are keys</p></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>mixed</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ <a href="https://redis.io/commands/evalsha/">https://redis.io/commands/evalsha/</a>
+ </td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>
+ <a href="Redis.html#method_eval">
+Redis::eval</a>
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_evalsha_ro">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L772">at line 772</a></div>
+ <code> mixed
+ <strong>evalsha_ro</strong>(string $sha1, array $args = [], int $num_keys = 0)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>This is simply the read-only variant of evalsha, meaning the underlying script
+may not modify data in redis.</p></p>
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$sha1</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>array</td>
+ <td>$args</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>int</td>
+ <td>$num_keys</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>mixed</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ <a href="Redis.html#method_evalsha">
+Redis::evalsha</a>
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_exec">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L810">at line 810</a></div>
+ <code> Redis|array|false
+ <strong>exec</strong>()
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>Execute either a MULTI or PIPELINE block and return the array of replies.</p></p>
+ </div>
+ <div class="tags">
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>Redis|array|false</td>
+ <td><p>The array of pipeline'd or multi replies or false on failure.</p>
+<pre><code>$redis = new Redis(['host' =&gt; 'localhost']);
+
+$res = $redis-&gt;multi()
+ -&gt;set('foo', 'bar')
+ -&gt;get('foo')
+ -&gt;del('list')
+ -&gt;rpush('list', 'one', 'two', 'three')
+ -&gt;exec();
+
+var_dump($res);
+
+// --- OUTPUT ---
+// array(4) {
+// [0]=&gt;
+// bool(true) // set('foo', 'bar')
+// [1]=&gt;
+// string(3) "bar" // get('foo')
+// [2]=&gt;
+// int(1) // del('list')
+// [3]=&gt;
+// int(3) // rpush('list', 'one', 'two', 'three')
+// }
+?&gt;</code></pre></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ <a href="https://redis.io/commands/exec">https://redis.io/commands/exec</a>
+ </td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>
+ <a href="https://redis.io/commands/multi">https://redis.io/commands/multi</a>
+ </td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>
+ <a href="Redis.html#method_pipeline">
+Redis::pipeline</a>
+ </td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>
+ <a href="Redis.html#method_multi">
+Redis::multi</a>
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_exists">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L843">at line 843</a></div>
+ <code> Redis|int|bool
+ <strong>exists</strong>(mixed $key, mixed ...$other_keys)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>Test if one or more keys exist.</p></p>
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>mixed</td>
+ <td>$key</td>
+ <td><p>Either an array of keys or a string key</p></td>
+ </tr>
+ <tr>
+ <td>mixed</td>
+ <td>...$other_keys</td>
+ <td><p>If the previous argument was a string, you may send any number of
+additional keys to test.</p></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>Redis|int|bool</td>
+ <td><p>The number of keys that do exist and false on failure</p>
+<pre><code>&lt;?php
+$redis = new Redis(['host' =&gt; 'localhost']);
+
+$redis-&gt;multi()
+ -&gt;mset(['k1' =&gt; 'v1', 'k2' =&gt; 'v2', 'k3' =&gt; 'v3', 'k4' =&gt; 'v4'])
+ -&gt;exec();
+
+// Using a single array of keys
+var_dump($redis-&gt;exists(['k1', 'k2', 'k3']));
+
+// Calling via variadic arguments
+var_dump($redis-&gt;exists('k4', 'k5', 'notakey'));
+
+// --- OUTPUT ---
+// int(3)
+// int(1)
+?&gt;</code></pre></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ <a href="https://redis.io/commands/exists">https://redis.io/commands/exists</a>
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_expire">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L860">at line 860</a></div>
+ <code> Redis|bool
+ <strong>expire</strong>(string $key, int $timeout, string|null $mode = NULL)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>Sets an expiration in seconds on the key in question. If connected to
+redis-server &gt;= 7.0.0 you may send an additional &quot;mode&quot; argument which
+modifies how the command will execute.</p></p>
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td><p>The key to set an expiration on.</p></td>
+ </tr>
+ <tr>
+ <td>int</td>
+ <td>$timeout</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string|null</td>
+ <td>$mode</td>
+ <td><p>A two character modifier that changes how the
+command works.
+NX - Set expiry only if key has no expiry
+XX - Set expiry only if key has an expiry
+LT - Set expiry only when new expiry is &lt; current expiry
+GT - Set expiry only when new expiry is &gt; current expiry</p></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>Redis|bool</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ <a href="https://redis.io/commands/expire">https://redis.io/commands/expire</a>
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_expireAt">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L872">at line 872</a></div>
+ <code> Redis|bool
+ <strong>expireAt</strong>(string $key, int $timestamp, string|null $mode = NULL)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>Set a key's expiration to a specific Unix timestamp in seconds. If
+connected to Redis &gt;= 7.0.0 you can pass an optional 'mode' argument.</p></p>
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>int</td>
+ <td>$timestamp</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string|null</td>
+ <td>$mode</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>Redis|bool</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ <a href="Redis.html#method_expire">
+Redis::expire</a>
+ </td>
+ <td>For a description of the mode argument.
+
+@param string $key The key to set an expiration on.
+@param string $mode A two character modifier that changes how the
+ command works.</td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_failover">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L874">at line 874</a></div>
+ <code> Redis|bool
+ <strong>failover</strong>(array|null $to = null, bool $abort = false, int $timeout = 0)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>array|null</td>
+ <td>$to</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>bool</td>
+ <td>$abort</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>int</td>
+ <td>$timeout</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>Redis|bool</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_expiretime">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L903">at line 903</a></div>
+ <code> Redis|int|false
+ <strong>expiretime</strong>(string $key)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>Get the expiration of a given key as a unix timestamp</p></p>
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td><p>The key to check.</p></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>Redis|int|false</td>
+ <td><p>The timestamp when the key expires, or -1 if the key has no expiry
+and -2 if the key doesn't exist.</p>
+<pre><code>&lt;?php
+$redis = new Redis(['host' =&gt; 'localhost']);
+
+$redis-&gt;set('expiry-key', 'this will last a very long time');
+
+// Expire this key at 2222/02/22 02:22:22 GMT
+$redis-&gt;expireAt('expiry-key', 7955144542);
+
+var_dump($redis-&gt;expiretime('expiry-key'));
+
+// --- OUTPUT ---
+// int(7955144542)
+
+?&gt;php</code></pre></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ <a href="https://redis.io/commands/expiretime">https://redis.io/commands/expiretime</a>
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_pexpiretime">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L916">at line 916</a></div>
+ <code> Redis|int|false
+ <strong>pexpiretime</strong>(string $key)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>Get the expriation timestamp of a given Redis key but in milliseconds.</p></p>
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td><p>The key to check</p></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>Redis|int|false</td>
+ <td><p>The expiration timestamp of this key (in milliseconds) or -1 if the
+key has no expiration, and -2 if it does not exist.</p></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ <a href="https://redis.io/commands/pexpiretime">https://redis.io/commands/pexpiretime</a>
+ </td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>
+ <a href="Redis.html#method_expiretime">
+Redis::expiretime</a>
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_flushAll">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L928">at line 928</a></div>
+ <code> Redis|bool
+ <strong>flushAll</strong>(bool|null $sync = null)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>Deletes every key in all Redis databases</p></p>
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>bool|null</td>
+ <td>$sync</td>
+ <td><p>Whether to perform the task in a blocking or non-blocking way.
+when TRUE, PhpRedis will execute <code>FLUSHALL SYNC</code>, and when FALSE we
+will execute <code>FLUSHALL ASYNC</code>. If the argument is omitted, we
+simply execute <code>FLUSHALL</code> and whether it is SYNC or ASYNC depends
+on Redis' <code>lazyfree-lazy-user-flush</code> config setting.</p></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>Redis|bool</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_flushDB">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L940">at line 940</a></div>
+ <code> Redis|bool
+ <strong>flushDB</strong>(bool|null $sync = null)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>Deletes all the keys of the currently selected database.</p></p>
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>bool|null</td>
+ <td>$sync</td>
+ <td><p>Whether to perform the task in a blocking or non-blocking way.
+when TRUE, PhpRedis will execute <code>FLUSHDB SYNC</code>, and when FALSE we
+will execute <code>FLUSHDB ASYNC</code>. If the argument is omitted, we
+simply execute <code>FLUSHDB</code> and whether it is SYNC or ASYNC depends
+on Redis' <code>lazyfree-lazy-user-flush</code> config setting.</p></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>Redis|bool</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_geoadd">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L942">at line 942</a></div>
+ <code> Redis|int|false
+ <strong>geoadd</strong>(string $key, float $lng, float $lat, string $member, mixed ...$other_triples_and_options)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>float</td>
+ <td>$lng</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>float</td>
+ <td>$lat</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>$member</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>mixed</td>
+ <td>...$other_triples_and_options</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>Redis|int|false</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_geodist">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L944">at line 944</a></div>
+ <code> Redis|float|false
+ <strong>geodist</strong>(string $key, string $src, string $dst, string|null $unit = null)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>$src</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>$dst</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string|null</td>
+ <td>$unit</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>Redis|float|false</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_geohash">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L946">at line 946</a></div>
+ <code> Redis|array|false
+ <strong>geohash</strong>(string $key, string $member, string ...$other_members)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>$member</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>...$other_members</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>Redis|array|false</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_geopos">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L948">at line 948</a></div>
+ <code> Redis|array|false
+ <strong>geopos</strong>(string $key, string $member, string ...$other_members)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>$member</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>...$other_members</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>Redis|array|false</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_georadius">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L950">at line 950</a></div>
+ <code> mixed
+ <strong>georadius</strong>(string $key, float $lng, float $lat, float $radius, string $unit, array $options = [])
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>float</td>
+ <td>$lng</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>float</td>
+ <td>$lat</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>float</td>
+ <td>$radius</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>$unit</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>array</td>
+ <td>$options</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>mixed</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_georadius_ro">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L952">at line 952</a></div>
+ <code> mixed
+ <strong>georadius_ro</strong>(string $key, float $lng, float $lat, float $radius, string $unit, array $options = [])
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>float</td>
+ <td>$lng</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>float</td>
+ <td>$lat</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>float</td>
+ <td>$radius</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>$unit</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>array</td>
+ <td>$options</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>mixed</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_georadiusbymember">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L954">at line 954</a></div>
+ <code> mixed
+ <strong>georadiusbymember</strong>(string $key, string $member, float $radius, string $unit, array $options = [])
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>$member</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>float</td>
+ <td>$radius</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>$unit</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>array</td>
+ <td>$options</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>mixed</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_georadiusbymember_ro">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L956">at line 956</a></div>
+ <code> mixed
+ <strong>georadiusbymember_ro</strong>(string $key, string $member, float $radius, string $unit, array $options = [])
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>$member</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>float</td>
+ <td>$radius</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>$unit</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>array</td>
+ <td>$options</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>mixed</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_geosearch">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L958">at line 958</a></div>
+ <code> array
+ <strong>geosearch</strong>(string $key, array|string $position, array|int|float $shape, string $unit, array $options = [])
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>array|string</td>
+ <td>$position</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>array|int|float</td>
+ <td>$shape</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>$unit</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>array</td>
+ <td>$options</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>array</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_geosearchstore">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L960">at line 960</a></div>
+ <code> Redis|array|int|false
+ <strong>geosearchstore</strong>(string $dst, string $src, array|string $position, array|int|float $shape, string $unit, array $options = [])
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$dst</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>$src</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>array|string</td>
+ <td>$position</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>array|int|float</td>
+ <td>$shape</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>$unit</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>array</td>
+ <td>$options</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>Redis|array|int|false</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_get">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L962">at line 962</a></div>
+ <code> mixed
+ <strong>get</strong>(string $key)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>mixed</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_getAuth">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L971">at line 971</a></div>
+ <code> mixed
+ <strong>getAuth</strong>()
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>Get the authentication information on the connection, if any.</p></p>
+ </div>
+ <div class="tags">
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>mixed</td>
+ <td><p>The authentication information used to authenticate the connection.</p></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ <a href="Redis.html#method_auth">
+Redis::auth</a>
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_getBit">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L973">at line 973</a></div>
+ <code> Redis|int|false
+ <strong>getBit</strong>(string $key, int $idx)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>int</td>
+ <td>$idx</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>Redis|int|false</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_getEx">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L975">at line 975</a></div>
+ <code> Redis|string|bool
+ <strong>getEx</strong>(string $key, array $options = [])
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>array</td>
+ <td>$options</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>Redis|string|bool</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_getDBNum">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L977">at line 977</a></div>
+ <code> int
+ <strong>getDBNum</strong>()
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>int</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_getDel">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L979">at line 979</a></div>
+ <code> Redis|string|bool
+ <strong>getDel</strong>(string $key)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>Redis|string|bool</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_getHost">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L986">at line 986</a></div>
+ <code> string
+ <strong>getHost</strong>()
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>Return the host or Unix socket we are connected to.</p></p>
+ </div>
+ <div class="tags">
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td><p>The host or Unix socket.</p></td>
+ </tr>
+ </table>
+
+
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_getLastError">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L993">at line 993</a></div>
+ <code> string|null
+ <strong>getLastError</strong>()
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>Get the last error returned to us from Redis, if any.</p></p>
+ </div>
+ <div class="tags">
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string|null</td>
+ <td><p>The error string or NULL if there is none.</p></td>
+ </tr>
+ </table>
+
+
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_getMode">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L1001">at line 1001</a></div>
+ <code> int
+ <strong>getMode</strong>()
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>Returns whether the connection is in ATOMIC, MULTI, or PIPELINE mode</p></p>
+ </div>
+ <div class="tags">
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>int</td>
+ <td><p>The mode we're in.</p></td>
+ </tr>
+ </table>
+
+
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_getOption">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L1010">at line 1010</a></div>
+ <code> mixed
+ <strong>getOption</strong>(int $option)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>Retrieve the value of a configuration setting as set by Redis::setOption()</p></p>
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>int</td>
+ <td>$option</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>mixed</td>
+ <td><p>The setting itself or false on failure</p></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ <a href="Redis.html#method_setOption">
+Redis::setOption</a>
+ </td>
+ <td>for a detailed list of options and their values.</td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_getPersistentID">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L1017">at line 1017</a></div>
+ <code> string|null
+ <strong>getPersistentID</strong>()
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>Get the persistent connection ID, if there is one.</p></p>
+ </div>
+ <div class="tags">
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string|null</td>
+ <td><p>The ID or NULL if we don't have one.</p></td>
+ </tr>
+ </table>
+
+
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_getPort">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L1024">at line 1024</a></div>
+ <code> int
+ <strong>getPort</strong>()
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>Get the port we are connected to. This number will be zero if we are connected to a unix socket.</p></p>
+ </div>
+ <div class="tags">
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>int</td>
+ <td><p>The port.</p></td>
+ </tr>
+ </table>
+
+
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_getRange">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L1049">at line 1049</a></div>
+ <code> Redis|string|false
+ <strong>getRange</strong>(string $key, int $start, int $end)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>Retrieve a substring of a string by index.</p></p>
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td><p>The string to query.</p></td>
+ </tr>
+ <tr>
+ <td>int</td>
+ <td>$start</td>
+ <td><p>The zero-based starting index.</p></td>
+ </tr>
+ <tr>
+ <td>int</td>
+ <td>$end</td>
+ <td><p>The zero-based ending index.</p></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>Redis|string|false</td>
+ <td><p>The substring or false on failure.</p>
+<pre><code>
+&lt;?php
+$redis = new Redis(['host' =&gt; 'localhost']);
+
+$word = 'Supercalifragilisticexpialidocious';
+$redis-&gt;set('silly-word', $word);
+
+// string "super"
+var_dump($redis-&gt;getRange('silly-word', 0, 4));
+
+// string(7) "docious"
+var_dump($redis-&gt;getRange('silly-word', -7, -1));
+?&gt;</code></pre></td>
+ </tr>
+ </table>
+
+
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_lcs">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L1089">at line 1089</a></div>
+ <code> Redis|string|array|int|false
+ <strong>lcs</strong>(string $key1, string $key2, array|null $options = NULL)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>Get the longest common subsequence between two string keys.</p></p>
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key1</td>
+ <td><p>The first key to check</p></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>$key2</td>
+ <td><p>The second key to check</p></td>
+ </tr>
+ <tr>
+ <td>array|null</td>
+ <td>$options</td>
+ <td><p>An optional array of modifiers for the comand.</p>
+<pre><code>$options = [
+ 'MINMATCHLEN' =&gt; int // Exclude matching substrings that are less than this value
+
+ 'WITHMATCHLEN' =&gt; bool // Whether each match should also include its length.
+
+ 'LEN' // Return the length of the longest subsequence
+
+ 'IDX' // Each returned match will include the indexes where the
+ // match occurs in each string.
+];</code></pre>
+<p>NOTE: 'LEN' cannot be used with 'IDX'.</p></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>Redis|string|array|int|false</td>
+ <td><p>Various reply types depending on options.</p>
+<pre><code>
+&lt;?php
+&lt;?php
+
+$redis = new Redis(['host' =&gt; 'localhost']);
+
+$redis-&gt;set('seq1', 'gtaggcccgcacggtctttaatgtatccctgtttaccatgccatacctgagcgcatacgc');
+$redis-&gt;set('seq2', 'aactcggcgcgagtaccaggccaaggtcgttccagagcaaagactcgtgccccgctgagc');
+
+// string(37) "acccgcacggcaagtcgttccagcaactggcgctagc"
+var_dump($redis-&gt;lcs('seq1', 'seq2'));
+?&gt;</code></pre></td>
+ </tr>
+ </table>
+
+
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_getReadTimeout">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L1096">at line 1096</a></div>
+ <code> float
+ <strong>getReadTimeout</strong>()
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>Get the currently set read timeout on the connection.</p></p>
+ </div>
+ <div class="tags">
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>float</td>
+ <td><p>The timeout.</p></td>
+ </tr>
+ </table>
+
+
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_getset">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L1120">at line 1120</a></div>
+ <code> Redis|string|false
+ <strong>getset</strong>(string $key, mixed $value)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>Sets a key and returns any previously set value, if the key already existed.</p></p>
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td><p>The key to set.</p></td>
+ </tr>
+ <tr>
+ <td>mixed</td>
+ <td>$value</td>
+ <td><p>The value to set the key to.</p></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>Redis|string|false</td>
+ <td><p>The old value of the key or false if it didn't exist.</p>
+<pre><code>&lt;?php
+$redis = new Redis(['host' =&gt; 'localhost']);
+
+$redis-&gt;del('captain');
+
+// bool(false)
+var_dump($redis-&gt;getset('captain', 'Pike'));
+
+// string(4) "Pike"
+var_dump($redis-&gt;getset('captain', 'Kirk'));
+?&gt;</code></pre></td>
+ </tr>
+ </table>
+
+
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_getTimeout">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L1127">at line 1127</a></div>
+ <code> float|false
+ <strong>getTimeout</strong>()
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>Retrieve any set connection timeout</p></p>
+ </div>
+ <div class="tags">
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>float|false</td>
+ <td><p>The currently set timeout or false on failure (e.g. we aren't connected).</p></td>
+ </tr>
+ </table>
+
+
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_getTransferredBytes">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L1129">at line 1129</a></div>
+ <code> int|false
+ <strong>getTransferredBytes</strong>()
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>int|false</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_hDel">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L1155">at line 1155</a></div>
+ <code> Redis|int|false
+ <strong>hDel</strong>(string $key, string $field, string ...$other_fields)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>Remove one or more fields from a hash.</p></p>
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td><p>The hash key in question.</p></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>$field</td>
+ <td><p>The first field to remove</p></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>...$other_fields</td>
+ <td><p>One or more additional fields to remove.</p></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>Redis|int|false</td>
+ <td><p>The number of fields actually removed.</p>
+<pre><code>&lt;?php
+$redis = new Redis(['host' =&gt; 'localhost']);
+
+$redis-&gt;del('people');
+
+$redis-&gt;hmset('comms', ['Alice' =&gt; 'ecc', 'Bob' =&gt; 'rsa', 'Mallory' =&gt; 'haxx00r']);
+
+// int(1)
+$redis-&gt;hDel('comms', 'Mallory', 'Archibald');
+?&gt;</code></pre></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ <a href="https://redis.io/commands/hdel">https://redis.io/commands/hdel</a>
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_hExists">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L1183">at line 1183</a></div>
+ <code> Redis|bool
+ <strong>hExists</strong>(string $key, string $field)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>Checks whether a field exists in a hash.</p></p>
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td><p>The hash to query.</p></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>$field</td>
+ <td><p>The field to check</p></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>Redis|bool</td>
+ <td><p>True if it exists, false if not.</p>
+<pre><code>&lt;?php
+$redis = new Redis(['host' =&gt; 'localhost']);
+
+$redis-&gt;del('captains');
+
+$redis-&gt;hmset('captains', ['Kirk' =&gt; 'Enterprise', 'Picard' =&gt; 'Enterprise-D', 'Sisko' =&gt; 'Defiant']);
+
+bool(false)
+$redis-&gt;hExists('captains', 'Pike');
+
+bool(true)
+$redis-&gt;hExists('captains', 'Picard');
+?&gt;</code></pre></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ <a href="https://redis.io/commands/hexists">https://redis.io/commands/hexists</a>
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_hGet">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L1185">at line 1185</a></div>
+ <code> mixed
+ <strong>hGet</strong>(string $key, string $member)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>$member</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>mixed</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_hGetAll">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L1216">at line 1216</a></div>
+ <code> Redis|array|false
+ <strong>hGetAll</strong>(string $key)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>Read every field and value from a hash.</p></p>
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td><p>The hash to query.</p></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>Redis|array|false</td>
+ <td><p>All fields and values or false if the key didn't exist.</p>
+<pre><code>&lt;?php
+$redis = new Redis(['host' =&gt; 'localhost']);
+
+$redis-&gt;del('comms');
+
+$redis-&gt;hmset('comms', ['Alice' =&gt; 'ecc', 'Bob' =&gt; 'rsa', 'Mallory' =&gt; 'haxx00r']);
+
+// array(3) {
+// ["Alice"]=&gt;
+// string(3) "ecc"
+// ["Bob"]=&gt;
+// string(3) "rsa"
+// ["Mallory"]=&gt;
+// string(7) "haxx00r"
+// }
+$redis-&gt;hGetAll('comms');
+?&gt;</code></pre></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ <a href="https://redis.io/commands/hgetall">https://redis.io/commands/hgetall</a>
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_hIncrBy">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L1246">at line 1246</a></div>
+ <code> Redis|int|false
+ <strong>hIncrBy</strong>(string $key, string $field, int $value)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>Increment a hash field's value by an integer</p></p>
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td><p>The hash to modify</p></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>$field</td>
+ <td><p>The field to increment</p></td>
+ </tr>
+ <tr>
+ <td>int</td>
+ <td>$value</td>
+ <td><p>How much to increment the value.</p></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>Redis|int|false</td>
+ <td><p>The new value of the field.</p>
+<pre><code>&lt;?php
+$redis = new Redis(['host' =&gt; 'localhost']);
+
+$redis-&gt;del('player');
+
+$redis-&gt;hmset('player', ['name' =&gt; 'Bob', 'level' =&gt; 1]);
+
+// int(2)
+$redis-&gt;hIncrBy('player', 'level', 1);
+
+// int(5)
+$redis-&gt;hIncrBy('player', 'level', 3);
+?&gt;</code></pre></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ <a href="https://redis.io/commands/hincrby">https://redis.io/commands/hincrby</a>
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_hIncrByFloat">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L1271">at line 1271</a></div>
+ <code> Redis|float|false
+ <strong>hIncrByFloat</strong>(string $key, string $field, float $value)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>Increment a hash field by a floating point value</p></p>
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td><p>The hash with the field to increment.</p></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>$field</td>
+ <td><p>The field to increment.</p></td>
+ </tr>
+ <tr>
+ <td>float</td>
+ <td>$value</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>Redis|float|false</td>
+ <td><p>The field value after incremented.</p>
+<pre><code>$redis = new Redis(['host' =&gt; 'localhost']);
+
+$redis-&gt;del('trig-numbers')
+
+// float(3.1415926)
+$pi = $redis-&gt;hIncrByFloat('trig-numbers', 'pi', 3.1415926);
+
+// float(6.2831852)
+$redis-&gt;hIncrByFloat('trig-numbers', 'tau', 2 * $pi);
+?&gt;</code></pre></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ <a href="https://redis.io/commands/hincrbyfloat">https://redis.io/commands/hincrbyfloat</a>
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_hKeys">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L1302">at line 1302</a></div>
+ <code> Redis|array|false
+ <strong>hKeys</strong>(string $key)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>Retrieve all of the fields of a hash.</p></p>
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td><p>The hash to query.</p></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>Redis|array|false</td>
+ <td><p>The fields in the hash or false if the hash doesn't exist.</p>
+<pre><code>&lt;?php
+$redis = new Redis(['host' =&gt; 'localhost']);
+
+$redis-&gt;del('ships');
+
+$redis-&gt;hmset('ships', ['Enterprise' =&gt; 'NCC-1701D', 'Defiant' =&gt; 'NX-74205', 'Voyager' =&gt; 'NCC-74656']);
+
+// array(3) {
+// [0]=&gt;
+// string(10) "Enterprise"
+// [1]=&gt;
+// string(7) "Defiant"
+// [2]=&gt;
+// string(7) "Voyager"
+// }
+$redis-&gt;hKeys('ships');
+?&gt;</code></pre></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ <a href="https://redis.io/commands/hkeys">https://redis.io/commands/hkeys</a>
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_hLen">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L1313">at line 1313</a></div>
+ <code> Redis|int|false
+ <strong>hLen</strong>(string $key)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>Get the number of fields in a hash.</p></p>
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td><p>The hash to check.</p></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>Redis|int|false</td>
+ <td><p>The number of fields or false if the key didn't exist.</p></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ <a href="https://redis.io/commands/hlen">https://redis.io/commands/hlen</a>
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_hMget">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L1343">at line 1343</a></div>
+ <code> Redis|array|false
+ <strong>hMget</strong>(string $key, array $fields)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>Get one or more fields from a hash.</p></p>
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td><p>The hash to query.</p></td>
+ </tr>
+ <tr>
+ <td>array</td>
+ <td>$fields</td>
+ <td><p>One or more fields to query in the hash.</p></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>Redis|array|false</td>
+ <td><p>The fields and values or false if the key didn't exist.</p>
+<pre><code>&lt;?php
+$redis = new Redis(['host' =&gt; 'localhost']);
+
+$redis-&gt;del('player:1');
+
+$redis-&gt;hmset('player:1', ['name' =&gt; 'Alice', 'age' =&gt; '26', 'score' =&gt; '1337']);
+
+// array(2) {
+// ["name"]=&gt;
+// string(5) "Alice"
+// ["score"]=&gt;
+// string(4) "1337"
+// }
+$redis-&gt;hmget('player:1', ['name', 'score']);
+?&gt;</code></pre></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ <a href="https://redis.io/commands/hmget">https://redis.io/commands/hmget</a>
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_hMset">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L1363">at line 1363</a></div>
+ <code> Redis|bool
+ <strong>hMset</strong>(string $key, array $fieldvals)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>Add or update one or more hash fields and values</p></p>
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td><p>The hash to create/update</p></td>
+ </tr>
+ <tr>
+ <td>array</td>
+ <td>$fieldvals</td>
+ <td><p>An associative array with fields and their values.</p></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>Redis|bool</td>
+ <td><p>True if the operation was successful</p>
+<pre><code>&lt;?php
+$redis = new Redis(['host' =&gt; 'localhost']);
+
+$redis-&gt;hmset('updates', ['status' =&gt; 'starting', 'elapsed' =&gt; 0]);
+?&gt;</code></pre></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ <a href="https://redis.io/commands/hmset">https://redis.io/commands/hmset</a>
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_hRandField">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L1396">at line 1396</a></div>
+ <code> Redis|string|array
+ <strong>hRandField</strong>(string $key, array $options = null)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>Get one or more random field from a hash.</p></p>
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td><p>The hash to query.</p></td>
+ </tr>
+ <tr>
+ <td>array</td>
+ <td>$options</td>
+ <td><p>An array of options to modify how the command behaves.</p>
+<pre><code>$options = [
+ 'COUNT' =&gt; int // An optional number of fields to return.
+ 'WITHVALUES' =&gt; bool // Also return the field values.
+];</code></pre></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>Redis|string|array</td>
+ <td><p>One or more random fields (and possibly values).</p>
+<pre><code>&lt;?php
+$redis = new Redis(['host' =&gt; 'localhost']);
+
+$redis-&gt;del('settings');
+
+$redis-&gt;hmset('settings', ['path' =&gt; '/', 'state' =&gt; 'active', 'jobs' =&gt; 15]);
+
+$redis-&gt;hrandfield('settings');
+
+$redis-&gt;hrandfield('settings', ['count' =&gt; 2, 'withvalues' =&gt; true]);
+?&gt;</code></pre></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ <a href="https://redis.io/commands/hrandfield">https://redis.io/commands/hrandfield</a>
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_hSet">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L1398">at line 1398</a></div>
+ <code> Redis|int|false
+ <strong>hSet</strong>(string $key, string $member, mixed $value)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>$member</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>mixed</td>
+ <td>$value</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>Redis|int|false</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_hSetNx">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L1424">at line 1424</a></div>
+ <code> Redis|bool
+ <strong>hSetNx</strong>(string $key, string $field, string $value)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>Set a hash field and value, but only if that field does not exist</p></p>
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td><p>The hash to update.</p></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>$field</td>
+ <td><p>The value to set.</p></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>$value</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>Redis|bool</td>
+ <td><p>True if the field was set and false if not.</p>
+<pre><code>$redis = new Redis(['host' =&gt; 'localhost']);
+
+$redis-&gt;del('player:1');
+
+$redis-&gt;hmset('player:1', ['name' =&gt; 'bob', 'score' =&gt; 0]);
+
+// bool(true)
+var_dump($redis-&gt;hsetnx('player:1', 'lock', 'enabled'));
+
+// bool(false)
+var_dump($redis-&gt;hsetnx('player:1', 'lock', 'enabled'));</code></pre></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ <a href="https://redis.io/commands/hsetnx">https://redis.io/commands/hsetnx</a>
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_hStrLen">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L1448">at line 1448</a></div>
+ <code> Redis|int|false
+ <strong>hStrLen</strong>(string $key, string $field)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>Get the string length of a hash field</p></p>
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td><p>The hash to query.</p></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>$field</td>
+ <td><p>The field to query.</p></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>Redis|int|false</td>
+ <td><p>The string length of the field or false.</p>
+<pre><code>&lt;?php
+$redis = new Redis(['host' =&gt; 'localhost']);
+
+$redis-&gt;del('hash');
+$redis-&gt;hmset('hash', ['50bytes' =&gt; str_repeat('a', 50)]);
+
+// int(50)
+$redis-&gt;hstrlen('hash', '50bytes');
+</code></pre></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ <a href="https://redis.io/commands/hstrlen">https://redis.io/commands/hstrlen</a>
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_hVals">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L1477">at line 1477</a></div>
+ <code> Redis|array|false
+ <strong>hVals</strong>(string $key)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>Get all of the values from a hash.</p></p>
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td><p>The hash to query.</p></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>Redis|array|false</td>
+ <td><p>The values from the hash.</p>
+<pre><code>&lt;?php
+$redis = new Redis(['host' =&gt; 'localhost']);
+
+$redis-&gt;del('player');
+
+$redis-&gt;hmset('player', ['name' =&gt; 'Alice', 'score' =&gt; 1337]);
+
+// array(2) {
+// ["name"]=&gt;
+// string(5) "Alice"
+// ["score"]=&gt;
+// string(4) "1337"
+// }
+$redis-&gt;hgetall('player');
+?&gt;</code></pre></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ <a href="https://redis.io/commands/hvals">https://redis.io/commands/hvals</a>
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_hscan">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L1532">at line 1532</a></div>
+ <code> Redis|array|bool
+ <strong>hscan</strong>(string $key, int|null $iterator, string|null $pattern = null, int $count = 0)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>Iterate over the fields and values of a hash in an incremental fashion.</p></p>
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td><p>The hash to query.</p></td>
+ </tr>
+ <tr>
+ <td>int|null</td>
+ <td>$iterator</td>
+ <td><p>The scan iterator, which should be initialized to NULL before the first call.
+This value will be updated after every call to hscan, until it reaches zero
+meaning the scan is complete.</p></td>
+ </tr>
+ <tr>
+ <td>string|null</td>
+ <td>$pattern</td>
+ <td><p>An optional glob-style pattern to filter fields with.</p></td>
+ </tr>
+ <tr>
+ <td>int</td>
+ <td>$count</td>
+ <td><p>An optional hint to Redis about how many fields and values to return per HSCAN.</p></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>Redis|array|bool</td>
+ <td><p>An array with a subset of fields and values.</p>
+<pre><code>&lt;?php
+$redis = new Redis(['host' =&gt; 'localhost']);
+
+$redis-&gt;del('big-hash');
+
+for ($i = 0; $i &lt; 1000; $i++) {
+ $fields["field:$i"] = "value:$i";
+}
+
+$redis-&gt;hmset('big-hash', $fields);
+
+$it = NULL;
+
+do {
+ // Scan the hash but limit it to fields that match '*:1?3'
+ $fields = $redis-&gt;hscan('big-hash', $it, '*:1?3');
+
+ foreach ($fields as $field =&gt; $value) {
+ echo "[$field] =&gt; $value\n";
+ }
+} while ($it != 0);
+
+// --- OUTPUT ---
+// [field:143] =&gt; value:143
+// [field:133] =&gt; value:133
+// [field:163] =&gt; value:163
+// [field:183] =&gt; value:183
+// [field:153] =&gt; value:153
+// [field:113] =&gt; value:113
+// [field:103] =&gt; value:103
+// [field:193] =&gt; value:193
+// [field:123] =&gt; value:123
+// [field:173] =&gt; value:173
+?&gt;</code></pre></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ <a href="https://redis.io/commands/hscan">https://redis.io/commands/hscan</a>
+ </td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>
+ <a href="https://redis.io/commands/scan">https://redis.io/commands/scan</a>
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_incr">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L1559">at line 1559</a></div>
+ <code> Redis|int|false
+ <strong>incr</strong>(string $key, int $by = 1)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>Increment a key's value, optionally by a specifc amount.</p></p>
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td><p>The key to increment</p></td>
+ </tr>
+ <tr>
+ <td>int</td>
+ <td>$by</td>
+ <td><p>An optional amount to increment by.</p></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>Redis|int|false</td>
+ <td><p>The new value of the key after incremented.</p>
+<pre><code>&lt;?php
+$redis = new Redis(['host' =&gt; 'localhost']);
+
+$redis-&gt;set('counter', 1);
+
+// int(2);
+$redis-&gt;incr('counter');
+
+// int(4);
+$redis-&gt;incr('counter', 2);
+?&gt;</code></pre></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ <a href="https://redis.io/commands/incr">https://redis.io/commands/incr</a>
+ </td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>
+ <a href="https://redis.io/commands/incrby">https://redis.io/commands/incrby</a>
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_incrBy">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L1590">at line 1590</a></div>
+ <code> Redis|int|false
+ <strong>incrBy</strong>(string $key, int $value)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>Increment a key by a specific integer value</p></p>
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td><p>The key to increment.</p></td>
+ </tr>
+ <tr>
+ <td>int</td>
+ <td>$value</td>
+ <td><p>The amount to increment.</p>
+<pre><code>&lt;?php
+
+$redis = new Redis(['host' =&gt; 'localhost']);
+
+$redis-&gt;set('primes', 2);
+
+// int(3)
+$redis-&gt;incrby('primes', 1);
+
+// int(5)
+$redis-&gt;incrby('primes', 2);
+
+// int(7)
+$redis-&gt;incrby('primes', 2);
+
+// int(11)
+$redis-&gt;incrby('primes', 4);
+?&gt;</code></pre></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>Redis|int|false</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ <a href="https://redis.io/commands/incrby">https://redis.io/commands/incrby</a>
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_incrByFloat">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L1614">at line 1614</a></div>
+ <code> Redis|float|false
+ <strong>incrByFloat</strong>(string $key, float $value)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>Increment a numeric key by a floating point value.</p></p>
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td><p>The key to increment</p></td>
+ </tr>
+ <tr>
+ <td>float</td>
+ <td>$value</td>
+ <td><p>How much to increment (or decrement) the value.</p></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>Redis|float|false</td>
+ <td><p>The new value of the key or false if the key didn't contain a string.</p>
+<pre><code>&lt;?php
+$redis = new Redis(['host' =&gt; 'localhost']);
+
+$redis-&gt;del('tau');
+
+// float(3.1415926)
+var_dump($redis-&gt;incrByFloat('tau', 3.1415926));
+
+// float(6.2831852)
+var_dump($redis-&gt;incrByFloat('tau', 3.1415926));
+?&gt;</code></pre></td>
+ </tr>
+ </table>
+
+
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_info">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L1630">at line 1630</a></div>
+ <code> Redis|array|false
+ <strong>info</strong>(string ...$sections)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>Retrieve information about the connected redis-server. If no arguments are passed to
+this function, redis will return every info field. Alternatively you may pass a specific
+section you want returned (e.g. 'server', or 'memory') to receive only information pertaining
+to that section.</p></p> <p><p>If connected to Redis server &gt;= 7.0.0 you may pass multiple optional sections.</p></p>
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>...$sections</td>
+ <td><p>Optional section(s) you wish Redis server to return.</p></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>Redis|array|false</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ <a href="https://redis.io/commands/info/">https://redis.io/commands/info/</a>
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_isConnected">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L1637">at line 1637</a></div>
+ <code> bool
+ <strong>isConnected</strong>()
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>Check if we are currently connected to a Redis instance.</p></p>
+ </div>
+ <div class="tags">
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>bool</td>
+ <td><p>True if we are, false if not</p></td>
+ </tr>
+ </table>
+
+
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_keys">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L1640">at line 1640</a></div>
+ <code> <a href="Redis.html">Redis</a>|array|false
+ <strong>keys</strong>(string $pattern)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$pattern</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td><a href="Redis.html">Redis</a>|array|false</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_lInsert">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L1646">at line 1646</a></div>
+ <code> <a href="Redis.html">Redis</a>|int|false
+ <strong>lInsert</strong>(string $key, string $pos, mixed $pivot, mixed $value)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>$pos</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>mixed</td>
+ <td>$pivot</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>mixed</td>
+ <td>$value</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td><a href="Redis.html">Redis</a>|int|false</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_lLen">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L1648">at line 1648</a></div>
+ <code> Redis|int|false
+ <strong>lLen</strong>(string $key)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>Redis|int|false</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_lMove">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L1650">at line 1650</a></div>
+ <code> Redis|string|false
+ <strong>lMove</strong>(string $src, string $dst, string $wherefrom, string $whereto)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$src</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>$dst</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>$wherefrom</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>$whereto</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>Redis|string|false</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_lPop">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L1652">at line 1652</a></div>
+ <code> Redis|bool|string|array
+ <strong>lPop</strong>(string $key, int $count = 0)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>int</td>
+ <td>$count</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>Redis|bool|string|array</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_lPos">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L1654">at line 1654</a></div>
+ <code> Redis|null|bool|int|array
+ <strong>lPos</strong>(string $key, mixed $value, array $options = null)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>mixed</td>
+ <td>$value</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>array</td>
+ <td>$options</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>Redis|null|bool|int|array</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_lPush">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L1660">at line 1660</a></div>
+ <code> int|<a href="Redis.html">Redis</a>
+ <strong>lPush</strong>(string $key, mixed ...$elements)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>mixed</td>
+ <td>...$elements</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>int|<a href="Redis.html">Redis</a></td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_rPush">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L1666">at line 1666</a></div>
+ <code> <a href="Redis.html">Redis</a>|int|false
+ <strong>rPush</strong>(string $key, mixed ...$elements)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>mixed</td>
+ <td>...$elements</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td><a href="Redis.html">Redis</a>|int|false</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_lPushx">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L1669">at line 1669</a></div>
+ <code> <a href="Redis.html">Redis</a>|int|false
+ <strong>lPushx</strong>(string $key, mixed $value)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>mixed</td>
+ <td>$value</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td><a href="Redis.html">Redis</a>|int|false</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_rPushx">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L1672">at line 1672</a></div>
+ <code> <a href="Redis.html">Redis</a>|int|false
+ <strong>rPushx</strong>(string $key, mixed $value)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>mixed</td>
+ <td>$value</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td><a href="Redis.html">Redis</a>|int|false</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_lSet">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L1674">at line 1674</a></div>
+ <code> Redis|bool
+ <strong>lSet</strong>(string $key, int $index, mixed $value)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>int</td>
+ <td>$index</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>mixed</td>
+ <td>$value</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>Redis|bool</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_lastSave">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L1676">at line 1676</a></div>
+ <code> int
+ <strong>lastSave</strong>()
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>int</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_lindex">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L1678">at line 1678</a></div>
+ <code> mixed
+ <strong>lindex</strong>(string $key, int $index)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>int</td>
+ <td>$index</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>mixed</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_lrange">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L1680">at line 1680</a></div>
+ <code> Redis|array|false
+ <strong>lrange</strong>(string $key, int $start, int $end)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>int</td>
+ <td>$start</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>int</td>
+ <td>$end</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>Redis|array|false</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_lrem">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L1685">at line 1685</a></div>
+ <code> int|<a href="Redis.html">Redis</a>|false
+ <strong>lrem</strong>(string $key, mixed $value, int $count = 0)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>mixed</td>
+ <td>$value</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>int</td>
+ <td>$count</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>int|<a href="Redis.html">Redis</a>|false</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_ltrim">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L1687">at line 1687</a></div>
+ <code> Redis|bool
+ <strong>ltrim</strong>(string $key, int $start, int $end)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>int</td>
+ <td>$start</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>int</td>
+ <td>$end</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>Redis|bool</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_mget">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L1690">at line 1690</a></div>
+ <code> array|<a href="Redis.html">Redis</a>
+ <strong>mget</strong>(array $keys)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>array</td>
+ <td>$keys</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>array|<a href="Redis.html">Redis</a></td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_migrate">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L1692">at line 1692</a></div>
+ <code> Redis|bool
+ <strong>migrate</strong>(string $host, int $port, string|array $key, int $dstdb, int $timeout, bool $copy = false, bool $replace = false, mixed $credentials = NULL)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$host</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>int</td>
+ <td>$port</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string|array</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>int</td>
+ <td>$dstdb</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>int</td>
+ <td>$timeout</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>bool</td>
+ <td>$copy</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>bool</td>
+ <td>$replace</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>mixed</td>
+ <td>$credentials</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>Redis|bool</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_move">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L1696">at line 1696</a></div>
+ <code> bool
+ <strong>move</strong>(string $key, int $index)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>int</td>
+ <td>$index</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>bool</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_mset">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L1698">at line 1698</a></div>
+ <code> Redis|bool
+ <strong>mset</strong>(array $key_values)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>array</td>
+ <td>$key_values</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>Redis|bool</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_msetnx">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L1700">at line 1700</a></div>
+ <code> Redis|bool
+ <strong>msetnx</strong>(array $key_values)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>array</td>
+ <td>$key_values</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>Redis|bool</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_multi">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L1702">at line 1702</a></div>
+ <code> bool|Redis
+ <strong>multi</strong>(int $value = Redis::MULTI)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>int</td>
+ <td>$value</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>bool|Redis</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_object">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L1704">at line 1704</a></div>
+ <code> Redis|int|string|false
+ <strong>object</strong>(string $subcommand, string $key)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$subcommand</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>Redis|int|string|false</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_open">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L1710">at line 1710</a></div>
+ <code> bool
+ <strong>open</strong>(string $host, int $port = 6379, float $timeout = 0, string $persistent_id = NULL, int $retry_interval = 0, float $read_timeout = 0, array $context = NULL)
+ <small><span class="label label-danger">deprecated</span></small></code>
+ </h3>
+ <div class="details">
+ <p>
+ <small><span class="label label-danger">deprecated</span></small>
+ <tr>
+ <td></td>
+ <td></td>
+ </tr>
+ </p>
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$host</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>int</td>
+ <td>$port</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>float</td>
+ <td>$timeout</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>$persistent_id</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>int</td>
+ <td>$retry_interval</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>float</td>
+ <td>$read_timeout</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>array</td>
+ <td>$context</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>bool</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_pconnect">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L1712">at line 1712</a></div>
+ <code> bool
+ <strong>pconnect</strong>(string $host, int $port = 6379, float $timeout = 0, string $persistent_id = NULL, int $retry_interval = 0, float $read_timeout = 0, array $context = NULL)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$host</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>int</td>
+ <td>$port</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>float</td>
+ <td>$timeout</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>$persistent_id</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>int</td>
+ <td>$retry_interval</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>float</td>
+ <td>$read_timeout</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>array</td>
+ <td>$context</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>bool</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_persist">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L1714">at line 1714</a></div>
+ <code> bool
+ <strong>persist</strong>(string $key)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>bool</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_pexpire">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L1728">at line 1728</a></div>
+ <code> bool
+ <strong>pexpire</strong>(string $key, int $timeout, string|null $mode = NULL)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>Sets an expiration in milliseconds on a given key. If connected to Redis &gt;= 7.0.0
+you can pass an optional mode argument that modifies how the command will execute.</p></p> <p><p><a href="Redis.html">Redis::expire()</a> for a description of the mode argument.</p></p>
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td><p>The key to set an expiration on.
+@param string $mode A two character modifier that changes how the
+command works.</p>
+<p>@return Redis|bool True if an expiry was set on the key, and false otherwise.</p></td>
+ </tr>
+ <tr>
+ <td>int</td>
+ <td>$timeout</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string|null</td>
+ <td>$mode</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>bool</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_pexpireAt">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L1742">at line 1742</a></div>
+ <code> Redis|bool
+ <strong>pexpireAt</strong>(string $key, int $timestamp, string|null $mode = NULL)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>Set a key's expiration to a specific Unix Timestamp in milliseconds. If connected to
+Redis &gt;= 7.0.0 you can pass an optional 'mode' argument.</p></p>
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>int</td>
+ <td>$timestamp</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string|null</td>
+ <td>$mode</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>Redis|bool</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ <a href="Redis.html#method_expire">
+Redis::expire</a>
+ </td>
+ <td>For a description of the mode argument.
+
+@param string $key The key to set an expiration on.
+@param string $mode A two character modifier that changes how the
+ command works.
+
+@return Redis|bool True if an expiration was set on the key, false otherwise.</td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_pfadd">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L1755">at line 1755</a></div>
+ <code> Redis|int
+ <strong>pfadd</strong>(string $key, array $elements)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>Add one or more elements to a Redis HyperLogLog key</p></p>
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td><p>The key in question.</p></td>
+ </tr>
+ <tr>
+ <td>array</td>
+ <td>$elements</td>
+ <td><p>One or more elements to add.</p></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>Redis|int</td>
+ <td><p>Returns 1 if the set was altered, and zero if not.</p></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ <a href="https://redis.io/commands/pfadd">https://redis.io/commands/pfadd</a>
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_pfcount">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L1766">at line 1766</a></div>
+ <code> Redis|int
+ <strong>pfcount</strong>(string $key)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>Retrieve the cardinality of a Redis HyperLogLog key.</p></p>
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td><p>The key name we wish to query.</p></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>Redis|int</td>
+ <td><p>The estimated cardinality of the set.</p></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ <a href="https://redis.io/commands/pfcount">https://redis.io/commands/pfcount</a>
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_pfmerge">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L1778">at line 1778</a></div>
+ <code> Redis|bool
+ <strong>pfmerge</strong>(string $dst, array $srckeys)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>Merge one or more source HyperLogLog sets into a destination set.</p></p>
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$dst</td>
+ <td><p>The destination key.</p></td>
+ </tr>
+ <tr>
+ <td>array</td>
+ <td>$srckeys</td>
+ <td><p>One or more source keys.</p></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>Redis|bool</td>
+ <td><p>Always returns true.</p></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ <a href="https://redis.io/commands/pfmerge">https://redis.io/commands/pfmerge</a>
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_ping">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L1802">at line 1802</a></div>
+ <code> Redis|string|bool
+ <strong>ping</strong>(string $message = NULL)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>PING the redis server with an optional string argument.</p></p>
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$message</td>
+ <td><p>An optional string message that Redis will reply with, if passed.</p></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>Redis|string|bool</td>
+ <td><p>If passed no message, this command will simply return <code>true</code>.
+If a message is passed, it will return the message.</p>
+<pre><code>&lt;?php
+$redis = new Redis(['host' =&gt; 'localhost']);
+
+// bool(true)
+$redis-&gt;ping();
+
+// string(9) "beep boop"
+$redis-&gt;ping('beep boop');
+?&gt;</code></pre></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ <a href="https://redis.io/commands/ping">https://redis.io/commands/ping</a>
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_pipeline">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L1836">at line 1836</a></div>
+ <code> bool|Redis
+ <strong>pipeline</strong>()
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>Enter into pipeline mode.</p></p> <p><p>Pipeline mode is the highest performance way to send many commands to Redis
+as they are aggregated into one stream of commands and then all sent at once
+when the user calls Redis::exec().</p>
+<p>NOTE: That this is shorthand for Redis::multi(Redis::PIPELINE)</p></p>
+ </div>
+ <div class="tags">
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>bool|Redis</td>
+ <td><p>The redis object is returned, to facilitate method chaining.</p>
+<pre><code>&lt;?php
+$redis = new Redis(['host' =&gt; 'localhost']);
+
+// array(3) {
+// [0]=&gt;
+// bool(true)
+// [1]=&gt;
+// int(0)
+// [2]=&gt;
+// int(3)
+// }
+$redis-&gt;pipeline()
+ -&gt;set('foo', 'bar')
+ -&gt;del('mylist')
+ -&gt;rpush('mylist', 'a', 'b', 'c')
+ -&gt;exec();
+?&gt;</code></pre></td>
+ </tr>
+ </table>
+
+
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_popen">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L1842">at line 1842</a></div>
+ <code> bool
+ <strong>popen</strong>(string $host, int $port = 6379, float $timeout = 0, string $persistent_id = NULL, int $retry_interval = 0, float $read_timeout = 0, array $context = NULL)
+ <small><span class="label label-danger">deprecated</span></small></code>
+ </h3>
+ <div class="details">
+ <p>
+ <small><span class="label label-danger">deprecated</span></small>
+ <tr>
+ <td></td>
+ <td></td>
+ </tr>
+ </p>
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$host</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>int</td>
+ <td>$port</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>float</td>
+ <td>$timeout</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>$persistent_id</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>int</td>
+ <td>$retry_interval</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>float</td>
+ <td>$read_timeout</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>array</td>
+ <td>$context</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>bool</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_psetex">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L1845">at line 1845</a></div>
+ <code> bool|<a href="Redis.html">Redis</a>
+ <strong>psetex</strong>(string $key, int $expire, mixed $value)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>int</td>
+ <td>$expire</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>mixed</td>
+ <td>$value</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>bool|<a href="Redis.html">Redis</a></td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_psubscribe">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L1861">at line 1861</a></div>
+ <code> bool
+ <strong>psubscribe</strong>(array $patterns, callable $cb)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>Subscribe to one or more glob-style patterns</p></p>
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>array</td>
+ <td>$patterns</td>
+ <td><p>One or more patterns to subscribe to.</p></td>
+ </tr>
+ <tr>
+ <td>callable</td>
+ <td>$cb</td>
+ <td><p>A callback with the following prototype:</p>
+<pre><code>function ($redis, $channel, $message) { }</code></pre></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>bool</td>
+ <td><p>True if we were subscribed.</p></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ <a href="https://redis.io/commands/psubscribe">https://redis.io/commands/psubscribe</a>
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_pttl">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L1886">at line 1886</a></div>
+ <code> Redis|int|false
+ <strong>pttl</strong>(string $key)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>Get a keys time to live in milliseconds.</p></p>
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td><p>The key to check.</p></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>Redis|int|false</td>
+ <td><p>The keys TTL or false on failure.</p>
+<p>NOTE: -1 means a key has no TTL and -2 means the key doesn't exist.</p>
+<pre><code>&lt;?php
+
+$redis = new Redis(['host' =&gt; 'localhost']);
+
+$redis-&gt;setex('ttl-key', 60, 'ttl-value');
+
+// int(60000)
+var_dump($redis-&gt;pttl('ttl-key'));
+?&gt;</code></pre></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ <a href="https://redis.io/commands/pttl">https://redis.io/commands/pttl</a>
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_publish">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L1898">at line 1898</a></div>
+ <code> Redis|int|false
+ <strong>publish</strong>(string $channel, string $message)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>Publish a message to a pubsub channel</p></p>
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$channel</td>
+ <td><p>The channel to publish to.</p></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>$message</td>
+ <td><p>The message itself.</p></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>Redis|int|false</td>
+ <td><p>The number of subscribed clients to the given channel.</p></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ <a href="https://redis.io/commands/publish">https://redis.io/commands/publish</a>
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_pubsub">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L1900">at line 1900</a></div>
+ <code> mixed
+ <strong>pubsub</strong>(string $command, mixed $arg = null)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$command</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>mixed</td>
+ <td>$arg</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>mixed</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_punsubscribe">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L1913">at line 1913</a></div>
+ <code> Redis|array|bool
+ <strong>punsubscribe</strong>(array $patterns)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>Unsubscribe from one or more channels by pattern</p></p>
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>array</td>
+ <td>$patterns</td>
+ <td><p>One or more glob-style patterns of channel names.</p></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>Redis|array|bool</td>
+ <td><p>The array of subscribed patterns or false on failure.</p></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ <a href="https://redis.io/commands/punsubscribe">https://redis.io/commands/punsubscribe</a>
+ </td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>
+ <a href="https://redis.io/commands/subscribe">https://redis.io/commands/subscribe</a>
+ </td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>
+ <a href="Redis.html#method_subscribe">
+Redis::subscribe</a>
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_rPop">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L1946">at line 1946</a></div>
+ <code> Redis|array|string|bool
+ <strong>rPop</strong>(string $key, int $count = 0)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>Pop one or more elements from the end of a list.</p></p>
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td><p>A redis LIST key name.</p></td>
+ </tr>
+ <tr>
+ <td>int</td>
+ <td>$count</td>
+ <td><p>The maximum number of elements to pop at once.</p>
+<p>NOTE: The <code>count</code> argument requires Redis &gt;= 6.2.0</p></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>Redis|array|string|bool</td>
+ <td><p>One ore more popped elements or false if all were empty.</p>
+<pre><code>&lt;?php
+&lt;?php
+$redis = new Redis(['host' =&gt; 'localhost']);
+
+$redis-&gt;del('mylist');
+$redis-&gt;rPush('mylist', 'one', 'two', 'three');
+
+// string(5) "three"
+$redis-&gt;rPop('mylist');
+
+// string(3) "two"
+$redis-&gt;rPop('mylist');
+
+// string(3) "one"
+$redis-&gt;rPop('mylist');
+?&gt;</code></pre></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ <a href="https://redis.io/commands/rpop">https://redis.io/commands/rpop</a>
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_randomKey">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L1956">at line 1956</a></div>
+ <code> Redis|string|false
+ <strong>randomKey</strong>()
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>Return a random key from the current database</p></p>
+ </div>
+ <div class="tags">
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>Redis|string|false</td>
+ <td><p>A random key name or false if no keys exist</p></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ <a href="https://redis.io/commands/randomkey">https://redis.io/commands/randomkey</a>
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_rawcommand">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L1988">at line 1988</a></div>
+ <code> mixed
+ <strong>rawcommand</strong>(string $command, mixed ...$args)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>Execute any arbitrary Redis command by name.</p></p>
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$command</td>
+ <td><p>The command to execute</p></td>
+ </tr>
+ <tr>
+ <td>mixed</td>
+ <td>...$args</td>
+ <td><p>One or more arguments to pass to the command.</p>
+<pre><code>&lt;?php
+
+$redis = new Redis(['host' =&gt; 'localhost']);
+
+$redis-&gt;rawCommand('del', 'mystring', 'mylist');
+$redis-&gt;rawCommand('set', 'mystring', 'myvalue');
+$redis-&gt;rawCommand('rpush', 'mylist', 'one', 'two', 'three');
+
+// string(7) "myvalue"
+$redis-&gt;rawCommand('get', 'mystring');
+
+// array(3) {
+// [0]=&gt;
+// string(3) "one"
+// [1]=&gt;
+// string(3) "two"
+// [2]=&gt;
+// string(5) "three"
+// }
+$redis-&gt;rawCommand('lrange', 'mylist', 0, -1);
+?&gt;</code></pre></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>mixed</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_rename">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L2000">at line 2000</a></div>
+ <code> Redis|bool
+ <strong>rename</strong>(string $old_name, string $new_name)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>Unconditionally rename a key from $old_name to $new_name</p></p>
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$old_name</td>
+ <td><p>The original name of the key</p></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>$new_name</td>
+ <td><p>The new name for the key</p></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>Redis|bool</td>
+ <td><p>True if the key was renamed or false if not.</p></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ <a href="https://redis.io/commands/rename">https://redis.io/commands/rename</a>
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_renameNx">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L2029">at line 2029</a></div>
+ <code> Redis|bool
+ <strong>renameNx</strong>(string $key_src, string $key_dst)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>Renames $key_src to $key_dst but only if newkey does not exist.</p></p>
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key_src</td>
+ <td><p>The source key name</p></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>$key_dst</td>
+ <td><p>The destination key name.</p></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>Redis|bool</td>
+ <td><p>True if the key was renamed, false if not.</p>
+<pre><code>&lt;?php
+$redis = new Redis(['host' =&gt; 'localhost']);
+
+$redis-&gt;del('src', 'dst', 'existing-dst');
+
+$redis-&gt;set('src', 'src_key');
+$redis-&gt;set('existing-dst', 'i_exist');
+
+// bool(true)
+$redis-&gt;renamenx('src', 'dst');
+
+// bool(false)
+$redis-&gt;renamenx('dst', 'existing-dst');
+?&gt;</code></pre></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ <a href="https://redis.io/commands/renamenx">https://redis.io/commands/renamenx</a>
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_reset">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L2036">at line 2036</a></div>
+ <code> Redis|bool
+ <strong>reset</strong>()
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>Reset the state of the connection.</p></p>
+ </div>
+ <div class="tags">
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>Redis|bool</td>
+ <td><p>Should always return true unless there is an error.</p></td>
+ </tr>
+ </table>
+
+
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_restore">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L2097">at line 2097</a></div>
+ <code> Redis|bool
+ <strong>restore</strong>(string $key, int $ttl, string $value, array|null $options = NULL)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>Restore a key by the binary payload generated by the DUMP command.</p></p>
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td><p>The name of the key you wish to create.</p></td>
+ </tr>
+ <tr>
+ <td>int</td>
+ <td>$ttl</td>
+ <td><p>What Redis should set the key's TTL (in milliseconds) to once it is created.
+Zero means no TTL at all.</p></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>$value</td>
+ <td><p>The serialized binary value of the string (generated by DUMP).</p></td>
+ </tr>
+ <tr>
+ <td>array|null</td>
+ <td>$options</td>
+ <td><p>An array of additional options that modifies how the command operates.</p>
+<pre><code>$options = [
+ 'ABSTTL' // If this is present, the `$ttl` provided by the user should
+ // be an absolute timestamp, in milliseconds()
+
+ 'REPLACE' // This flag instructs Redis to store the key even if a key with
+ // that name already exists.
+
+ 'IDLETIME' =&gt; int // Tells Redis to set the keys internal 'idletime' value to a
+ // specific number (see the Redis command OBJECT for more info).
+ 'FREQ' =&gt; int // Tells Redis to set the keys internal 'FREQ' value to a specific
+ // number (this relates to Redis' LFU eviction algorithm).
+];</code></pre></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>Redis|bool</td>
+ <td><p>True if the key was stored, false if not.</p>
+<pre><code>&lt;?php
+$redis = new Redis(['host' =&gt; 'localhost']);
+
+$redis-&gt;del('captains');
+
+$redis-&gt;sAdd('captains', 'Janeway', 'Picard', 'Sisko', 'Kirk', 'Archer');
+
+$serialized = $redis-&gt;dump('captains');
+
+$redis-&gt;select(1);
+$redis-&gt;restore('captains-backup', 0, $serialized);
+
+//array(5) {
+// [0]=&gt;
+// string(6) "Archer"
+// [1]=&gt;
+// string(4) "Kirk"
+// [2]=&gt;
+// string(5) "Sisko"
+// [3]=&gt;
+// string(6) "Picard"
+// [4]=&gt;
+// string(7) "Janeway"
+//}
+var_dump($redis-&gt;sMembers('captains-backup'));
+?&gt;</code></pre></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ <a href="https://redis.io/commands/restore">https://redis.io/commands/restore</a>
+ </td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>
+ <a href="https://redis.io/commands/dump">https://redis.io/commands/dump</a>
+ </td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>
+ <a href="Redis.html#method_dump">
+Redis::dump</a>
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_role">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L2105">at line 2105</a></div>
+ <code> mixed
+ <strong>role</strong>()
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>Query whether the connected instance is a primary or replica</p></p>
+ </div>
+ <div class="tags">
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>mixed</td>
+ <td><p>Will return an array with the role of the connected instance unless there is
+an error.</p></td>
+ </tr>
+ </table>
+
+
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_rpoplpush">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L2145">at line 2145</a></div>
+ <code> Redis|string|false
+ <strong>rpoplpush</strong>(string $srckey, string $dstkey)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>Atomically pop an element off the end of a Redis LIST and push it to the beginning of
+another.</p></p>
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$srckey</td>
+ <td><p>The source key to pop from.</p></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>$dstkey</td>
+ <td><p>The destination key to push to.</p></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>Redis|string|false</td>
+ <td><p>The popped element or false if the source key was empty.</p>
+<pre><code>&lt;?php
+$redis = new Redis(['host' =&gt; 'localhost']);
+
+$redis-&gt;pipeline()
+ -&gt;del('list1', 'list2')
+ -&gt;rpush('list1', 'list1-1', 'list1-2')
+ -&gt;rpush('list2', 'list2-1', 'list2-2')
+ -&gt;exec();
+
+var_dump($redis-&gt;rpoplpush('list2', 'list1'));
+var_dump($redis-&gt;lrange('list1', 0, -1));
+
+// --- OUTPUT ---
+// string(7) "list2-2"
+//
+// array(3) {
+// [0]=&gt;
+// string(7) "list2-2"
+// [1]=&gt;
+// string(7) "list1-1"
+// [2]=&gt;
+// string(7) "list1-2"
+// }
+?&gt;</code></pre></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ <a href="https://redis.io/commands/rpoplpush">https://redis.io/commands/rpoplpush</a>
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_sAdd">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L2173">at line 2173</a></div>
+ <code> Redis|int|false
+ <strong>sAdd</strong>(string $key, mixed $value, mixed ...$other_values)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>Add one or more values to a Redis SET key.</p></p>
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td><p>The key name</p></td>
+ </tr>
+ <tr>
+ <td>mixed</td>
+ <td>$value</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>mixed</td>
+ <td>...$other_values</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>Redis|int|false</td>
+ <td><p>The number of values added to the set.</p>
+<pre><code>&lt;?php
+$redis = new Redis(['host' =&gt; 'localhost']);
+
+$redis-&gt;del('myset');
+
+var_dump($redis-&gt;sadd('myset', 'foo', 'bar', 'baz'));
+var_dump($redis-&gt;sadd('myset', 'foo', 'new'));
+
+// --- OUTPUT ---
+// int(3)
+// int(1)
+?&gt;</code></pre></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ <a href="https://redis.io/commands/sadd">https://redis.io/commands/sadd</a>
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_sAddArray">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L2201">at line 2201</a></div>
+ <code> int
+ <strong>sAddArray</strong>(string $key, array $values)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>Add one ore more values to a Redis SET key. This is an alternative to Redis::sadd() but
+instead of being variadic, takes a single array of values.</p></p>
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td><p>The set to add values to.</p></td>
+ </tr>
+ <tr>
+ <td>array</td>
+ <td>$values</td>
+ <td><p>One or more members to add to the set.</p></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>int</td>
+ <td><p>The number of members added to the set.</p>
+<pre><code>&lt;?php
+$redis = new Redis(['host' =&gt; 'localhost']);
+
+$redis-&gt;del('myset');
+
+var_dump($redis-&gt;sAddArray('myset', ['foo', 'bar', 'baz']));
+var_dump($redis-&gt;sAddArray('myset', ['foo', 'new']));
+
+// --- OUTPUT ---
+// int(3)
+// int(1)
+?&gt;</code></pre></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ <a href="https://redis.io/commands/sadd">https://redis.io/commands/sadd</a>
+ </td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>
+ \Redis::sadd()
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_sDiff">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L2238">at line 2238</a></div>
+ <code> Redis|array|false
+ <strong>sDiff</strong>(string $key, string ...$other_keys)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>Given one or more Redis SETS, this command returns all of the members from the first
+set that are not in any subsequent set.</p></p>
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td><p>The first set</p></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>...$other_keys</td>
+ <td><p>One or more additional sets</p></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>Redis|array|false</td>
+ <td><p>Returns the elements from keys 2..N that don't exist in the
+first sorted set, or false on failure.</p>
+<pre><code>
+&lt;?php
+$redis = new Redis(['host' =&gt; 'localhost']);
+
+$redis-&gt;pipeline()
+ -&gt;del('set1', 'set2', 'set3')
+ -&gt;sadd('set1', 'apple', 'banana', 'carrot', 'date')
+ -&gt;sadd('set2', 'carrot')
+ -&gt;sadd('set3', 'apple', 'carrot', 'eggplant')
+ -&gt;exec();
+
+// NOTE: 'banana' and 'date' are in set1 but none of the subsequent sets.
+var_dump($redis-&gt;sdiff('set1', 'set2', 'set3'));
+
+// --- OUTPUT ---
+array(2) {
+ [0]=&gt;
+ string(6) "banana"
+ [1]=&gt;
+ string(4) "date"
+}
+?&gt;</code></pre></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ <a href="https://redis.io/commands/sdiff">https://redis.io/commands/sdiff</a>
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_sDiffStore">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L2253">at line 2253</a></div>
+ <code> Redis|int|false
+ <strong>sDiffStore</strong>(string $dst, string $key, string ...$other_keys)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>This method performs the same operation as SDIFF except it stores the resulting diff
+values in a specified destination key.</p></p>
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$dst</td>
+ <td><p>The key where to store the result</p></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td><p>The first key to perform the DIFF on</p></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>...$other_keys</td>
+ <td><p>One or more additional keys.</p></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>Redis|int|false</td>
+ <td><p>The number of values stored in the destination set or false on failure.</p></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ <a href="https://redis.io/commands/sdiffstore">https://redis.io/commands/sdiffstore</a>
+ </td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>
+ \Redis::sdiff()
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_sInter">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L2287">at line 2287</a></div>
+ <code> Redis|array|false
+ <strong>sInter</strong>(array|string $key, string ...$other_keys)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>Given one or more Redis SET keys, this command will return all of the elements that are
+in every one.</p></p>
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>array|string</td>
+ <td>$key</td>
+ <td><p>The first SET key to intersect.</p></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>...$other_keys</td>
+ <td><p>One or more Redis SET keys.</p>
+<pre><code>&lt;?php
+
+$redis = new Redis(['host' =&gt; 'localhost']);
+
+$redis-&gt;pipeline()
+ -&gt;del('alice_likes', 'bob_likes', 'bill_likes')
+ -&gt;sadd('alice_likes', 'asparagus', 'broccoli', 'carrot', 'potato')
+ -&gt;sadd('bob_likes', 'asparagus', 'carrot', 'potato')
+ -&gt;sadd('bill_likes', 'broccoli', 'potato')
+ -&gt;exec();
+
+// NOTE: 'potato' is the only value in all three sets
+var_dump($redis-&gt;sinter('alice_likes', 'bob_likes', 'bill_likes'));
+
+// --- OUTPUT ---
+// array(1) {
+// [0]=&gt;
+// string(6) "potato"
+// }
+?&gt;</code></pre></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>Redis|array|false</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ <a href="https://redis.io/commands/sinter">https://redis.io/commands/sinter</a>
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_sintercard">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L2315">at line 2315</a></div>
+ <code> Redis|int|false
+ <strong>sintercard</strong>(array $keys, int $limit = -1)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>Compute the intersection of one or more sets and return the cardinality of the result.</p></p>
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>array</td>
+ <td>$keys</td>
+ <td><p>One or more set key names.</p></td>
+ </tr>
+ <tr>
+ <td>int</td>
+ <td>$limit</td>
+ <td><p>A maximum cardinality to return. This is useful to put an upper bound
+on the amount of work Redis will do.</p></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>Redis|int|false</td>
+ <td><p>The</p>
+<pre><code>&lt;?php
+$redis = new Redis(['host' =&gt; 'localhost']);
+
+$redis-&gt;del('set1', 'set2', 'set3');
+
+$redis-&gt;sAdd('set1', 'apple', 'pear', 'banana', 'carrot');
+$redis-&gt;sAdd('set2', 'apple', 'banana');
+$redis-&gt;sAdd('set3', 'pear', 'banana');
+
+// int(1)
+var_dump($redis-&gt;sInterCard(['set1', 'set2', 'set3']));
+?&gt;</code></pre></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ <a href="https://redis.io/commands/sintercard">https://redis.io/commands/sintercard</a>
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_sInterStore">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L2344">at line 2344</a></div>
+ <code> Redis|int|false
+ <strong>sInterStore</strong>(array|string $key, string ...$other_keys)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>Perform the intersection of one or more Redis SETs, storing the result in a destination
+key, rather than returning them.</p></p>
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>array|string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>...$other_keys</td>
+ <td><p>If the first argument was a string, subsequent arguments should
+be source key names.</p></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>Redis|int|false</td>
+ <td><p>The number of values stored in the destination key or false on failure.</p>
+<pre><code>&lt;?php
+$redis = new Redis(['host' =&gt; 'localhost']);
+
+// OPTION 1: A single array
+$redis-&gt;sInterStore(['dst', 'src1', 'src2', 'src3']);
+
+// OPTION 2: Variadic
+$redis-&gt;sInterStore('dst', 'src1', 'src'2', 'src3');
+?&gt;</code></pre></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ <a href="https://redis.io/commands/sinterstore">https://redis.io/commands/sinterstore</a>
+ </td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>
+ \Redis::sinter()
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_sMembers">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L2376">at line 2376</a></div>
+ <code> Redis|array|false
+ <strong>sMembers</strong>(string $key)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>Retrieve every member from a set key.</p></p>
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td><p>The set name.</p></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>Redis|array|false</td>
+ <td><p>Every element in the set or false on failure.</p>
+<pre><code>$redis = new Redis(['host' =&gt; 'localhost']);
+
+$redis-&gt;del('tng-crew');
+
+$redis-&gt;sAdd('tng-crew', ...['Picard', 'Riker', 'Data', 'Worf', 'La Forge', 'Troi', 'Crusher', 'Broccoli']);
+
+// Array
+// (
+// [0] =&gt; Riker
+// [1] =&gt; Crusher
+// [2] =&gt; Troi
+// [3] =&gt; Worf
+// [4] =&gt; LaForge
+// [5] =&gt; Picard
+// [6] =&gt; Broccoli
+// [7] =&gt; Data
+// )
+$redis-&gt;sMembers('tng-crew');</code></pre></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ <a href="https://redis.io/commands/smembers">https://redis.io/commands/smembers</a>
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_sMisMember">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L2416">at line 2416</a></div>
+ <code> Redis|array|false
+ <strong>sMisMember</strong>(string $key, string $member, string ...$other_members)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>Check if one or more values are members of a set.</p></p>
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td><p>The set to query.</p></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>$member</td>
+ <td><p>The first value to test if exists in the set.</p></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>...$other_members</td>
+ <td><p>Any number of additional values to check.</p></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>Redis|array|false</td>
+ <td><p>An array of integers representing whether each passed value
+was a member of the set.</p>
+<pre><code>&lt;?php
+$redis = new Redis(['host' =&gt; 'localhost']);
+
+$redis-&gt;del('ds9-crew');
+$redis-&gt;sAdd('ds9-crew', ...["Sisko", "Kira", "Dax", "Worf", "Bashir", "O'Brien"]);
+
+$names = ['Sisko', 'Picard', 'Data', 'Worf'];
+$members = $redis-&gt;sMIsMember('ds9-crew', ...$names);
+
+// array(4) {
+// ["Sisko"]=&gt;
+// int(1)
+// ["Picard"]=&gt;
+// int(0)
+// ["Data"]=&gt;
+// int(0)
+// ["Worf"]=&gt;
+// int(1)
+// }
+var_dump(array_combine($names, $members));
+?&gt;</code></pre></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ <a href="https://redis.io/commands/smismember">https://redis.io/commands/smismember</a>
+ </td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>
+ <a href="https://redis.io/commands/smember">https://redis.io/commands/smember</a>
+ </td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>
+ \Redis::smember()
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_sMove">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L2462">at line 2462</a></div>
+ <code> Redis|bool
+ <strong>sMove</strong>(string $src, string $dst, mixed $value)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>Pop a member from one set and push it onto another. This command will create the
+destination set if it does not currently exist.</p></p>
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$src</td>
+ <td><p>The source set.</p></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>$dst</td>
+ <td><p>The destination set.</p></td>
+ </tr>
+ <tr>
+ <td>mixed</td>
+ <td>$value</td>
+ <td><p>The member you wish to move.</p></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>Redis|bool</td>
+ <td><p>True if the member was moved, and false if it wasn't in the set.</p>
+<pre><code>&lt;?php
+$redis = new Redis(['host' =&gt; 'localhost']);
+
+$redis-&gt;del('numbers', 'evens');
+$redis-&gt;sAdd('numbers', 'zero', 'one', 'two', 'three', 'four');
+
+$redis-&gt;sMove('numbers', 'evens', 'zero');
+$redis-&gt;sMove('numbers', 'evens', 'two');
+$redis-&gt;sMove('numbers', 'evens', 'four');
+
+// array(2) {
+// [0]=&gt;
+// string(5) "three"
+// [1]=&gt;
+// string(3) "one"
+// }
+var_dump($redis-&gt;sMembers('numbers'));
+
+// array(3) {
+// [0]=&gt;
+// string(4) "zero"
+// [1]=&gt;
+// string(3) "two"
+// [2]=&gt;
+// string(4) "four"
+// }
+var_dump($redis-&gt;sMembers('evens'));
+
+?&gt;</code></pre></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ <a href="https://redis.io/commands/smove">https://redis.io/commands/smove</a>
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_sPop">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L2508">at line 2508</a></div>
+ <code> Redis|string|array|false
+ <strong>sPop</strong>(string $key, int $count = 0)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>Remove one or more elements from a set.</p></p>
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td><p>The set in question.</p></td>
+ </tr>
+ <tr>
+ <td>int</td>
+ <td>$count</td>
+ <td><p>An optional number of members to pop. This defaults to
+removing one element.</p>
+<pre><code>&lt;?php
+$redis = new Redis(['host' =&gt; 'localhost']);
+
+&lt;?php
+
+$redis = new Redis(['host' =&gt; 'localhost']);
+
+$redis-&gt;del('numbers', 'evens');
+$redis-&gt;sAdd('numbers', 'zero', 'one', 'two', 'three', 'four');
+
+$redis-&gt;sMove('numbers', 'evens', 'zero');
+$redis-&gt;sMove('numbers', 'evens', 'two');
+$redis-&gt;sMove('numbers', 'evens', 'four');
+
+// array(2) {
+// [0]=&gt;
+// string(5) "three"
+// [1]=&gt;
+// string(3) "one"
+// }
+var_dump($redis-&gt;sMembers('numbers'));
+
+// array(3) {
+// [0]=&gt;
+// string(4) "zero"
+// [1]=&gt;
+// string(3) "two"
+// [2]=&gt;
+// string(4) "four"
+// }
+var_dump($redis-&gt;sMembers('evens'));
+?&gt;</code></pre></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>Redis|string|array|false</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ <a href="https://redis.io/commands/spop">https://redis.io/commands/spop</a>
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_sRandMember">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L2545">at line 2545</a></div>
+ <code> Redis|string|array|false
+ <strong>sRandMember</strong>(string $key, int $count = 0)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>Retrieve one or more random members of a set.</p></p>
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td><p>The set to query.</p></td>
+ </tr>
+ <tr>
+ <td>int</td>
+ <td>$count</td>
+ <td><p>An optional count of members to return.</p>
+<p>If this value is positive, Redis will return <em>up to</em> the requested
+number but with unique elements that will never repeat. This means
+you may recieve fewer then <code>$count</code> replies.</p>
+<p>If the number is negative, Redis will return the exact number requested
+but the result may contain duplicate elements.</p></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>Redis|string|array|false</td>
+ <td><p>One or more random members or false on failure.</p>
+<pre><code>&lt;?php
+$redis = new Redis(['host' =&gt; 'localhost']);
+
+$redis-&gt;del('elder-gods');
+
+$redis-&gt;sAdd('elder-gods', ["Cthulhu", "Azathoth", "Daoloth", "D'endrrah"]);
+
+// A single random member returned.
+$rng1 = $redis-&gt;sRandMember('elder-gods');
+
+// Up to SCARD `elder-gods` random members returned
+$rng2 = $redis-&gt;sRandMember('elder-gods', 9999);
+
+// 9999 elements from the set returned with duplicates
+$rng3 = $redis-&gt;sRandMember('elder-gods', -9999);
+?&gt;</code></pre></td>
+ </tr>
+ </table>
+
+
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_sUnion">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L2585">at line 2585</a></div>
+ <code> Redis|array|false
+ <strong>sUnion</strong>(string $key, string ...$other_keys)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>Returns the union of one or more Redis SET keys.</p></p>
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td><p>The first SET to do a union with</p></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>...$other_keys</td>
+ <td><p>One or more subsequent keys</p></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>Redis|array|false</td>
+ <td><p>The union of the one or more input sets or false on failure.</p>
+<pre><code>&lt;?php
+$redis = new Redis(['host' =&gt; 'localhost']);
+
+$redis-&gt;pipeline()
+ -&gt;del('set1', 'set2', 'set3')
+ -&gt;sadd('set1', 'apple', 'banana', 'carrot')
+ -&gt;sadd('set2', 'apple', 'carrot', 'fish')
+ -&gt;sadd('set3', 'carrot', 'fig', 'eggplant');
+
+var_dump($redis-&gt;sunion('set1', 'set2', 'set3'));
+
+// --- OPUTPUT ---
+// array(5) {
+// [0]=&gt;
+// string(6) "banana"
+// [1]=&gt;
+// string(5) "apple"
+// [2]=&gt;
+// string(4) "fish"
+// [3]=&gt;
+// string(6) "carrot"
+// [4]=&gt;
+// string(8) "eggplant"
+// }
+?&gt;</code></pre></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ <a href="https://redis.io/commands/sunion">https://redis.io/commands/sunion</a>
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_sUnionStore">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L2600">at line 2600</a></div>
+ <code> Redis|int|false
+ <strong>sUnionStore</strong>(string $dst, string $key, string ...$other_keys)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>Perform a union of one or more Redis SET keys and store the result in a new set</p></p>
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$dst</td>
+ <td><p>The destination key</p></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td><p>The first source key</p></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>...$other_keys</td>
+ <td><p>One or more additional source keys</p></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>Redis|int|false</td>
+ <td><p>The number of elements stored in the destination SET or
+false on failure.</p></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ <a href="https://redis.io/commands/sunionstore">https://redis.io/commands/sunionstore</a>
+ </td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>
+ \Redis::sunion()
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_save">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L2611">at line 2611</a></div>
+ <code> Redis|bool
+ <strong>save</strong>()
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>Persist the Redis database to disk. This command will block the server until the save is
+completed. For a nonblocking alternative, see Redis::bgsave().</p></p>
+ </div>
+ <div class="tags">
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>Redis|bool</td>
+ <td><p>Returns true unless an error occurs.</p></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ <a href="https://redis.io/commands/save">https://redis.io/commands/save</a>
+ </td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>
+ \Redis::bgsave()
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_scan">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L2678">at line 2678</a></div>
+ <code> array|false
+ <strong>scan</strong>(int|null $iterator, string|null $pattern = null, int $count = 0, string $type = NULL)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>Incrementally scan the Redis keyspace, with optional pattern and type matching.</p></p>
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>int|null</td>
+ <td>$iterator</td>
+ <td><p>The cursor returned by Redis for every subsequent call to SCAN. On
+the initial invocation of the call, it should be initialized by the
+caller to NULL. Each time SCAN is invoked, the iterator will be
+updated to a new number, until finally Redis will set the value to
+zero, indicating that the scan is complete.</p></td>
+ </tr>
+ <tr>
+ <td>string|null</td>
+ <td>$pattern</td>
+ <td><p>An optional glob-style pattern for matching key names. If passed as
+NULL, it is the equivalent of sending '*' (match every key).</p></td>
+ </tr>
+ <tr>
+ <td>int</td>
+ <td>$count</td>
+ <td><p>A hint to redis that tells it how many keys to return in a single
+call to SCAN. The larger the number, the longer Redis may block
+clients while iterating the key space.</p></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>$type</td>
+ <td><p>An optional argument to specify which key types to scan (e.g.
+'STRING', 'LIST', 'SET')</p></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>array|false</td>
+ <td><p>An array of keys, or false if no keys were returned for this
+invocation of scan. Note that it is possible for Redis to return
+zero keys before having scanned the entire key space, so the caller
+should instead continue to SCAN until the iterator reference is
+returned to zero.</p>
+<p>A note about Redis::SCAN_NORETRY and Redis::SCAN_RETRY.</p>
+<p>For convenience, PhpRedis can retry SCAN commands itself when Redis returns an empty array of
+keys with a nonzero iterator. This can happen when matching against a pattern that very few
+keys match inside a key space with a great many keys. The following example demonstrates how
+to use Redis::scan() with the option disabled and enabled.</p>
+<pre><code>&lt;?php
+
+$redis = new Redis(['host' =&gt; 'localhost']);
+
+$redis-&gt;setOption(Redis::OPT_SCAN, Redis::SCAN_NORETRY);
+
+$it = NULL;
+
+do {
+ $keys = $redis-&gt;scan($it, '*zorg*');
+ foreach ($keys as $key) {
+ echo "KEY: $key\n";
+ }
+} while ($it != 0);
+
+$redis-&gt;setOption(Redis::OPT_SCAN, Redis::SCAN_RETRY);
+
+$it = NULL;
+
+// When Redis::SCAN_RETRY is enabled, we can use simpler logic, as we will never receive an
+// empty array of keys when the iterator is nonzero.
+while ($keys = $redis-&gt;scan($it, '*zorg*')) {
+ foreach ($keys as $key) {
+ echo "KEY: $key\n";
+ }
+}
+?&gt;</code></pre></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ <a href="https://redis.io/commands/scan">https://redis.io/commands/scan</a>
+ </td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>
+ <a href="Redis.html#method_setOption">
+Redis::setOption</a>
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_scard">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L2702">at line 2702</a></div>
+ <code> Redis|int|false
+ <strong>scard</strong>(string $key)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>Retrieve the number of members in a Redis set.</p></p>
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td><p>The set to get the cardinality of.</p></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>Redis|int|false</td>
+ <td><p>The cardinality of the set or false on failure.</p>
+<pre><code>&lt;?php
+
+$redis = new Redis(['host' =&gt; 'localhost']);
+
+$redis-&gt;del('set');
+$redis-&gt;sadd('set', 'one', 'two', 'three', 'four', 'five');
+
+// Returns 5
+$redis-&gt;scard('set');
+?&gt;</code></pre></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ <a href="https://redis.io/commands/scard">https://redis.io/commands/scard</a>
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_script">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L2736">at line 2736</a></div>
+ <code> mixed
+ <strong>script</strong>(string $command, mixed ...$args)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>An administrative command used to interact with LUA scripts stored on the server.</p></p>
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$command</td>
+ <td><p>The script suboperation to execute.</p></td>
+ </tr>
+ <tr>
+ <td>mixed</td>
+ <td>...$args</td>
+ <td><p>One ore more additional argument</p></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>mixed</td>
+ <td><p>This command returns various things depending on the specific operation executed.</p>
+<pre><code>&lt;?php
+$redis = new Redis(['host' =&gt; 'localhost']);
+
+$lua = sprintf("return %f", microtime(true));
+
+// array(1) {
+// [0]=&gt;
+// int(0)
+// }
+var_dump($redis-&gt;script('exists', sha1($lua)));
+
+$redis-&gt;script('load', $lua);
+
+// array(1) {
+// [0]=&gt;
+// int(1)
+// }
+var_dump($redis-&gt;script('exists', sha1($lua)));
+?&gt;</code></pre></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ <a href="https://redis.io/commands/script">https://redis.io/commands/script</a>
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_select">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L2764">at line 2764</a></div>
+ <code> Redis|bool
+ <strong>select</strong>(int $db)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>Select a specific Redis database.</p></p>
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>int</td>
+ <td>$db</td>
+ <td><p>The database to select. Note that by default Redis has 16 databases (0-15).</p></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>Redis|bool</td>
+ <td><p>true on success and false on failure</p>
+<pre><code>&lt;?php
+$redis = new Redis(['host' =&gt; 'localhost']);
+
+$redis-&gt;select(1);
+$redis-&gt;set('this_is_db_1', 'test');
+
+$redis-&gt;select(0);
+var_dump($redis-&gt;exists('this_is_db_1'));
+
+$redis-&gt;select(1);
+var_dump($redis-&gt;exists('this_is_db_1'));
+
+// --- OUTPUT ---
+// int(0)
+// int(1)
+?&gt;</code></pre></td>
+ </tr>
+ </table>
+
+
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_set">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L2807">at line 2807</a></div>
+ <code> Redis|string|bool
+ <strong>set</strong>(string $key, mixed $value, mixed $options = NULL)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>Create or set a Redis STRING key to a value.</p></p>
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td><p>The key name to set.</p></td>
+ </tr>
+ <tr>
+ <td>mixed</td>
+ <td>$value</td>
+ <td><p>The value to set the key to.</p></td>
+ </tr>
+ <tr>
+ <td>mixed</td>
+ <td>$options</td>
+ <td><p>Either an array with options for how to perform the set or an
+integer with an expiration. If an expiration is set PhpRedis
+will actually send the <code>SETEX</code> command.</p>
+<p>OPTION DESCRIPTION</p>
+<hr />
+<p>['EX' =&gt; 60] expire 60 seconds.
+['PX' =&gt; 6000] expire in 6000 milliseconds.
+['EXAT' =&gt; time() + 10] expire in 10 seconds.
+['PXAT' =&gt; time()*1000 + 1000] expire in 1 second.
+['KEEPTTL' =&gt; true] Redis will not update the key's current TTL.
+['XX'] Only set the key if it already exists.
+['NX'] Only set the key if it doesn't exist.
+['GET'] Instead of returning <code>+OK</code> return the previous value of the
+key or NULL if the key didn't exist.</p></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>Redis|string|bool</td>
+ <td><p>True if the key was set or false on failure.</p>
+<pre><code>&lt;?php
+$redis = new Redis(['host' =&gt; 'localhost']);
+
+$redis-&gt;set('key', 'value');
+
+// Will actually send `SETEX 60 key value` to Redis.
+$redis-&gt;set('key', 'expires_in_60_seconds', 60);
+
+// Only have Redis set the key if it already exists.
+$redis-&gt;set('key', 'options_set', ['XX']);
+
+?&gt;</code></pre></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ <a href="https://redis.io/commands/set">https://redis.io/commands/set</a>
+ </td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>
+ <a href="https://redis.io/commands/setex">https://redis.io/commands/setex</a>
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_setBit">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L2833">at line 2833</a></div>
+ <code> Redis|int|false
+ <strong>setBit</strong>(string $key, int $idx, bool $value)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>Set a specific bit in a Redis string to zero or one</p></p>
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td><p>The Redis STRING key to modify</p></td>
+ </tr>
+ <tr>
+ <td>int</td>
+ <td>$idx</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>bool</td>
+ <td>$value</td>
+ <td><p>Whether to set the bit to zero or one.</p></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>Redis|int|false</td>
+ <td><p>The original value of the bit or false on failure.</p>
+<pre><code>&lt;?php
+$redis = new Redis(['host' =&gt; 'localhost']);
+
+$redis-&gt;set('foo', 'bar');
+
+// Flip the 7th bit to 1
+$redis-&gt;setbit('foo', 7, 1);
+
+// The bit flip turned 'bar' -&gt; 'car'
+$redis-&gt;get('foo');
+?&gt;</code></pre></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ <a href="https://redis.io/commands/setbit">https://redis.io/commands/setbit</a>
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_setRange">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L2857">at line 2857</a></div>
+ <code> Redis|int|false
+ <strong>setRange</strong>(string $key, int $index, string $value)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>Update or append to a Redis string at a specific starting index</p></p>
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td><p>The key to update</p></td>
+ </tr>
+ <tr>
+ <td>int</td>
+ <td>$index</td>
+ <td><p>Where to insert the provided value</p></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>$value</td>
+ <td><p>The value to copy into the string.</p></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>Redis|int|false</td>
+ <td><p>The new length of the string or false on failure</p>
+<pre><code>&lt;?php
+$redis = new Redis(['host' =&gt; 'localhost']);
+
+$redis-&gt;set('message', 'Hello World');
+
+// Update 'Hello World' to 'Hello Redis'
+$redis-&gt;setRange('message', 6, 'Redis');
+?&gt;</code></pre></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ <a href="https://redis.io/commands/setrange">https://redis.io/commands/setrange</a>
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_setOption">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L2938">at line 2938</a></div>
+ <code> bool
+ <strong>setOption</strong>(int $option, mixed $value)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>Set a configurable option on the Redis object.</p></p>
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>int</td>
+ <td>$option</td>
+ <td><p>The option constant.</p></td>
+ </tr>
+ <tr>
+ <td>mixed</td>
+ <td>$value</td>
+ <td><p>The option value.</p></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>bool</td>
+ <td><p>True if the setting was updated, false if not.</p></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ <a href="Redis.html#method_getOption">
+Redis::getOption</a>
+ </td>
+ <td>Following are a list of options you can set:
+
+OPTION TYPE DESCRIPTION
+OPT_MAX_RETRIES int The maximum number of times Redis will attempt to reconnect
+ if it gets disconnected, before throwing an exception.
+
+OPT_SCAN enum Redis::OPT_SCAN_RETRY, or Redis::OPT_SCAN_NORETRY
+
+ Redis::SCAN_NORETRY (default)
+ --------------------------------------------------------
+ PhpRedis will only call `SCAN` once for every time the
+ user calls Redis::scan(). This means it is possible for
+ an empty array of keys to be returned while there are
+ still more keys to be processed.
+
+ Redis::SCAN_RETRY
+ --------------------------------------------------------
+ PhpRedis may make multiple calls to `SCAN` for every
+ time the user calls Redis::scan(), and will never return
+ an empty array of keys unless Redis returns the iterator
+ to zero (meaning the `SCAN` is complete).
+
+
+OPT_SERIALIZER int One of the installed serializers, which can vary depending
+ on how PhpRedis was compiled. All of the supported serializers
+ are as follows:
+
+ Redis::SERIALIZER_NONE
+ Redis::SERIALIZER_PHP
+ Redis::SERIALIZER_IGBINARY
+ Redis::SERIALIZER_MSGPACK
+ Redis::SERIALIZER_JSON
+
+ Note: The PHP and JSON serializers are always available.
+
+OPT_PREFIX string A string PhpRedis will use to prefix every key we read or write.
+ To disable the prefix, you may pass an empty string or NULL.
+
+OPT_READ_TIMEOUT double How long PhpRedis will block for a response from Redis before
+ throwing a 'read error on connection' exception.
+
+OPT_TCP_KEEPALIVE bool Set or disable TCP_KEEPALIVE on the connection.
+
+OPT_COMPRESSION enum Set an automatic compression algorithm to use when reading/writing
+ data to Redis. All of the supported compressors are as follows:
+
+ Redis::COMPRESSION_NONE
+ Redis::COMPRESSION_LZF
+ Redis::COMPRESSION_LZ4
+ Redis::COMPRESSION_ZSTD
+
+ Note: Some of these may not be available depending on how Redis
+ was compiled.
+
+OPT_REPLY_LITERAL bool If set to true, PhpRedis will return the literal string Redis returns
+ for LINE replies (e.g. '+OK'), rather than `true`.
+
+OPT_COMPRESSION_LEVEL int Set a specific compression level if Redis is compressing data.
+
+OPT_NULL_MULTIBULK_AS_NULL bool Causes PhpRedis to return `NULL` rather than `false` for NULL MULTIBULK
+ RESP replies (i.e. `*-1`).
+
+OPT_BACKOFF_ALGORITHM enum The exponential backoff strategy to use.
+OPT_BACKOFF_BASE int The minimum delay between retries when backing off.
+OPT_BACKOFF_CAP int The maximum delay between replies when backing off.</td>
+ </tr>
+ <tr>
+ <td>
+ <a href="Redis.html#method___construct">
+Redis::__construct</a>
+ </td>
+ <td>for details about backoff strategies.</td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_setex">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L2959">at line 2959</a></div>
+ <code> <a href="Redis.html">Redis</a>|bool
+ <strong>setex</strong>(string $key, int $expire, mixed $value)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>Set a Redis STRING key with a specific expiration in seconds.</p></p>
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td><p>The name of the key to set.</p></td>
+ </tr>
+ <tr>
+ <td>int</td>
+ <td>$expire</td>
+ <td><p>The key's expiration in seconds.</p></td>
+ </tr>
+ <tr>
+ <td>mixed</td>
+ <td>$value</td>
+ <td><p>The value to set the key.</p></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td><a href="Redis.html">Redis</a>|bool</td>
+ <td><p>True on success or false on failure.</p>
+<pre><code>&lt;?php
+$redis = new Redis(['host' =&gt; 'localhost']);
+
+// Set a key with a 60 second expiration
+$redis-&gt;set('some_key', 60, 'some_value');
+
+?&gt;php</code></pre></td>
+ </tr>
+ </table>
+
+
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_setnx">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L2987">at line 2987</a></div>
+ <code> Redis|bool
+ <strong>setnx</strong>(string $key, mixed $value)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>Set a key to a value, but only if that key does not already exist.</p></p>
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td><p>The key name to set.</p></td>
+ </tr>
+ <tr>
+ <td>mixed</td>
+ <td>$value</td>
+ <td><p>What to set the key to.</p></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>Redis|bool</td>
+ <td><p>Returns true if the key was set and false otherwise.</p>
+<pre><code>&lt;?php
+$redis = new Redis(['host' =&gt; 'localhost']);
+
+$redis-&gt;del('new-key');
+$redis-&gt;set('existing-key', 'already-exists');
+
+// Key is new, returns 1
+$redis-&gt;setnx('key1', 'here-is-a-new-key');
+
+// Key exists, returns 0
+$redis-&gt;setnx('existing-key', 'new-value');
+?&gt;</code></pre></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ <a href="https://redis.io/commands/setnx">https://redis.io/commands/setnx</a>
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_sismember">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L3014">at line 3014</a></div>
+ <code> Redis|bool
+ <strong>sismember</strong>(string $key, mixed $value)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>Check whether a given value is the member of a Redis SET.</p></p>
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td><p>The redis set to check.</p></td>
+ </tr>
+ <tr>
+ <td>mixed</td>
+ <td>$value</td>
+ <td><p>The value to test.</p></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>Redis|bool</td>
+ <td><p>True if the member exists and false if not.</p>
+<pre><code>&lt;?php
+$redis = new Redis(['host' =&gt; 'localhost']);
+
+$redis-&gt;multi()
+ -&gt;del('myset')
+ -&gt;sadd('myset', 'foo', 'bar', 'baz')
+ -&gt;exec();
+
+// Will return true, as 'foo' is in the set
+$redis-&gt;sismember('myset', 'foo');
+
+// Will return false, as 'not-in-set' is not in the set
+$redis-&gt;sismember('myset', 'not-in-set');
+?&gt;</code></pre></td>
+ </tr>
+ </table>
+
+
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_slaveof">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L3030">at line 3030</a></div>
+ <code> Redis|bool
+ <strong>slaveof</strong>(string $host = NULL, int $port = 6379)
+ <small><span class="label label-danger">deprecated</span></small></code>
+ </h3>
+ <div class="details">
+ <p>
+ <small><span class="label label-danger">deprecated</span></small>
+ <tr>
+ <td></td>
+ <td></td>
+ </tr>
+ </p>
+
+
+
+ <div class="method-description">
+ <p><p>Turn a redis instance into a replica of another or promote a replica
+to a primary.</p></p> <p><p>This method and the corresponding command in Redis has been marked deprecated
+and users should instead use Redis::replicaof() if connecting to redis-server</p>
+<blockquote>
+<p>= 5.0.0.</p>
+</blockquote></p>
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$host</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>int</td>
+ <td>$port</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>Redis|bool</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ <a href="https://redis.io/commands/slaveof">https://redis.io/commands/slaveof</a>
+ </td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>
+ <a href="https://redis.io/commands/replicaof">https://redis.io/commands/replicaof</a>
+ </td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>
+ <a href="Redis.html#method_slaveof">
+Redis::slaveof</a>
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_replicaof">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L3059">at line 3059</a></div>
+ <code> Redis|bool
+ <strong>replicaof</strong>(string $host = NULL, int $port = 6379)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>Used to turn a Redis instance into a replica of another, or to remove
+replica status promoting the instance to a primary.</p></p>
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$host</td>
+ <td><p>The host of the primary to start replicating.</p></td>
+ </tr>
+ <tr>
+ <td>int</td>
+ <td>$port</td>
+ <td><p>The port of the primary to start replicating.</p></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>Redis|bool</td>
+ <td><p>Success if we were successfully able to start replicating a primary or
+were able to promote teh replicat to a primary.</p>
+<pre><code>&lt;?php
+$redis = new Redis(['host' =&gt; 'localhost']);
+
+// Attempt to become a replica of a Redis instance at 127.0.0.1:9999
+$redis-&gt;slaveof('127.0.0.1', 9999);
+
+// When passed no arguments, PhpRedis will deliver the command `SLAVEOF NO ONE`
+// attempting to promote the instance to a primary.
+$redis-&gt;slaveof();
+?&gt;</code></pre></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ <a href="https://redis.io/commands/replicaof">https://redis.io/commands/replicaof</a>
+ </td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>
+ <a href="https://redis.io/commands/slaveof">https://redis.io/commands/slaveof</a>
+ </td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>
+ <a href="Redis.html#method_slaveof">
+Redis::slaveof</a>
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_touch">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L3073">at line 3073</a></div>
+ <code> Redis|int|false
+ <strong>touch</strong>(array|string $key_or_array, string ...$more_keys)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>Update one or more keys last modified metadata.</p></p>
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>array|string</td>
+ <td>$key_or_array</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>...$more_keys</td>
+ <td><p>One or more keys to send to the command.</p></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>Redis|int|false</td>
+ <td><p>This command returns the number of keys that exist and
+had their last modified time reset</p></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ <a href="https://redis.io/commands/touch/">https://redis.io/commands/touch/</a>
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_slowlog">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L3104">at line 3104</a></div>
+ <code> mixed
+ <strong>slowlog</strong>(string $operation, int $length = 0)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>Interact with Redis' slowlog functionality in various ways, depending
+on the value of 'operation'.</p></p>
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$operation</td>
+ <td><p>The operation you wish to perform.  This can
+be one of the following values:
+'GET' - Retrieve the Redis slowlog as an array.
+'LEN' - Retrieve the length of the slowlog.
+'RESET' - Remove all slowlog entries.</p>
+<pre><code>&lt;?php
+$redis-&gt;slowlog('get', -1); // Retrieve all slowlog entries.
+$redis-&gt;slowlog('len'); // Retrieve slowlog length.
+$redis-&gt;slowlog('reset'); // Reset the slowlog.
+?&gt;</code></pre></td>
+ </tr>
+ <tr>
+ <td>int</td>
+ <td>$length</td>
+ <td><p>This optional argument can be passed when operation
+is 'get' and will specify how many elements to retrieve.
+If omitted Redis will send up to a default number of
+entries, which is configurable.</p>
+<p>Note: With Redis &gt;= 7.0.0 you can send -1 to mean &quot;all&quot;.</p></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>mixed</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ <a href="https://redis.io/commands/slowlog/">https://redis.io/commands/slowlog/</a>
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_sort">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L3137">at line 3137</a></div>
+ <code> mixed
+ <strong>sort</strong>(string $key, array|null $options = null)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>Sort the contents of a Redis key in various ways.</p></p>
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td><p>The key you wish to sort</p></td>
+ </tr>
+ <tr>
+ <td>array|null</td>
+ <td>$options</td>
+ <td><p>Various options controlling how you would like the
+data sorted. See blow for a detailed description
+of this options array.</p></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>mixed</td>
+ <td><p>This command can either return an array with the sorted data
+or the number of elements placed in a destination set when
+using the STORE option.</p>
+<pre><code>&lt;?php
+$options = [
+ 'SORT' =&gt; 'ASC'|| 'DESC' // Sort in descending or descending order.
+ 'ALPHA' =&gt; true || false // Whether to sort alphanumerically.
+ 'LIMIT' =&gt; [0, 10] // Return a subset of the data at offset, count
+ 'BY' =&gt; 'weight_*' // For each element in the key, read data from the
+ external key weight_* and sort based on that value.
+ 'GET' =&gt; 'weight_*' // For each element in the source key, retrieve the
+ data from key weight_* and return that in the result
+ rather than the source keys' element. This can
+ be used in combination with 'BY'
+];
+?&gt;</code></pre></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ <a href="https://redis.io/commands/sort/">https://redis.io/commands/sort/</a>
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_sort_ro">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L3144">at line 3144</a></div>
+ <code> mixed
+ <strong>sort_ro</strong>(string $key, array|null $options = null)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>This is simply a read-only variant of the sort command</p></p>
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>array|null</td>
+ <td>$options</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>mixed</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ <a href="Redis.html#method_sort">
+Redis::sort</a>
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_sortAsc">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L3149">at line 3149</a></div>
+ <code> array
+ <strong>sortAsc</strong>(string $key, string|null $pattern = null, mixed $get = null, int $offset = -1, int $count = -1, string|null $store = null)
+ <small><span class="label label-danger">deprecated</span></small></code>
+ </h3>
+ <div class="details">
+ <p>
+ <small><span class="label label-danger">deprecated</span></small>
+ <tr>
+ <td></td>
+ <td></td>
+ </tr>
+ </p>
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string|null</td>
+ <td>$pattern</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>mixed</td>
+ <td>$get</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>int</td>
+ <td>$offset</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>int</td>
+ <td>$count</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string|null</td>
+ <td>$store</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>array</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_sortAscAlpha">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L3154">at line 3154</a></div>
+ <code> array
+ <strong>sortAscAlpha</strong>(string $key, string|null $pattern = null, mixed $get = null, int $offset = -1, int $count = -1, string|null $store = null)
+ <small><span class="label label-danger">deprecated</span></small></code>
+ </h3>
+ <div class="details">
+ <p>
+ <small><span class="label label-danger">deprecated</span></small>
+ <tr>
+ <td></td>
+ <td></td>
+ </tr>
+ </p>
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string|null</td>
+ <td>$pattern</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>mixed</td>
+ <td>$get</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>int</td>
+ <td>$offset</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>int</td>
+ <td>$count</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string|null</td>
+ <td>$store</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>array</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_sortDesc">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L3159">at line 3159</a></div>
+ <code> array
+ <strong>sortDesc</strong>(string $key, string|null $pattern = null, mixed $get = null, int $offset = -1, int $count = -1, string|null $store = null)
+ <small><span class="label label-danger">deprecated</span></small></code>
+ </h3>
+ <div class="details">
+ <p>
+ <small><span class="label label-danger">deprecated</span></small>
+ <tr>
+ <td></td>
+ <td></td>
+ </tr>
+ </p>
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string|null</td>
+ <td>$pattern</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>mixed</td>
+ <td>$get</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>int</td>
+ <td>$offset</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>int</td>
+ <td>$count</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string|null</td>
+ <td>$store</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>array</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_sortDescAlpha">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L3164">at line 3164</a></div>
+ <code> array
+ <strong>sortDescAlpha</strong>(string $key, string|null $pattern = null, mixed $get = null, int $offset = -1, int $count = -1, string|null $store = null)
+ <small><span class="label label-danger">deprecated</span></small></code>
+ </h3>
+ <div class="details">
+ <p>
+ <small><span class="label label-danger">deprecated</span></small>
+ <tr>
+ <td></td>
+ <td></td>
+ </tr>
+ </p>
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string|null</td>
+ <td>$pattern</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>mixed</td>
+ <td>$get</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>int</td>
+ <td>$offset</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>int</td>
+ <td>$count</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string|null</td>
+ <td>$store</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>array</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_srem">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L3192">at line 3192</a></div>
+ <code> Redis|int|false
+ <strong>srem</strong>(string $key, mixed $value, mixed ...$other_values)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>Remove one or more values from a Redis SET key.</p></p>
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td><p>The Redis SET key in question.</p></td>
+ </tr>
+ <tr>
+ <td>mixed</td>
+ <td>$value</td>
+ <td><p>The first value to remove.</p></td>
+ </tr>
+ <tr>
+ <td>mixed</td>
+ <td>...$other_values</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>Redis|int|false</td>
+ <td><p>The number of values removed from the set or false on failure.</p>
+<pre><code>&lt;?php
+$redis = new Redis(['host' =&gt; 'localhost']);
+
+$redis-&gt;pipeline()-&gt;del('set1')
+ -&gt;sadd('set1', 'foo', 'bar', 'baz')
+ -&gt;exec();
+
+var_dump($redis-&gt;sRem('set1', 'foo', 'bar', 'not-in-the-set'));
+
+// --- OUTPUT ---
+// int(2)
+?&gt;</code></pre></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ <a href="https://redis.io/commands/srem">https://redis.io/commands/srem</a>
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_sscan">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L3255">at line 3255</a></div>
+ <code> array|false
+ <strong>sscan</strong>(string $key, int|null $iterator, string|null $pattern = null, int $count = 0)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>Scan the members of a redis SET key.</p></p>
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td><p>The Redis SET key in question.</p></td>
+ </tr>
+ <tr>
+ <td>int|null</td>
+ <td>$iterator</td>
+ <td><p>A reference to an iterator which should be initialized to NULL that
+PhpRedis will update with the value returned from Redis after each
+subsequent call to SSCAN. Once this cursor is zero you know all
+members have been traversed.</p></td>
+ </tr>
+ <tr>
+ <td>string|null</td>
+ <td>$pattern</td>
+ <td><p>An optional glob style pattern to match against, so Redis only
+returns the subset of members matching this pattern.</p></td>
+ </tr>
+ <tr>
+ <td>int</td>
+ <td>$count</td>
+ <td><p>A hint to Redis as to how many members it should scan in one command
+before returning members for that iteration.</p>
+<pre><code>$redis = new Redis(['host' =&gt; 'localhost']);
+
+$redis-&gt;del('myset');
+for ($i = 0; $i &lt; 10000; $i++) {
+ $redis-&gt;sAdd('myset', "member:$i");
+}
+$redis-&gt;sadd('myset', 'foofoo');
+
+$redis-&gt;setOption(Redis::OPT_SCAN, Redis::SCAN_NORETRY);
+
+$scanned = 0;
+$it = NULL;
+
+// Without Redis::SCAN_RETRY we may receive empty results and
+// a nonzero iterator.
+do {
+ // Scan members containing '5'
+ $members = $redis-&gt;sscan('myset', $it, '*5*');
+ foreach ($members as $member) {
+ echo "NORETRY: $member\n";
+ $scanned++;
+ }
+} while ($it != 0);
+echo "TOTAL: $scanned\n";
+
+$redis-&gt;setOption(Redis::OPT_SCAN, Redis::SCAN_RETRY);
+
+$scanned = 0;
+$it = NULL;
+
+// With Redis::SCAN_RETRY PhpRedis will never return an empty array
+// when the cursor is non-zero
+while (($members = $redis-&gt;sscan('myset', $it, '*5*'))) {
+ foreach ($members as $member) {
+ echo "RETRY: $member\n";
+ $scanned++;
+ }
+}
+echo "TOTAL: $scanned\n";
+?&gt;</code></pre></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>array|false</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ <a href="https://redis.io/commands/sscan">https://redis.io/commands/sscan</a>
+ </td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>
+ <a href="https://redis.io/commands/scan">https://redis.io/commands/scan</a>
+ </td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>
+ <a href="Redis.html#method_setOption">
+Redis::setOption</a>
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_strlen">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L3284">at line 3284</a></div>
+ <code> Redis|int|false
+ <strong>strlen</strong>(string $key)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>Retrieve the length of a Redis STRING key.</p></p>
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td><p>The key we want the length of.</p></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>Redis|int|false</td>
+ <td><p>The length of the string key if it exists, zero if it does not, and
+false on failure.</p>
+<pre><code>&lt;?php
+$redis = new Redis(['host' =&gt; 'localhost']);
+
+$redis-&gt;del('string');
+
+$redis-&gt;set('string', 'foo');
+
+// strlen('foo') == 3
+$redis-&gt;strlen('string');
+
+$redis-&gt;append('string', 'bar');
+
+// strlen('foobar') == 6
+$redis-&gt;strlen('string');
+
+?&gt;</code></pre></td>
+ </tr>
+ </table>
+
+
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_subscribe">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L3316">at line 3316</a></div>
+ <code> bool
+ <strong>subscribe</strong>(array $channels, callable $cb)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>Subscribe to one or more Redis pubsub channels.</p></p>
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>array</td>
+ <td>$channels</td>
+ <td><p>One or more channel names.</p></td>
+ </tr>
+ <tr>
+ <td>callable</td>
+ <td>$cb</td>
+ <td><p>The callback PhpRedis will invoke when we receive a message
+from one of the subscribed channels.</p></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>bool</td>
+ <td><p>True on success, false on faiilure. Note that this command will block the
+client in a subscribe loop, waiting for messages to arrive.</p>
+<pre><code>&lt;?php
+$redis = new Redis(['host' =&gt; 'localhost']);
+
+$redis-&gt;subscribe(['channel-1', 'channel-2'], function ($redis, $channel, $message) {
+ echo "[$channel]: $message\n";
+
+ // Unsubscribe from the message channel when we read 'quit'
+ if ($message == 'quit') {
+ echo "Unsubscribing from '$channel'\n";
+ $redis-&gt;unsubscribe([$channel]);
+ }
+});
+
+// Once we read 'quit' from both channel-1 and channel-2 the subscribe loop will be
+// broken and this command will execute.
+echo "Subscribe loop ended\n";
+?&gt;</code></pre></td>
+ </tr>
+ </table>
+
+
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_swapdb">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L3373">at line 3373</a></div>
+ <code> Redis|bool
+ <strong>swapdb</strong>(int $src, int $dst)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>Atomically swap two Redis databases so that all of the keys in the source database will
+now be in the destination database and vice-versa.</p></p> <p><p>Note: This command simply swaps Redis' internal pointer to the database and is therefore
+very fast, regardless of the size of the underlying databases.</p></p>
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>int</td>
+ <td>$src</td>
+ <td><p>The source database number</p></td>
+ </tr>
+ <tr>
+ <td>int</td>
+ <td>$dst</td>
+ <td><p>The destination database number</p></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>Redis|bool</td>
+ <td><p>Success if the databases could be swapped and false on failure.</p>
+<pre><code>&lt;?php
+$redis = new Redis(['host' =&gt; 'localhost']);
+
+$redis-&gt;multi()-&gt;select(0)
+ -&gt;set('db0-key1', 'value1')-&gt;set('db0-key2', 'value2')
+ -&gt;select(1)
+ -&gt;set('db1-key1', 'value1')-&gt;set('db1-key2', 'value2')
+ -&gt;select(0)
+ -&gt;exec();
+
+// Array
+// (
+// [0] =&gt; db0-key1
+// [1] =&gt; db0-key2
+// )
+print_r($redis-&gt;keys('*'));
+
+// Swap db0 and db1
+$redis-&gt;swapdb(0, 1);
+
+// Array
+// (
+// [0] =&gt; db1-key2
+// [1] =&gt; db1-key1
+// )
+print_r($redis-&gt;keys('*'));
+
+// Swap them back
+$redis-&gt;swapdb(0, 1);
+
+// Array
+// (
+// [0] =&gt; db0-key1
+// [1] =&gt; db0-key2
+// )
+print_r($redis-&gt;keys('*'));
+?&gt;</code></pre></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ <a href="https://redis.io/commands/swapdb">https://redis.io/commands/swapdb</a>
+ </td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>
+ <a href="Redis.html#method_del">
+Redis::del</a>
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_time">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L3394">at line 3394</a></div>
+ <code> Redis|array
+ <strong>time</strong>()
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>Retrieve the server time from the connected Redis instance.</p></p>
+ </div>
+ <div class="tags">
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>Redis|array</td>
+ <td><p>two element array consisting of a Unix Timestamp and the number of microseconds
+elapsed since the second.</p>
+<pre><code>
+&lt;?php
+$redis = new Redis(['host' =&gt; 'localhost']);
+
+// Array
+// (
+// [0] =&gt; 1667271026
+// [1] =&gt; 355678
+// )
+print_r($redis-&gt;time());</code></pre></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ <a href="https://redis.io/commands/time">https://redis.io/commands/time</a>
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_ttl">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L3426">at line 3426</a></div>
+ <code> Redis|int|false
+ <strong>ttl</strong>(string $key)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>Get the amount of time a Redis key has before it will expire, in seconds.</p></p>
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td><p>The Key we want the TTL for.</p></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>Redis|int|false</td>
+ <td><p>(a) The number of seconds until the key expires, or -1 if the key has
+no expiration, and -2 if the key does not exist. In the event of an
+error, this command will return false.</p>
+<pre><code>&lt;?php
+$redis = new Redis(['host' =&gt; 'localhost']);
+
+$redis-&gt;multi()
+ -&gt;setex('expires_in_60s', 60, 'test')
+ -&gt;set('doesnt_expire', 'persistent')
+ -&gt;del('not_a_key')
+ -&gt;exec();
+
+// Returns &lt;= 60
+$redis-&gt;ttl('expires_in_60s');
+
+// Returns -1
+$redis-&gt;ttl('doesnt_expire');
+
+// Returns -2 (key doesn't exist)
+$redis-&gt;ttl('not_a_key');
+
+?&gt;</code></pre></td>
+ </tr>
+ </table>
+
+
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_type">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L3446">at line 3446</a></div>
+ <code> Redis|int|false
+ <strong>type</strong>(string $key)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>Get the type of a given Redis key.</p></p>
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td><p>The key to check</p></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>Redis|int|false</td>
+ <td><p>The Redis type constant or false on failure.</p>
+<p>The Redis class defines several type constants that correspond with Redis key types.</p>
+<pre><code>Redis::REDIS_NOT_FOUND
+Redis::REDIS_STRING
+Redis::REDIS_SET
+Redis::REDIS_LIST
+Redis::REDIS_ZSET
+Redis::REDIS_HASH
+Redis::REDIS_STREAM</code></pre></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ <a href="https://redis.io/commands/type">https://redis.io/commands/type</a>
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_unlink">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L3476">at line 3476</a></div>
+ <code> Redis|int|false
+ <strong>unlink</strong>(array|string $key, string ...$other_keys)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>Delete one or more keys from the Redis database. Unlike this operation, the actual
+deletion is asynchronous, meaning it is safe to delete large keys without fear of
+Redis blocking for a long period of time.</p></p>
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>array|string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>...$other_keys</td>
+ <td><p>If the first argument passed to this method was a string
+you may pass any number of additional key names.</p></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>Redis|int|false</td>
+ <td><p>The number of keys deleted or false on failure.</p>
+<pre><code>&lt;?php
+$redis = new Redis(['host' =&gt; 'localhost']);
+
+// OPTION 1: Called with a single array of keys
+$redis-&gt;unlink(['key1', 'key2', 'key3']);
+
+// OPTION 2: Called with a variadic number of arguments
+$redis-&gt;unlink('key1', 'key2', 'key3');
+?&gt;</code></pre></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ <a href="https://redis.io/commands/unlink">https://redis.io/commands/unlink</a>
+ </td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>
+ <a href="https://redis.io/commands/del">https://redis.io/commands/del</a>
+ </td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>
+ <a href="Redis.html#method_del">
+Redis::del</a>
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_unsubscribe">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L3485">at line 3485</a></div>
+ <code> Redis|array|bool
+ <strong>unsubscribe</strong>(array $channels)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>Unsubscribe from one or more subscribed channels.</p></p>
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>array</td>
+ <td>$channels</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>Redis|array|bool</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ <a href="https://redis.io/commands/unsubscribe">https://redis.io/commands/unsubscribe</a>
+ </td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>
+ <a href="Redis.html#method_subscribe">
+Redis::subscribe</a>
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_unwatch">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L3496">at line 3496</a></div>
+ <code> Redis|bool
+ <strong>unwatch</strong>()
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>Remove any previously WATCH'ed keys in a transaction.</p></p>
+ </div>
+ <div class="tags">
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>Redis|bool</td>
+ <td><p>on success and false on failure.</p></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ <a href="https://redis.io/commands/unwatch">https://redis.io/commands/unwatch</a>
+ </td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>
+ <a href="https://redis.io/commands/unwatch">https://redis.io/commands/unwatch</a>
+ </td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>
+ <a href="Redis.html#method_watch">
+Redis::watch</a>
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_watch">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L3501">at line 3501</a></div>
+ <code> bool|<a href="Redis.html">Redis</a>
+ <strong>watch</strong>(array|string $key, string ...$other_keys)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>array|string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>...$other_keys</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>bool|<a href="Redis.html">Redis</a></td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_wait">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L3515">at line 3515</a></div>
+ <code> int|false
+ <strong>wait</strong>(int $numreplicas, int $timeout)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>Block the client up to the provided timeout until a certain number of replicas have confirmed
+recieving them.</p></p>
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>int</td>
+ <td>$numreplicas</td>
+ <td><p>The number of replicas we want to confirm write operaions</p></td>
+ </tr>
+ <tr>
+ <td>int</td>
+ <td>$timeout</td>
+ <td><p>How long to wait (zero meaning forever).</p></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>int|false</td>
+ <td><p>The number of replicas that have confirmed or false on failure.</p></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ <a href="https://redis.io/commands/wait">https://redis.io/commands/wait</a>
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_xack">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L3517">at line 3517</a></div>
+ <code> int|false
+ <strong>xack</strong>(string $key, string $group, array $ids)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>$group</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>array</td>
+ <td>$ids</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>int|false</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_xadd">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L3567">at line 3567</a></div>
+ <code> Redis|string|false
+ <strong>xadd</strong>(string $key, string $id, array $values, int $maxlen = 0, bool $approx = false, bool $nomkstream = false)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>Append a message to a stream.</p></p>
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td><p>The stream name.</p></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>$id</td>
+ <td><p>The ID for the message we want to add. This can be the special value '<em>'
+which means Redis will generate the ID that appends the message to the
+end of the stream. It can also be a value in the form <ms>-</em> which will
+generate an ID that appends to the end ot entries with the same <ms> value
+(if any exist).</p></td>
+ </tr>
+ <tr>
+ <td>array</td>
+ <td>$values</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>int</td>
+ <td>$maxlen</td>
+ <td><p>If specified Redis will append the new message but trim any number of the
+oldest messages in the stream until the length is &lt;= $maxlen.</p></td>
+ </tr>
+ <tr>
+ <td>bool</td>
+ <td>$approx</td>
+ <td><p>Used in conjunction with <code>$maxlen</code>, this flag tells Redis to trim the stream
+but in a more efficient way, meaning the trimming may not be exactly to
+<code>$maxlen</code> values.</p></td>
+ </tr>
+ <tr>
+ <td>bool</td>
+ <td>$nomkstream</td>
+ <td><p>If passed as <code>TRUE</code>, the stream must exist for Redis to append the message.</p>
+<pre><code>&lt;/php
+&lt;?php
+$redis = new Redis(['host' =&gt; 'localhost']);
+
+$redis-&gt;del('ds9-season-1');
+
+$redis-&gt;xAdd('ds9-season-1', '1-1', ['title' =&gt; 'Emissary Part 1']);
+$redis-&gt;xAdd('ds9-season-1', '1-2', ['title' =&gt; 'A Man Alone']);
+$redis-&gt;xAdd('ds9-season-1', '1-3', ['title' =&gt; 'Emissary Part 2']);
+$redis-&gt;xAdd('ds9-season-1', '1-4', ['title' =&gt; 'Past Prologue']);
+
+// Array
+// (
+// [1-1] =&gt; Array
+// (
+// [title] =&gt; Emissary Part 1
+// )
+//
+// [1-2] =&gt; Array
+// (
+// [title] =&gt; A Man Alone
+// )
+//
+// )
+$redis-&gt;xRange('ds9-season-1', '1-1', '1-2');
+?&gt;
+?&gt;</code></pre></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>Redis|string|false</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ <a href="https://redis.io/commands/xadd">https://redis.io/commands/xadd</a>
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_xautoclaim">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L3569">at line 3569</a></div>
+ <code> Redis|bool|array
+ <strong>xautoclaim</strong>(string $key, string $group, string $consumer, int $min_idle, string $start, int $count = -1, bool $justid = false)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>$group</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>$consumer</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>int</td>
+ <td>$min_idle</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>$start</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>int</td>
+ <td>$count</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>bool</td>
+ <td>$justid</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>Redis|bool|array</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_xclaim">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L3571">at line 3571</a></div>
+ <code> Redis|bool|array
+ <strong>xclaim</strong>(string $key, string $group, string $consumer, int $min_idle, array $ids, array $options)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>$group</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>$consumer</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>int</td>
+ <td>$min_idle</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>array</td>
+ <td>$ids</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>array</td>
+ <td>$options</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>Redis|bool|array</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_xdel">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L3617">at line 3617</a></div>
+ <code> Redis|int|false
+ <strong>xdel</strong>(string $key, array $ids)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>Remove one or more specific IDs from a stream.</p></p>
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td><p>The stream to modify.</p></td>
+ </tr>
+ <tr>
+ <td>array</td>
+ <td>$ids</td>
+ <td><p>One or more message IDs to remove.</p></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>Redis|int|false</td>
+ <td><p>The number of messages removed or false on failure.</p>
+<pre><code>$redis = new Redis(['host' =&gt; 'localhost']);
+
+$redis-&gt;del('stream');
+
+for ($a = 1; $a &lt;= 3; $a++) {
+ for ($b = 1; $b &lt;= 2; $b++) {
+ $redis-&gt;xAdd('stream', "$a-$b", ['id' =&gt; "$a-$b"]);
+ }
+}
+
+// Remove some elements
+$redis-&gt;xDel('stream', ['1-1', '2-1', '3-1']);
+
+// Array
+// (
+// [1-2] =&gt; Array
+// (
+// [id] =&gt; 1-2
+// )
+//
+// [2-2] =&gt; Array
+// (
+// [id] =&gt; 2-2
+// )
+//
+// [3-2] =&gt; Array
+// (
+// [id] =&gt; 3-2
+// )
+//
+// )
+$redis-&gt;xRange('stream', '-', '+');
+?&gt;</code></pre></td>
+ </tr>
+ </table>
+
+
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_xgroup">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L3655">at line 3655</a></div>
+ <code> mixed
+ <strong>xgroup</strong>(string $operation, string $key = null, string $group = null, string $id_or_consumer = null, bool $mkstream = false, int $entries_read = -2)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p>XGROUP</p> <p><p>Perform various operation on consumer groups for a particular Redis STREAM. What the command does
+is primarily based on which operation is passed.</p></p>
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$operation</td>
+ <td><p>The subcommand you intend to execute. Valid options are as follows
+'HELP' - Redis will return information about the command
+Requires: none
+'CREATE' - Create a consumer group.
+Requires: Key, group, consumer.
+'SETID' - Set the ID of an existing consumer group for the stream.
+Requires: Key, group, id.
+'CREATECONSUMER' - Create a new consumer group for the stream. You must
+also pass key, group, and the consumer name you wish to
+create.
+Requires: Key, group, consumer.
+'DELCONSUMER' - Delete a consumer from group attached to the stream.
+Requires: Key, group, consumer.
+'DESTROY' - Delete a consumer group from a stream.
+Requires: Key, group.</p></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td><p>The STREAM we're operating on.</p></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>$group</td>
+ <td><p>The consumer group we want to create/modify/delete.</p></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>$id_or_consumer</td>
+ <td><p>The STREAM id (e.g. '$') or consumer group. See the operation section
+for information about which to send.</p></td>
+ </tr>
+ <tr>
+ <td>bool</td>
+ <td>$mkstream</td>
+ <td><p>This flag may be sent in combination with the 'CREATE' operation, and
+cause Redis to also create the STREAM if it doesn't currently exist.</p></td>
+ </tr>
+ <tr>
+ <td>int</td>
+ <td>$entries_read</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>mixed</td>
+ <td><p>This command return various results depending on the operation performed.</p></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ <a href="https://redis.io/commands/xgroup/">https://redis.io/commands/xgroup/</a>
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_xinfo">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L3689">at line 3689</a></div>
+ <code> mixed
+ <strong>xinfo</strong>(string $operation, string|null $arg1 = null, string|null $arg2 = null, int $count = -1)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>Retrieve information about a stream key.</p></p>
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$operation</td>
+ <td><p>The specific info operation to perform.</p></td>
+ </tr>
+ <tr>
+ <td>string|null</td>
+ <td>$arg1</td>
+ <td><p>The first argument (depends on operation)</p></td>
+ </tr>
+ <tr>
+ <td>string|null</td>
+ <td>$arg2</td>
+ <td><p>The second argument</p></td>
+ </tr>
+ <tr>
+ <td>int</td>
+ <td>$count</td>
+ <td><p>The COUNT argument to <code>XINFO STREAM</code></p></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>mixed</td>
+ <td><p>This command can return different things depending on the operation being called.</p>
+<pre><code>&lt;?php
+$redis = new Redis(['host' =&gt; 'localhost']);
+
+$redis-&gt;del('stream');
+
+$redis-&gt;xAdd('stream', "0-1", ['payload' =&gt; '0-1']);
+$redis-&gt;xAdd('stream', "0-2", ['payload' =&gt; '0-2']);
+$redis-&gt;xAdd('stream', "0-3", ['payload' =&gt; '0-3']);
+
+// Retrieve any consmers for a given key
+$redis-&gt;xInfo('CONSUMERS', 'stream');
+
+// Retrieve any groups for a given key
+$redis-&gt;xInfo('GROUPS', 'stream');
+
+// Retrieve general stream information along with messages
+$redis-&gt;xInfo('STREAM', 'stream');
+?&gt;</code></pre></td>
+ </tr>
+ </table>
+
+
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_xlen">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L3714">at line 3714</a></div>
+ <code> Redis|int|false
+ <strong>xlen</strong>(string $key)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>Get the number of messages in a Redis STREAM key.</p></p>
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td><p>The Stream to check.</p></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>Redis|int|false</td>
+ <td><p>The number of messages or false on failure.</p>
+<pre><code>&lt;?php
+$redis = new Redis(['host' =&gt; 'localhost']);
+
+$redis-&gt;del('stream');
+$redis-&gt;xadd('stream', '*', ['first' =&gt; 'message']);
+$redis-&gt;xadd('stream', '*', ['second' =&gt; 'message']);
+
+// int(2)
+$redis-&gt;xLen('stream');
+?&gt;</code></pre></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ <a href="https://redis.io/commands/xlen">https://redis.io/commands/xlen</a>
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_xpending">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L3733">at line 3733</a></div>
+ <code> Redis|array|false
+ <strong>xpending</strong>(string $key, string $group, string|null $start = null, string|null $end = null, int $count = -1, string|null $consumer = null)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>Interact with stream messages that have been consumed by a consumer group but not yet
+acknowledged with XACK.</p></p>
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td><p>The stream to inspect.</p></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>$group</td>
+ <td><p>The user group we want to see pending messages from.</p></td>
+ </tr>
+ <tr>
+ <td>string|null</td>
+ <td>$start</td>
+ <td><p>The minimum ID to consider.</p></td>
+ </tr>
+ <tr>
+ <td>string|null</td>
+ <td>$end</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>int</td>
+ <td>$count</td>
+ <td><p>Optional maximum number of messages to return.</p></td>
+ </tr>
+ <tr>
+ <td>string|null</td>
+ <td>$consumer</td>
+ <td><p>If provided, limit the returned messages to a specific consumer.</p></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>Redis|array|false</td>
+ <td><p>The pending messages belonging to the stream or false on failure.</p></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ <a href="https://redis.io/commands/xpending">https://redis.io/commands/xpending</a>
+ </td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>
+ <a href="https://redis.io/commands/xreadgroup">https://redis.io/commands/xreadgroup</a>
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_xrange">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L3780">at line 3780</a></div>
+ <code> Redis|array|bool
+ <strong>xrange</strong>(string $key, string $start, string $end, int $count = -1)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>Get a range of entries from a STREAM key.</p></p>
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td><p>The stream key name to list.</p></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>$start</td>
+ <td><p>The minimum ID to return.</p></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>$end</td>
+ <td><p>The maximum ID to return.</p></td>
+ </tr>
+ <tr>
+ <td>int</td>
+ <td>$count</td>
+ <td><p>An optional maximum number of entries to return.</p></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>Redis|array|bool</td>
+ <td><p>The entries in the stream within the requested range or false on failure.</p>
+<pre><code>&lt;?php
+$redis = new Redis(['host' =&gt; 'localhost']);
+
+$redis-&gt;del('stream');
+
+for ($i = 0; $i &lt; 2; $i++) {
+ for ($j = 1; $j &lt;= 2; $j++) {
+ $redis-&gt;xAdd('stream', "$i-$j", ['message' =&gt; "$i:$j"]);
+ }
+}
+
+//Array
+//(
+// [0-1] =&gt; Array
+// (
+// [message] =&gt; 0:1
+// )
+//
+// [0-2] =&gt; Array
+// (
+// [message] =&gt; 0:2
+// )
+//
+//)
+$redis-&gt;xRange('stream', '0-1', '0-2');
+
+// '-' and '+' are special values which mean 'minimum possible',
+// and 'maximum possible' id, respectively.
+$redis-&gt;xRange('stream', '-', '+');
+?&gt;</code></pre></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ <a href="https://redis.io/commands/xrange">https://redis.io/commands/xrange</a>
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_xread">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L3834">at line 3834</a></div>
+ <code> Redis|array|bool
+ <strong>xread</strong>(array $streams, int $count = -1, int $block = -1)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>Consume one or more unconsumed elements in one or more streams.</p></p>
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>array</td>
+ <td>$streams</td>
+ <td><p>An associative array with stream name keys and minimum id values.</p></td>
+ </tr>
+ <tr>
+ <td>int</td>
+ <td>$count</td>
+ <td><p>An optional limit to how many entries are returnd <em>per stream</em></p></td>
+ </tr>
+ <tr>
+ <td>int</td>
+ <td>$block</td>
+ <td><p>An optional maximum number of milliseconds to block the caller if no
+data is available on any of the provided streams.</p>
+<pre><code>$redis = new Redis(['host' =&gt; 'localhost']);
+
+$redis-&gt;del('s03', 's03');
+
+$redis-&gt;xAdd('s03', '3-1', ['title' =&gt; 'The Search, Part I']);
+$redis-&gt;xAdd('s03', '3-2', ['title' =&gt; 'The Search, Part II']);
+$redis-&gt;xAdd('s03', '3-3', ['title' =&gt; 'The House Of Quark']);
+
+$redis-&gt;xAdd('s04', '4-1', ['title' =&gt; 'The Way of the Warrior']);
+$redis-&gt;xAdd('s04', '4-3', ['title' =&gt; 'The Visitor']);
+$redis-&gt;xAdd('s04', '4-4', ['title' =&gt; 'Hippocratic Oath']);
+
+// Array
+// (
+// [s03] =&gt; Array
+// (
+// [3-3] =&gt; Array
+// (
+// [title] =&gt; The House Of Quark
+// )
+//
+// )
+//
+// [s04] =&gt; Array
+// (
+// [4-3] =&gt; Array
+// (
+// [title] =&gt; The Visitor
+// )
+//
+// [4-4] =&gt; Array
+// (
+// [title] =&gt; Hippocratic Oath
+// )
+//
+// )
+//
+// )
+print_r($redis-&gt;xRead(['s03' =&gt; '3-2', 's04' =&gt; '4-1']));</code></pre></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>Redis|array|bool</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ <a href="https://redis.io/commands/xread">https://redis.io/commands/xread</a>
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_xreadgroup">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L3890">at line 3890</a></div>
+ <code> Redis|array|bool
+ <strong>xreadgroup</strong>(string $group, string $consumer, array $streams, int $count = 1, int $block = 1)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>Read one or more messages using a consumer group.</p></p>
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$group</td>
+ <td><p>The consumer group to use.</p></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>$consumer</td>
+ <td><p>The consumer to use.</p></td>
+ </tr>
+ <tr>
+ <td>array</td>
+ <td>$streams</td>
+ <td><p>An array of stream names and message IDs</p></td>
+ </tr>
+ <tr>
+ <td>int</td>
+ <td>$count</td>
+ <td><p>Optional maximum number of messages to return</p></td>
+ </tr>
+ <tr>
+ <td>int</td>
+ <td>$block</td>
+ <td><p>How long to block if there are no messages available.</p></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>Redis|array|bool</td>
+ <td><p>Zero or more unread messages or false on failure.</p>
+<pre><code>&lt;?php
+
+$redis = new Redis(['host' =&gt; 'localhost']);
+
+$redis-&gt;del('episodes');
+
+// Create a consumer group (and stream)
+$redis-&gt;xGroup('CREATE', 'episodes', 'ds9', '0-0', true);
+
+// Add a couple of messages to the stream
+$redis-&gt;xAdd('episodes', '1-1', ['title' =&gt; 'Emissary: Part 1']);
+$redis-&gt;xAdd('episodes', '1-2', ['title' =&gt; 'A Man Alone']);
+
+// Now read some messages with our consumer group
+$messages = $redis-&gt;xReadGroup('ds9', 'sisko', ['episodes' =&gt; '&gt;']);
+
+// After having read the two messages, add another
+$redis-&gt;xAdd('episodes', '1-3', ['title' =&gt; 'Emissary: Part 2']);
+
+// Acknowledge the first two read messages
+foreach ($messages as $stream =&gt; $stream_messages) {
+ $ids = array_keys($stream_messages);
+ $redis-&gt;xAck('stream', 'ds9', $ids);
+}
+
+// We can now pick up where we left off, and will only get the final message
+$msgs = $redis-&gt;xReadGroup('ds9', 'sisko', ['episodes' =&gt; '&gt;']);
+
+// array(1) {
+// ["episodes"]=&gt;
+// array(1) {
+// ["1-3"]=&gt;
+// array(1) {
+// ["title"]=&gt;
+// string(16) "Emissary: Part 2"
+// }
+// }
+// }
+var_dump($msgs);
+?&gt;</code></pre></td>
+ </tr>
+ </table>
+
+
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_xrevrange">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L3939">at line 3939</a></div>
+ <code> Redis|array|bool
+ <strong>xrevrange</strong>(string $key, string $end, string $start, int $count = -1)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>Get a range of entries from a STREAM ke in reverse cronological order.</p></p>
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td><p>The stream key to query.</p></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>$end</td>
+ <td><p>The maximum message ID to include.</p></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>$start</td>
+ <td><p>The minimum message ID to include.</p></td>
+ </tr>
+ <tr>
+ <td>int</td>
+ <td>$count</td>
+ <td><p>An optional maximum number of messages to include.</p></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>Redis|array|bool</td>
+ <td><p>The entries within the requested range, from newest to oldest.</p>
+<pre><code>&lt;?php
+$redis = new Redis(['host' =&gt; 'localhost']);
+
+$redis-&gt;del('stream');
+
+for ($i = 0; $i &lt; 2; $i++) {
+ for ($j = 1; $j &lt;= 2; $j++) {
+ $redis-&gt;xAdd('stream', "$i-$j", ['message' =&gt; "$i:$j"]);
+ }
+}
+
+// Array
+// (
+// [0-2] =&gt; Array
+// (
+// [message] =&gt; 0:2
+// )
+//
+// [0-1] =&gt; Array
+// (
+// [message] =&gt; 0:1
+// )
+//
+// )
+$redis-&gt;xRevRange('stream', '0-2', '0-1');
+
+// '-' and '+' are special values which mean 'minimum possible',
+// and 'maximum possible' id, respectively.
+$redis-&gt;xRevRange('stream', '+', '-');
+?&gt;</code></pre></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ <a href="https://redis.io/commands/xrevrange">https://redis.io/commands/xrevrange</a>
+ </td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>
+ <a href="https://redis.io/commands/xrange">https://redis.io/commands/xrange</a>
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_xtrim">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L4009">at line 4009</a></div>
+ <code> Redis|int|false
+ <strong>xtrim</strong>(string $key, string $threshold, bool $approx = false, bool $minid = false, int $limit = -1)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>Truncate a STREAM key in various ways.</p></p>
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td><p>The STREAM key to trim.</p></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>$threshold</td>
+ <td><p>This can either be a maximum length, or a minimum id.
+MAXLEN - An integer describing the maximum desired length of the stream after the command.
+MINID - An ID that will become the new minimum ID in the stream, as Redis will trim all
+messages older than this ID.</p></td>
+ </tr>
+ <tr>
+ <td>bool</td>
+ <td>$approx</td>
+ <td><p>Whether redis is allowed to do an approximate trimming of the stream. This is
+more efficient for Redis given how streams are stored internally.</p></td>
+ </tr>
+ <tr>
+ <td>bool</td>
+ <td>$minid</td>
+ <td><p>When set to <code>true</code>, users should pass a minimum ID to the <code>$threshold</code> argument.</p></td>
+ </tr>
+ <tr>
+ <td>int</td>
+ <td>$limit</td>
+ <td><p>An optional upper bound on how many entries to trim during the command.</p>
+<pre><code>&lt;?php
+$redis = new Redis(['host' =&gt; 'localhost']);
+
+$redis-&gt;del('stream');
+$redis-&gt;xAdd('stream', '1-1', ['one' =&gt; 'one']);
+$redis-&gt;xAdd('stream', '1-2', ['one' =&gt; 'two']);
+$redis-&gt;xAdd('stream', '2-1', ['two' =&gt; 'one']);
+$redis-&gt;xAdd('stream', '2-2', ['two' =&gt; 'two']);
+
+// Trim to three elemn
+$redis-&gt;xTrim('stream', 3);
+
+// Array
+// (
+// [1-2] =&gt; Array
+// (
+// [one] =&gt; two
+// )
+//
+// [2-1] =&gt; Array
+// (
+// [two] =&gt; one
+// )
+//
+// [2-2] =&gt; Array
+// (
+// [two] =&gt; two
+// )
+//
+// )
+$redis-&gt;xRange('stream', '-', '+');
+
+// Now let's trim everything older than '2-1'
+$redis-&gt;xTrim('stream', '2-1', false, true);
+
+// Array
+// (
+// [2-1] =&gt; Array
+// (
+// [two] =&gt; one
+// )
+//
+// [2-2] =&gt; Array
+// (
+// [two] =&gt; two
+// )
+//
+// )
+print_r($redis-&gt;xRange('stream', '-', '+'));
+?&gt;</code></pre></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>Redis|int|false</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ <a href="https://redis.io/commands/xtrim">https://redis.io/commands/xtrim</a>
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_zAdd">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L4072">at line 4072</a></div>
+ <code> Redis|int|false
+ <strong>zAdd</strong>(string $key, array|float $score_or_options, mixed ...$more_scores_and_mems)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>Add one or more elements and scores to a Redis sorted set.</p></p>
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td><p>The sorted set in question.</p></td>
+ </tr>
+ <tr>
+ <td>array|float</td>
+ <td>$score_or_options</td>
+ <td><p>Either the score for the first element, or an array
+containing one or more options for the operation.</p></td>
+ </tr>
+ <tr>
+ <td>mixed</td>
+ <td>...$more_scores_and_mems</td>
+ <td><p>A variadic number of additional scores and members.</p>
+<p>Following is information about the options that may be passed as the scond argument:</p>
+<pre><code>$options = [
+ 'NX', # Only update elements that already exist
+ 'NX', # Only add new elements but don't update existing ones.
+
+ 'LT' # Only update existing elements if the new score is less than the existing one.
+ 'GT' # Only update existing elements if the new score is greater than the existing one.
+
+ 'CH' # Instead of returning the number of elements added, Redis will return the number
+ # Of elements that were changed in the operation.
+
+ 'INCR' # Instead of setting each element to the provide score, increment the elemnt by the
+ # provided score, much like ZINCRBY. When this option is passed, you may only
+ # send a single score and member.
+];
+
+Note: 'GX', 'LT', and 'NX' cannot be passed together, and PhpRedis will send whichever one is last in
+ the options array.
+</code></pre>
+<p>&lt;?php
+$redis = new Redis(['host' =&gt; 'localhost']);</p>
+<p>$redis-&gt;del('zs');</p>
+<p>// Add three new elements to our zset
+$redis-&gt;zadd('zs', 1, 'first', 2, 'second', 3, 'third');</p>
+<p>// Array
+// (
+// [first] =&gt; 1
+// [second] =&gt; 2
+// [third] =&gt; 3
+// )
+$redis-&gt;zRange('zs', 0, -1, true);</p>
+<p>// Update only existing elements. Note that 'new-element' isn't added
+$redis-&gt;zAdd('zs', ['XX'], 8, 'second', 99, 'new-element');</p>
+<p>// Array
+// (
+// [first] =&gt; 1
+// [third] =&gt; 3
+// [second] =&gt; 8
+// )
+print_r($redis-&gt;zRange('zs', 0, -1, true));
+?&gt;</p>
+<pre><code></code></pre></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>Redis|int|false</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ <a href="https://redis.io/commands/zadd">https://redis.io/commands/zadd</a>
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_zCard">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L4095">at line 4095</a></div>
+ <code> Redis|int|false
+ <strong>zCard</strong>(string $key)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>Return the number of elements in a sorted set.</p></p>
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td><p>The sorted set to retreive cardinality from.</p></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>Redis|int|false</td>
+ <td><p>The number of elements in the set or false on failure</p>
+<pre><code>&lt;?php
+$redis = new Redis(['host' =&gt; 'localhost']);
+
+$redis-&gt;del('zs');
+$redis-&gt;zAdd('zs', 0, 'a', 1, 'b', 2, 'c');
+
+// count(['a', 'b', 'c']) == 3
+$redis-&gt;zCard('zs');
+?&gt;</code></pre></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ <a href="https://redis.io/commands/zcard">https://redis.io/commands/zcard</a>
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_zCount">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L4127">at line 4127</a></div>
+ <code> Redis|int|false
+ <strong>zCount</strong>(string $key, string $start, string $end)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>Count the number of members in a sorted set with scores inside a provided range.</p></p>
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td><p>The sorted set to check.</p></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>$start</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>$end</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>Redis|int|false</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ <a href="https://redis.io/commands/zcount">https://redis.io/commands/zcount</a>
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_zIncrBy">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L4154">at line 4154</a></div>
+ <code> Redis|float|false
+ <strong>zIncrBy</strong>(string $key, float $value, mixed $member)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>Create or increment the score of a member in a Redis sorted set</p></p>
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td><p>The sorted set in question.</p></td>
+ </tr>
+ <tr>
+ <td>float</td>
+ <td>$value</td>
+ <td><p>How much to increment the score.</p></td>
+ </tr>
+ <tr>
+ <td>mixed</td>
+ <td>$member</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>Redis|float|false</td>
+ <td><p>The new score of the member or false on failure.</p>
+<pre><code>&lt;?php
+$redis = new Redis(['host' =&gt; 'localhost']);
+
+$redis-&gt;del('zs');
+$redis-&gt;zAdd('zs', 0, 'apples', 2, 'bananas');
+
+// 2 + 5.0 == 7
+print_r($redis-&gt;zIncrBy('zs', 5.0, 'bananas'));
+
+// new element so 0 + 2.0 == 2
+print_r($redis-&gt;zIncrBy('zs', 2.0, 'eggplants'));
+?&gt;</code></pre></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ <a href="https://redis.io/commands/zincrby">https://redis.io/commands/zincrby</a>
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_zLexCount">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L4184">at line 4184</a></div>
+ <code> Redis|int|false
+ <strong>zLexCount</strong>(string $key, string $min, string $max)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>Count the number of elements in a sorted set whos members fall within the provided
+lexographical range.</p></p>
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td><p>The sorted set to check.</p></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>$min</td>
+ <td><p>The minimum matching lexographical string</p></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>$max</td>
+ <td><p>The maximum matching lexographical string</p></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>Redis|int|false</td>
+ <td><p>The number of members that fall within the range or false on failure.</p>
+<pre><code>&lt;?php
+$redis = new Redis(['host' =&gt; 'localhost']);
+
+$redis-&gt;del('captains');
+$redis-&gt;zAdd('captains', 0, 'Janeway', 0, 'Kirk', 0, 'Picard', 0, 'Sisko', 0, 'Archer');
+
+count(['Archer', 'Janeway', 'Kirk', 'Picard']) == 4
+$redis-&gt;zLexCount('captains', '[A', '[S');
+
+count(['Kirk', 'Picard']) == 2
+$redis-&gt;zRangeByLex('captains', '[A', '[S', 2, 2);
+?&gt;</code></pre></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ <a href="https://redis.io/commands/zlexcount">https://redis.io/commands/zlexcount</a>
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_zMscore">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L4223">at line 4223</a></div>
+ <code> Redis|array|false
+ <strong>zMscore</strong>(string $key, mixed $member, mixed ...$other_members)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>Retrieve the score of one or more members in a sorted set.</p></p>
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td><p>The sorted set</p></td>
+ </tr>
+ <tr>
+ <td>mixed</td>
+ <td>$member</td>
+ <td><p>The first member to return the score from</p></td>
+ </tr>
+ <tr>
+ <td>mixed</td>
+ <td>...$other_members</td>
+ <td><p>One or more additional members to return the scores of.</p></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>Redis|array|false</td>
+ <td><p>An array of the scores of the requested elements.</p>
+<pre><code>&lt;?php
+$redis = new Redis(['host' =&gt; 'localhost']);
+
+$redis-&gt;del('zs');
+
+$redis-&gt;zAdd('zs', 0, 'zero', 1, 'one', 2, 'two', 3, 'three');
+
+// array(2) {
+// [0]=&gt;
+// float(0)
+// [1]=&gt;
+// float(2)
+// }
+$redis-&gt;zMScore('zs', 'zero', 'two');
+
+// array(2) {
+// [0]=&gt;
+// float(1)
+// [1]=&gt;
+// bool(false)
+// }
+$redis-&gt;zMScore('zs', 'one', 'not-a-member');
+?&gt;</code></pre></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ <a href="https://redis.io/commands/zmscore">https://redis.io/commands/zmscore</a>
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_zPopMax">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L4257">at line 4257</a></div>
+ <code> Redis|array|false
+ <strong>zPopMax</strong>(string $key, int $count = null)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>Pop one or more of the highest scoring elements from a sorted set.</p></p>
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td><p>The sorted set to pop elements from.</p></td>
+ </tr>
+ <tr>
+ <td>int</td>
+ <td>$count</td>
+ <td><p>An optional count of elements to pop.</p></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>Redis|array|false</td>
+ <td><p>All of the popped elements with scores or false on fialure.</p>
+<pre><code>&lt;?php
+$redis = new Redis(['host' =&gt; 'localhost']);
+
+$redis-&gt;del('zs');
+$redis-&gt;zAdd('zs', 0, 'zero', 1, 'one', 2, 'two', 3, 'three');
+
+// Array
+// (
+// [three] =&gt; 3
+// )
+print_r($redis-&gt;zPopMax('zs'));
+
+// Array
+// (
+// [two] =&gt; 2
+// [one] =&gt; 1
+// )
+print_r($redis-&gt;zPopMax('zs', 2));
+?&gt;</code></pre></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ <a href="https://redis.io/commands/zpopmax">https://redis.io/commands/zpopmax</a>
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_zPopMin">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L4291">at line 4291</a></div>
+ <code> Redis|array|false
+ <strong>zPopMin</strong>(string $key, int $count = null)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>Pop one or more of the lowest scoring elements from a sorted set.</p></p>
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td><p>The sorted set to pop elements from.</p></td>
+ </tr>
+ <tr>
+ <td>int</td>
+ <td>$count</td>
+ <td><p>An optional count of elements to pop.</p></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>Redis|array|false</td>
+ <td><p>The popped elements with their scores or false on failure.</p>
+<pre><code>&lt;?php
+$redis = new Redis(['host' =&gt; 'localhost']);
+
+$redis-&gt;del('zs');
+$redis-&gt;zAdd('zs', 0, 'zero', 1, 'one', 2, 'two', 3, 'three');
+
+// Array
+// (
+// [zero] =&gt; 0
+// )
+$redis-&gt;zPopMin('zs');
+
+// Array
+// (
+// [one] =&gt; 1
+// [two] =&gt; 2
+// )
+$redis-&gt;zPopMin('zs', 2);
+?&gt;</code></pre></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ <a href="https://redis.io/commands/zpopmin">https://redis.io/commands/zpopmin</a>
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_zRange">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L4328">at line 4328</a></div>
+ <code> Redis|array|false
+ <strong>zRange</strong>(string $key, mixed $start, mixed $end, array|bool|null $options = null)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>Retrieve a range of elements of a sorted set between a start and end point.</p></p> <p><p>How the command works in particular is greatly affected by the options that
+are passed in.</p></p>
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td><p>The sorted set in question.</p></td>
+ </tr>
+ <tr>
+ <td>mixed</td>
+ <td>$start</td>
+ <td><p>The starting index we want to return.</p></td>
+ </tr>
+ <tr>
+ <td>mixed</td>
+ <td>$end</td>
+ <td><p>The final index we want to return.</p></td>
+ </tr>
+ <tr>
+ <td>array|bool|null</td>
+ <td>$options</td>
+ <td><p>This value may either be an array of options to pass to
+the command, or for historical purposes a boolean which
+controls just the 'WITHSCORES' option.</p></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>Redis|array|false</td>
+ <td><p>An array with matching elements or false on failure.</p>
+<p>Detailed description of options array:</p>
+<pre><code>&lt;?php
+$options = [
+ 'WITHSCORES' =&gt; true, // Return both scores and members.
+ 'LIMIT' =&gt; [10, 10], // Start at offset 10 and return 10 elements.
+ 'REV' // Return the elements in reverse order
+ 'BYSCORE', // Treat `start` and `end` as scores instead
+ 'BYLEX' // Treat `start` and `end` as lexicographical values.
+];
+?&gt;</code></pre>
+<p>Note: 'BYLEX' and 'BYSCORE' are mutually exclusive.</p></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ <a href="https://redis.io/commands/zrange/">https://redis.io/commands/zrange/</a>
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_zRangeByLex">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L4368">at line 4368</a></div>
+ <code> Redis|array|false
+ <strong>zRangeByLex</strong>(string $key, string $min, string $max, int $offset = -1, int $count = -1)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>Retrieve a range of elements from a sorted set by legographical range.</p></p>
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td><p>The sorted set to retreive elements from</p></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>$min</td>
+ <td><p>The minimum legographical value to return</p></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>$max</td>
+ <td><p>The maximum legographical value to return</p></td>
+ </tr>
+ <tr>
+ <td>int</td>
+ <td>$offset</td>
+ <td><p>An optional offset within the matching values to return</p></td>
+ </tr>
+ <tr>
+ <td>int</td>
+ <td>$count</td>
+ <td><p>An optional count to limit the replies to (used in conjunction with offset)</p></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>Redis|array|false</td>
+ <td><p>An array of matching elements or false on failure.</p>
+<pre><code>&lt;?php
+$redis = new Redis(['host' =&gt; 'localhost']);
+
+$redis-&gt;del('captains');
+$redis-&gt;zAdd('captains', 0, 'Janeway', 0, 'Kirk', 0, 'Picard', 0, 'Sisko', 0, 'Archer');
+
+// Array
+// (
+// [0] =&gt; Archer
+// [1] =&gt; Janeway
+// [2] =&gt; Kirk
+// [3] =&gt; Picard
+// )
+$redis-&gt;zRangeByLex('captains', '[A', '[S');
+
+// Array
+// (
+// [0] =&gt; Kirk
+// [1] =&gt; Picard
+// )
+$redis-&gt;zRangeByLex('captains', '[A', '[S', 2, 2);
+?&gt;</code></pre></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ <a href="https://redis.io/commands/zrangebylex">https://redis.io/commands/zrangebylex</a>
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_zRangeByScore">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L4434">at line 4434</a></div>
+ <code> Redis|array|false
+ <strong>zRangeByScore</strong>(string $key, string $start, string $end, array $options = [])
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>Retrieve a range of members from a sorted set by their score.</p></p>
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td><p>The sorted set to query.</p></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>$start</td>
+ <td><p>The minimum score of elements that Redis should return.</p></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>$end</td>
+ <td><p>The maximum score of elements that Redis should return.</p></td>
+ </tr>
+ <tr>
+ <td>array</td>
+ <td>$options</td>
+ <td><p>Options that change how Redis will execute the command.</p>
+<p>OPTION TYPE MEANING
+'WITHSCORES' bool Whether to also return scores.
+'LIMIT' [offset, count] Limit the reply to a subset of elements.</p></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>Redis|array|false</td>
+ <td><p>The number of matching elements or false on failure.</p>
+<pre><code>&lt;/php
+$redis = new Redis(['host' =&gt; 'localhost']);
+
+$redis-&gt;del('zs');
+
+for ($i = 0; $i &lt; 50; $i++) {
+ $redis-&gt;zAdd('zs', $i, "mem:$i");
+}
+
+// Array
+// (
+// [0] =&gt; mem:0
+// [1] =&gt; mem:1
+// [2] =&gt; mem:2
+// [3] =&gt; mem:3
+// [4] =&gt; mem:4
+// )
+$redis-&gt;zRangeByScore('zs', 0, 4);
+
+// Array
+// (
+// [mem:20] =&gt; 20
+// [mem:21] =&gt; 21
+// [mem:22] =&gt; 22
+// [mem:23] =&gt; 23
+// [mem:24] =&gt; 24
+// [mem:25] =&gt; 25
+// [mem:26] =&gt; 26
+// [mem:27] =&gt; 27
+// [mem:28] =&gt; 28
+// [mem:29] =&gt; 29
+// [mem:30] =&gt; 30
+// )
+$redis-&gt;zRangeByScore('zs', 20, 30, ['WITHSCORES' =&gt; true]);
+
+// Array
+// (
+// [mem:25] =&gt; 25
+// [mem:26] =&gt; 26
+// [mem:27] =&gt; 27
+// [mem:28] =&gt; 28
+// [mem:29] =&gt; 29
+// )
+$redis-&gt;zRangeByScore('zs', 20, 30, ['WITHSCORES' =&gt; true, 'LIMIT' =&gt; [5, 5]]);
+?&gt;</code></pre></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ <a href="https://redis.io/commands/zrangebyscore">https://redis.io/commands/zrangebyscore</a>
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_zrangestore">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L4454">at line 4454</a></div>
+ <code> Redis|int|false
+ <strong>zrangestore</strong>(string $dstkey, string $srckey, string $start, string $end, array|bool|null $options = NULL)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>This command is similar to ZRANGE except that instead of returning the values directly
+it will store them in a destination key provided by the user</p></p>
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$dstkey</td>
+ <td><p>The key to store the resulting element(s)</p></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>$srckey</td>
+ <td><p>The source key with element(s) to retrieve</p></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>$start</td>
+ <td><p>The starting index to store</p></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>$end</td>
+ <td><p>The ending index to store</p></td>
+ </tr>
+ <tr>
+ <td>array|bool|null</td>
+ <td>$options</td>
+ <td><p>Our options array that controls how the command will function.</p></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>Redis|int|false</td>
+ <td><p>The number of elements stored in $dstkey or false on failure.</p>
+<p>See Redis::zRange for a full description of the possible options.</p></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ <a href="https://redis.io/commands/zrange/">https://redis.io/commands/zrange/</a>
+ </td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>
+ Redis::zRange
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_zRandMember">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L4481">at line 4481</a></div>
+ <code> Redis|string|array
+ <strong>zRandMember</strong>(string $key, array $options = null)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>Retrieve one or more random members from a Redis sorted set.</p></p>
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td><p>The sorted set to pull random members from.</p></td>
+ </tr>
+ <tr>
+ <td>array</td>
+ <td>$options</td>
+ <td><p>One or more options that determine exactly how the command operates.</p>
+<pre><code> OPTION TYPE MEANING
+ 'COUNT' int The number of random members to return.
+ 'WITHSCORES' bool Whether to return scores and members instead of
+ just members.</code></pre>
+<pre><code>&lt;?php
+$redis = new Redis(['host' =&gt; 'localhost']);
+
+$redis-&gt;multi()-&gt;del('zs')-&gt;zadd('zs', 1, 'one', 2, 'two', 3, 'three')-&gt;exec();
+
+// Return two random members from our set, with scores
+$redis-&gt;zRandMember('zs', ['COUNT' =&gt; 2, 'WITHSCORES' =&gt; true]);
+
+?&gt;</code></pre></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>Redis|string|array</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ <a href="https://redis.io/commands/zrandmember">https://redis.io/commands/zrandmember</a>
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_zRank">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L4507">at line 4507</a></div>
+ <code> Redis|int|false
+ <strong>zRank</strong>(string $key, mixed $member)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>Get the rank of a member of a sorted set, by score.</p></p>
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td><p>The sorted set to check.</p></td>
+ </tr>
+ <tr>
+ <td>mixed</td>
+ <td>$member</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>Redis|int|false</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ <a href="https://redis.io/commands/zrank">https://redis.io/commands/zrank</a>
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_zRem">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L4542">at line 4542</a></div>
+ <code> Redis|int|false
+ <strong>zRem</strong>(mixed $key, mixed $member, mixed ...$other_members)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>Remove one or more members from a Redis sorted set.</p></p>
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>mixed</td>
+ <td>$key</td>
+ <td><p>The sorted set in question.</p></td>
+ </tr>
+ <tr>
+ <td>mixed</td>
+ <td>$member</td>
+ <td><p>The first member to remove.</p></td>
+ </tr>
+ <tr>
+ <td>mixed</td>
+ <td>...$other_members</td>
+ <td><p>One or more members to remove passed in a variadic fashion.</p></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>Redis|int|false</td>
+ <td><p>The number of members that were actually removed or false on failure.</p>
+<pre><code>
+&lt;?php
+$redis = new Redis(['host' =&gt; 'localhost']);
+
+$redis-&gt;del('zs');
+
+for ($i = 0; $i &lt; 10; $i++) {
+ $redis-&gt;zAdd('zs', $i, "mem:$i");
+}
+
+// Remove a few elements
+$redis-&gt;zRem('zs', 'mem:0', 'mem:1', 'mem:2', 'mem:6', 'mem:7', 'mem:8', 'mem:9');
+
+// Array
+// (
+// [0] =&gt; mem:3
+// [1] =&gt; mem:4
+// [2] =&gt; mem:5
+// )
+$redis-&gt;zRange('zs', 0, -1);
+?&gt;</code></pre></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ <a href="https://redis.io/commands/zrem">https://redis.io/commands/zrem</a>
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_zRemRangeByLex">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L4589">at line 4589</a></div>
+ <code> Redis|int|false
+ <strong>zRemRangeByLex</strong>(string $key, string $min, string $max)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>Remove zero or more elements from a Redis sorted set by legographical range.</p></p>
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td><p>The sorted set to remove elements from.</p></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>$min</td>
+ <td><p>The start of the lexographical range to remove.</p></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>$max</td>
+ <td><p>The end of the lexographical range to remove</p></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>Redis|int|false</td>
+ <td><p>The number of elements removed from the set or false on failure.</p>
+<pre><code>&lt;?php
+$redis = new Redis(['host' =&gt; 'localhost']);
+
+$redis-&gt;pipeline()-&gt;del('zs')
+ -&gt;zAdd('zs', 1, 'apple', 2, 'banana', 3, 'carrot', 4, 'date', 5, 'eggplant')
+ -&gt;exec();
+
+// Remove a* (inclusive) .. b* (exclusive), meaning 'apple' will be removed, but 'banana' not
+$redis-&gt;zRemRangeByLex('zs', '[a', '(b');
+
+// Array
+// (
+// [0] =&gt; banana
+// [1] =&gt; carrot
+// [2] =&gt; date
+// [3] =&gt; eggplant
+// )
+print_r($redis-&gt;zRange('zs', 0, -1));
+
+// Remove the elements between 'banana' and 'eggplant'
+$redis-&gt;zRemRangeByLex('zs', '(banana', '(eggplant');
+
+// Array
+// (
+// [0] =&gt; banana
+// [1] =&gt; eggplant
+// )
+print_r($redis-&gt;zRange('zs', 0, -1));
+?&gt;</code></pre></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ <a href="https://redis.io/commands/zremrangebylex">https://redis.io/commands/zremrangebylex</a>
+ </td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>
+ \Redis::zrangebylex()
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_zRemRangeByRank">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L4620">at line 4620</a></div>
+ <code> Redis|int|false
+ <strong>zRemRangeByRank</strong>(string $key, int $start, int $end)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>Remove one or more members of a sorted set by their rank.</p></p>
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td><p>The sorted set where we wnat to remove members.</p></td>
+ </tr>
+ <tr>
+ <td>int</td>
+ <td>$start</td>
+ <td><p>The rank when we want to start removing members</p></td>
+ </tr>
+ <tr>
+ <td>int</td>
+ <td>$end</td>
+ <td><p>The rank we want to stop removing membersk.</p></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>Redis|int|false</td>
+ <td><p>The number of members removed from the set or false on failure.</p>
+<pre><code>&lt;?php
+$redis = new Redis(['host' =&gt; 'localhost']);
+
+$redis-&gt;del('zs');
+$redis-&gt;zAdd('zs', 0, 'zeroth', 1, 'first', 2, 'second', 3, 'third', 4, 'fourth');
+
+// Remove ranks 0..3
+$redis-&gt;zRemRangeByRank('zs', 0, 3);
+
+// Array
+// (
+// [0] =&gt; fourth
+// )
+$redis-&gt;zRange('zs', 0, -1);
+?&gt;</code></pre></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ <a href="https://redis.io/commands/zremrangebyrank">https://redis.io/commands/zremrangebyrank</a>
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_zRemRangeByScore">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L4653">at line 4653</a></div>
+ <code> Redis|int|false
+ <strong>zRemRangeByScore</strong>(string $key, string $start, string $end)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>Remove one or more members of a sorted set by their score.</p></p>
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td><p>The sorted set where we wnat to remove members.</p></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>$start</td>
+ <td><p>The lowest score to remove.</p></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>$end</td>
+ <td><p>The highest score to remove.</p></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>Redis|int|false</td>
+ <td><p>The number of members removed from the set or false on failure.</p>
+<pre><code>&lt;?php
+$redis = new Redis(['host' =&gt; 'localhost']);
+
+$redis-&gt;del('zs');
+$redis-&gt;zAdd('zs', 3, 'three', 5, 'five', 7, 'seven', 7, 'seven-again', 13, 'thirteen', 22, 'twenty-two');
+
+// Removes every member with scores &gt;= 7 and scores &lt;= 13.
+$redis-&gt;zRemRangeByScore('zs', 7, 13);
+
+// Array
+// (
+// [0] =&gt; three
+// [1] =&gt; five
+// [2] =&gt; twenty-two
+// )
+$redis-&gt;zRange('zs', 0, -1);
+?&gt;</code></pre></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ <a href="https://redis.io/commands/zremrangebyrank">https://redis.io/commands/zremrangebyrank</a>
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_zRevRange">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L4695">at line 4695</a></div>
+ <code> Redis|array|false
+ <strong>zRevRange</strong>(string $key, int $start, int $end, mixed $scores = null)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>List the members of a Redis sorted set in reverse order</p></p>
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td><p>The sorted set in question.</p></td>
+ </tr>
+ <tr>
+ <td>int</td>
+ <td>$start</td>
+ <td><p>The index to start listing elements</p></td>
+ </tr>
+ <tr>
+ <td>int</td>
+ <td>$end</td>
+ <td><p>The index to stop listing elements.</p></td>
+ </tr>
+ <tr>
+ <td>mixed</td>
+ <td>$scores</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>Redis|array|false</td>
+ <td><p>The members (and possibly scores) of the matching elements or false
+on failure.</p>
+<p>$redis = new Redis(['host' =&gt; 'localhost']);</p>
+<p>$redis-&gt;del('zs');
+$redis-&gt;zAdd('zs', 1, 'one', 2, 'two', 5, 'five', 10, 'ten');</p>
+<p>// Array
+// (
+// [0] =&gt; ten
+// [1] =&gt; five
+// [2] =&gt; two
+// [3] =&gt; one
+// )
+print_r($redis-&gt;zRevRange('zs', 0, -1));</p>
+<p>// Array
+// (
+// [0] =&gt; two
+// [1] =&gt; one
+// )
+print_r($redis-&gt;zRevRange('zs', 2, 3));</p>
+<p>// Additionally, you may pass <code>true</code> or <code>['withscores' =&gt; true]</code> to tell redis to return scores
+// as well as members.
+$redis-&gt;zRevRange('zs', 0, -1, true);
+$redis-&gt;zRevRange('zs', 0, -1, ['withscores' =&gt; true]);
+?&gt;</p>
+<pre><code></code></pre></td>
+ </tr>
+ </table>
+
+
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_zRevRangeByLex">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L4736">at line 4736</a></div>
+ <code> Redis|array|false
+ <strong>zRevRangeByLex</strong>(string $key, string $max, string $min, int $offset = -1, int $count = -1)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>List members of a Redis sorted set within a legographical range, in reverse order.</p></p>
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td><p>The sorted set to list</p></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>$max</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>$min</td>
+ <td><p>The maximum legographical element to include in the result.</p></td>
+ </tr>
+ <tr>
+ <td>int</td>
+ <td>$offset</td>
+ <td><p>An option offset within the matching elements to start at.</p></td>
+ </tr>
+ <tr>
+ <td>int</td>
+ <td>$count</td>
+ <td><p>An optional count to limit the replies to.</p></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>Redis|array|false</td>
+ <td><p>The matching members or false on failure.</p>
+<pre><code>&lt;?php
+
+$redis = new Redis(['host' =&gt; 'localhost']);
+
+$redis-&gt;del('captains');
+$redis-&gt;zAdd('captains', 0, 'Janeway', 0, 'Picard', 0, 'Kirk', 0, 'Archer');
+
+// Array
+// (
+// [0] =&gt; Picard
+// [1] =&gt; Kirk
+// [2] =&gt; Janeway
+// )
+$redis-&gt;zRevRangeByLex('captains', '[Q', '[J');
+
+// Array
+// (
+// [0] =&gt; Kirk
+// [1] =&gt; Janeway
+// )
+$redis-&gt;zRevRangeByLex('captains', '[Q', '[J', 1, 2);
+?&gt;</code></pre></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ <a href="https://redis.io/commands/zrevrangebylex">https://redis.io/commands/zrevrangebylex</a>
+ </td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>
+ \Redis::zrangebylex()
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_zRevRangeByScore">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L4795">at line 4795</a></div>
+ <code> Redis|array|false
+ <strong>zRevRangeByScore</strong>(string $key, string $max, string $min, array|bool $options = [])
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>List elements from a Redis sorted set by score, highest to lowest</p></p>
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td><p>The sorted set to query.</p></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>$max</td>
+ <td><p>The highest score to include in the results.</p></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>$min</td>
+ <td><p>The lowest score to include in the results.</p></td>
+ </tr>
+ <tr>
+ <td>array|bool</td>
+ <td>$options</td>
+ <td><p>An options array that modifies how the command executes.</p>
+<pre><code>$options = [
+ 'WITHSCORES' =&gt; true|false # Whether or not to return scores
+ 'LIMIT' =&gt; [offset, count] # Return a subset of the matching members
+];</code></pre>
+<p>NOTE: For legacy reason, you may also simply pass <code>true</code> for the
+options argument, to mean <code>WITHSCORES</code>.</p></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>Redis|array|false</td>
+ <td><p>The matching members in reverse order of score or false on failure.</p>
+<pre><code>&lt;?php
+$redis = new Redis(['host' =&gt; 'localhost']);
+
+$redis-&gt;del('oldest-people');
+
+$redis-&gt;zadd('oldest-people', 122.4493, 'Jeanne Calment', 119.2932, 'Kane Tanaka',
+ 119.2658, 'Sarah Knauss', 118.7205, 'Lucile Randon',
+ 117.7123, 'Nabi Tajima', 117.6301, 'Marie-Louise Meilleur',
+ 117.5178, 'Violet Brown', 117.3753, 'Emma Morano',
+ 117.2219, 'Chiyo Miyako', 117.0740, 'Misao Okawa');
+
+// Array
+// (
+// [0] =&gt; Kane Tanaka
+// [1] =&gt; Sarah Knauss
+// )
+$redis-&gt;zRevRangeByScore('oldest-people', 122, 119);
+
+//Array
+//(
+// [0] =&gt; Jeanne Calment
+// [1] =&gt; Kane Tanaka
+// [2] =&gt; Sarah Knauss
+// [3] =&gt; Lucile Randon
+//)
+$redis-&gt;zRevRangeByScore('oldest-people', 'inf', 118);
+
+// Array
+// (
+// [0] =&gt; Emma Morano
+// )
+$redis-&gt;zRevRangeByScore('oldest-people', '117.5', '-inf', ['LIMIT' =&gt; [0, 1]]);
+?&gt;</code></pre></td>
+ </tr>
+ </table>
+
+
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_zRevRank">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L4824">at line 4824</a></div>
+ <code> Redis|int|false
+ <strong>zRevRank</strong>(string $key, mixed $member)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>Retrieve a member of a sorted set by reverse rank.</p></p>
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td><p>The sorted set to query.</p></td>
+ </tr>
+ <tr>
+ <td>mixed</td>
+ <td>$member</td>
+ <td><p>The member to look up.</p></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>Redis|int|false</td>
+ <td><p>The reverse rank (the rank if counted high to low) of the member or
+false on failure.</p>
+<pre><code>&lt;?php
+$redis = new Redis(['host' =&gt; 'localhost']);
+
+$redis-&gt;del('ds9-characters');
+
+$redis-&gt;zAdd('ds9-characters', 10, 'Sisko', 9, 'Garak', 8, 'Dax', 7, 'Odo');
+
+// Highest score, reverse rank 0
+$redis-&gt;zrevrank('ds9-characters', 'Sisko');
+
+// Second highest score, reverse rank 1
+$redis-&gt;zrevrank('ds9-characters', 'Garak');
+?&gt;</code></pre></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ <a href="https://redis.io/commands/zrevrank">https://redis.io/commands/zrevrank</a>
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_zScore">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L4853">at line 4853</a></div>
+ <code> Redis|float|false
+ <strong>zScore</strong>(string $key, mixed $member)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>Get the score of a member of a sorted set.</p></p>
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td><p>The sorted set to query.</p></td>
+ </tr>
+ <tr>
+ <td>mixed</td>
+ <td>$member</td>
+ <td><p>The member we wish to query.</p></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>Redis|float|false</td>
+ <td><p>score of the requested element or false if it is not found.</p>
+<pre><code>&lt;?php
+$redis = new Redis(['host' =&gt; 'localhost']);
+
+$redis-&gt;del('telescopes');
+
+$redis-&gt;zAdd('telescopes', 11.9, 'LBT', 10.4, 'GTC', 10, 'HET');
+
+foreach ($redis-&gt;zRange('telescopes', 0, -1) as $name) {
+ // Get the score for this member
+ $aperature = $redis-&gt;zScore('telescopes', $name);
+
+ echo "The '$name' telescope has an effective aperature of: $aperature meters\n";
+}
+?&gt;</code></pre></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ <a href="https://redis.io/commands/zscore">https://redis.io/commands/zscore</a>
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_zdiff">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L4887">at line 4887</a></div>
+ <code> Redis|array|false
+ <strong>zdiff</strong>(array $keys, array $options = null)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>Given one or more sorted set key names, return every element that is in the first
+set but not any of the others.</p></p>
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>array</td>
+ <td>$keys</td>
+ <td><p>One ore more sorted sets.</p></td>
+ </tr>
+ <tr>
+ <td>array</td>
+ <td>$options</td>
+ <td><p>An array which can contain ['WITHSCORES' =&gt; true] if you want Redis to
+return members and scores.</p></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>Redis|array|false</td>
+ <td><p>An array of members or false on failure.</p>
+<pre><code>&lt;?php
+$redis = new Redis(['host' =&gt; 'localhost']);
+
+$redis-&gt;del('primes', 'evens', 'mod3');
+
+$redis-&gt;zAdd('primes', 1, 'one', 3, 'three', 5, 'five');
+$redis-&gt;zAdd('evens', 2, 'two', 4, 'four');
+$redis-&gt;zAdd('mod3', 3, 'three', 6, 'six');
+
+// Array
+// (
+// [0] =&gt; one
+// [1] =&gt; five
+// )
+print_r($redis-&gt;zDiff(['primes', 'evens', 'mod3']));
+?&gt;</code></pre></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ <a href="https://redis.io/commands/zdiff">https://redis.io/commands/zdiff</a>
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_zdiffstore">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L4904">at line 4904</a></div>
+ <code> Redis|int|false
+ <strong>zdiffstore</strong>(string $dst, array $keys)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>Store the difference of one or more sorted sets in a destination sorted set.</p></p>
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$dst</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>array</td>
+ <td>$keys</td>
+ <td><p>One or more source key names</p></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>Redis|int|false</td>
+ <td><p>The number of elements stored in the destination set or false on
+failure.</p>
+<p>NOTE: See Redis::zdiff() for a more detailed description of how the diff operation works.</p></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ <a href="https://redis.io/commands/zdiff">https://redis.io/commands/zdiff</a>
+ </td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>
+ <a href="Redis.html#method_zdiff">
+Redis::zdiff</a>
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_zinter">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L4951">at line 4951</a></div>
+ <code> Redis|array|false
+ <strong>zinter</strong>(array $keys, array|null $weights = null, array|null $options = null)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>Compute the intersection of one or more sorted sets and return the members</p></p>
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>array</td>
+ <td>$keys</td>
+ <td><p>One ore more sorted sets.</p></td>
+ </tr>
+ <tr>
+ <td>array|null</td>
+ <td>$weights</td>
+ <td><p>An optional array of weights to be applied to each set when performing
+the intersection.</p></td>
+ </tr>
+ <tr>
+ <td>array|null</td>
+ <td>$options</td>
+ <td><p>Options for how Redis should combine duplicate elements when performing the
+intersection. See Redis::zunion() for details.</p></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>Redis|array|false</td>
+ <td><p>All of the members that exist in every set.</p>
+<pre><code>&lt;?php
+
+$redis = new Redis(['host' =&gt; 'localhost']);
+
+$redis-&gt;del('tng', 'ds9');
+
+$redis-&gt;zAdd('TNG', 2, 'Worf', 2.5, 'Data', 4.0, 'Picard');
+$redis-&gt;zAdd('DS9', 2.5, 'Worf', 3.0, 'Kira', 4.0, 'Sisko');
+
+// Array
+// (
+// [0] =&gt; Worf
+// )
+$redis-&gt;zInter(['TNG', 'DS9']);
+
+// Array
+// (
+// [Worf] =&gt; 4.5
+// )
+$redis-&gt;zInter(['TNG', 'DS9'], NULL, ['withscores' =&gt; true]);
+
+// Array
+// (
+// [Worf] =&gt; 2.5
+// )
+$redis-&gt;zInter(['TNG', 'DS9'], NULL, ['withscores' =&gt; true, 'aggregate' =&gt; 'max']);
+
+?&gt;</code></pre></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ <a href="https://redis.io/commands/zinter">https://redis.io/commands/zinter</a>
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_zintercard">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L4982">at line 4982</a></div>
+ <code> Redis|int|false
+ <strong>zintercard</strong>(array $keys, int $limit = -1)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>Similar to ZINTER but instead of returning the intersected values, this command returns the
+cardinality of the intersected set.</p></p>
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>array</td>
+ <td>$keys</td>
+ <td><p>One ore more sorted set key names.</p></td>
+ </tr>
+ <tr>
+ <td>int</td>
+ <td>$limit</td>
+ <td><p>An optional upper bound on the returned cardinality. If set to a value
+greater than zero, Redis will stop processing the intersection once the
+resulting cardinality reaches this limit.</p></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>Redis|int|false</td>
+ <td><p>The cardinality of the intersection or false on failure.</p>
+<pre><code>&lt;?php
+$redis = new Redis(['host' =&gt; 'localhost']);
+
+$redis-&gt;del('zs1', 'zs2');
+
+$redis-&gt;zAdd('zs1', 1, 'one', 2, 'two', 3, 'three', 4, 'four');
+$redis-&gt;zAdd('zs2', 2, 'two', 4, 'four');
+
+// count(['two', 'four']) == 2
+$redis-&gt;zInterCard(['zs1', 'zs2']);
+?&gt;</code></pre></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ <a href="https://redis.io/commands/zintercard">https://redis.io/commands/zintercard</a>
+ </td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>
+ <a href="https://redis.io/commands/zinter">https://redis.io/commands/zinter</a>
+ </td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>
+ <a href="Redis.html#method_zinter">
+Redis::zinter</a>
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_zinterstore">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L5028">at line 5028</a></div>
+ <code> Redis|int|false
+ <strong>zinterstore</strong>(string $dst, array $keys, array|null $weights = null, string|null $aggregate = null)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>Compute the intersection of one ore more sorted sets storing the result in a new sorted set.</p></p>
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$dst</td>
+ <td><p>The destination sorted set to store the intersected values.</p></td>
+ </tr>
+ <tr>
+ <td>array</td>
+ <td>$keys</td>
+ <td><p>One ore more sorted set key names.</p></td>
+ </tr>
+ <tr>
+ <td>array|null</td>
+ <td>$weights</td>
+ <td><p>An optional array of floats to weight each passed input set.</p></td>
+ </tr>
+ <tr>
+ <td>string|null</td>
+ <td>$aggregate</td>
+ <td><p>An optional aggregation method to use.</p>
+<p>'SUM' - Store sum of all intersected members (this is the default).
+'MIN' - Store minimum value for each intersected member.
+'MAX' - Store maximum value for each intersected member.</p></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>Redis|int|false</td>
+ <td><p>The total number of members writtern to the destination set or false on failure.</p>
+<pre><code>
+&lt;?php
+$redis = new Redis(['host' =&gt; 'localhost']);
+
+$redis-&gt;del('zs', 'zs2', 'zs3');
+$redis-&gt;zAdd('zs1', 3, 'apples', 2, 'pears');
+$redis-&gt;zAdd('zs2', 4, 'pears', 3, 'bananas');
+$redis-&gt;zAdd('zs3', 2, 'figs', 3, 'pears');
+
+// Returns 1 (only 'pears' is in every set)
+$redis-&gt;zInterStore('fruit-sum', ['zs1', 'zs2', 'zs3']);
+
+// Array
+// (
+// [pears] =&gt; 9
+// )
+$redis-&gt;zRange('fruit-sum', 0, -1, true);
+
+$redis-&gt;zInterStore('fruit-max', ['zs1', 'zs2', 'zs3'], NULL, 'MAX');
+
+// Array
+// (
+// [pears] =&gt; 4
+// )
+print_r($redis-&gt;zRange('fruit-max', 0, -1, true));
+?&gt;</code></pre></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ <a href="https://redis.io/commands/zinterstore">https://redis.io/commands/zinterstore</a>
+ </td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>
+ <a href="https://redis.io/commands/zinter">https://redis.io/commands/zinter</a>
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_zscan">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L5052">at line 5052</a></div>
+ <code> Redis|array|false
+ <strong>zscan</strong>(string $key, int|null $iterator, string|null $pattern = null, int $count = 0)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>Scan the members of a sorted set incrementally, using a cursor</p></p>
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td><p>The sorted set to scan.</p></td>
+ </tr>
+ <tr>
+ <td>int|null</td>
+ <td>$iterator</td>
+ <td><p>A reference to an iterator that should be initialized to NULL initially, that
+will be updated after each subsequent call to ZSCAN. Once the iterator
+has returned to zero the scan is complete</p></td>
+ </tr>
+ <tr>
+ <td>string|null</td>
+ <td>$pattern</td>
+ <td><p>An optional glob-style pattern that limits which members are returned during
+the scanning process.</p></td>
+ </tr>
+ <tr>
+ <td>int</td>
+ <td>$count</td>
+ <td><p>A hint for Redis that tells it how many elements it should test before returning
+from the call. The higher the more work Redis may do in any one given call to
+ZSCAN potentially blocking for longer periods of time.</p></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>Redis|array|false</td>
+ <td><p>An array of elements or false on failure.</p>
+<p>NOTE: See Redis::scan() for detailed example code on how to call SCAN like commands.</p></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ <a href="https://redis.io/commands/zscan">https://redis.io/commands/zscan</a>
+ </td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>
+ <a href="https://redis.io/commands/scan">https://redis.io/commands/scan</a>
+ </td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>
+ <a href="Redis.html#method_scan">
+Redis::scan</a>
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_zunion">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L5116">at line 5116</a></div>
+ <code> Redis|array|false
+ <strong>zunion</strong>(array $keys, array|null $weights = null, array|null $options = null)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>Retrieve the union of one or more sorted sets</p></p>
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>array</td>
+ <td>$keys</td>
+ <td><p>One ore more sorted set key names</p></td>
+ </tr>
+ <tr>
+ <td>array|null</td>
+ <td>$weights</td>
+ <td><p>An optional array with floating point weights used when performing the union.
+Note that if this argument is passed, it must contain the same number of
+elements as the $keys array.</p></td>
+ </tr>
+ <tr>
+ <td>array|null</td>
+ <td>$options</td>
+ <td><p>An array that modifies how this command functions.</p>
+<pre><code>$options = [
+ // By default when members exist in more than one set Redis will SUM
+ // total score for each match. Instead, it can return the AVG, MIN,
+ // or MAX value based on this option.
+ 'AGGREGATE' =&gt; 'sum' | 'min' | 'max'
+
+ // Whether Redis should also return each members aggregated score.
+ 'WITHSCORES' =&gt; true | false
+]</code></pre></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>Redis|array|false</td>
+ <td><p>The union of each sorted set or false on failure</p>
+<pre><code>&lt;?php
+$redis = new Redis(['host' =&gt; 'localhost']);
+
+$redis-&gt;del('store1', 'store2', 'store3');
+$redis-&gt;zAdd('store1', 1, 'apples', 3, 'pears', 6, 'bananas');
+$redis-&gt;zAdd('store2', 3, 'apples', 5, 'coconuts', 2, 'bananas');
+$redis-&gt;zAdd('store3', 2, 'bananas', 6, 'apples', 4, 'figs');
+
+// Array
+// (
+// [pears] =&gt; 3
+// [figs] =&gt; 4
+// [coconuts] =&gt; 5
+// [apples] =&gt; 10
+// [bananas] =&gt; 10
+// )
+$redis-&gt;zUnion(['store1', 'store2', 'store3'], NULL, ['withscores' =&gt; true]);
+
+// Array
+// (
+// [figs] =&gt; 2
+// [apples] =&gt; 5
+// [pears] =&gt; 6
+// [bananas] =&gt; 13
+// )
+$redis-&gt;zUnion(['store1', 'store3'], [2, .5], ['withscores' =&gt; true]);
+
+// Array
+// (
+// [bananas] =&gt; 1
+// [apples] =&gt; 2
+// [figs] =&gt; 2
+// [pears] =&gt; 6
+// )
+$redis-&gt;zUnion(['store1', 'store3'], [2, .5], ['withscores' =&gt; true, 'aggregate' =&gt; 'MIN']);
+?&gt;</code></pre></td>
+ </tr>
+ </table>
+
+
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_zunionstore">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php#L5158">at line 5158</a></div>
+ <code> Redis|int|false
+ <strong>zunionstore</strong>(string $dst, array $keys, array|null $weights = NULL, string|null $aggregate = NULL)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>Perform a union on one or more Redis sets and store the result in a destination sorted set.</p></p>
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$dst</td>
+ <td><p>The destination set to store the union.</p></td>
+ </tr>
+ <tr>
+ <td>array</td>
+ <td>$keys</td>
+ <td><p>One or more input keys on which to perform our union.</p></td>
+ </tr>
+ <tr>
+ <td>array|null</td>
+ <td>$weights</td>
+ <td><p>An optional weights array used to weight each input set.</p></td>
+ </tr>
+ <tr>
+ <td>string|null</td>
+ <td>$aggregate</td>
+ <td><p>An optional modifier in how Redis will combine duplicate members.
+Valid: 'MIN', 'MAX', 'SUM'.</p></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>Redis|int|false</td>
+ <td><p>The number of members stored in the destination set or false on failure.</p>
+<pre><code>&lt;?php
+$redis = new Redis(['host' =&gt; 'localhost']);
+
+$redis-&gt;del('zs1', 'zs2', 'zs3');
+
+$redis-&gt;zAdd('zs1', 1, 'one', 3, 'three');
+$redis-&gt;zAdd('zs1', 2, 'two', 4, 'four');
+$redis-&gt;zadd('zs3', 1, 'one', 7, 'five');
+
+// count(['one','two','three','four','five']) == 5
+$redis-&gt;zUnionStore('dst', ['zs1', 'zs2', 'zs3']);
+
+// Array
+// (
+// [0] =&gt; one
+// [1] =&gt; two
+// [2] =&gt; three
+// [3] =&gt; four
+// [4] =&gt; five
+// )
+$redis-&gt;zRange('dst', 0, -1);
+?&gt;</code></pre></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ <a href="https://redis.io/commands/zunionstore">https://redis.io/commands/zunionstore</a>
+ </td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>
+ <a href="Redis.html#method_zunion">
+Redis::zunion</a>
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ </div>
+
+
+</div><div id="footer">
+ Generated by <a href="https://github.com/code-lts/doctum">Doctum, a API Documentation generator and fork of Sami</a>.</div></div>
+ </div>
+ </body>
+
+</html>
diff --git a/docs/RedisArray.html b/docs/RedisArray.html
new file mode 100644
index 00000000..43becf9e
--- /dev/null
+++ b/docs/RedisArray.html
@@ -0,0 +1,1739 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+ <meta charset="UTF-8" />
+ <meta name="robots" content="index, follow, all" />
+ <title>RedisArray | PhpRedis API</title>
+
+ <link rel="stylesheet" type="text/css" href="css/bootstrap.min.css">
+ <link rel="stylesheet" type="text/css" href="css/bootstrap-theme.min.css">
+ <link rel="stylesheet" type="text/css" href="css/doctum.css">
+ <link rel="stylesheet" type="text/css" href="fonts/doctum-font.css">
+ <script src="js/jquery-3.5.1.slim.min.js"></script>
+ <script async defer src="doctum.js"></script>
+ <script async defer src="js/bootstrap.min.js"></script>
+ <script async defer src="js/autocomplete.min.js"></script>
+ <meta name="MobileOptimized" content="width">
+ <meta name="HandheldFriendly" content="true">
+ <meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1">
+
+ <link rel="search"
+ type="application/opensearchdescription+xml"
+ href="https://phpredis.github.io/opensearch.xml"
+ title="PhpRedis API (develop)" />
+ </head>
+
+ <body id="class" data-name="class:RedisArray" data-root-path="" data-search-index-url="doctum-search.json">
+ <div id="content">
+ <div id="left-column">
+ <div id="control-panel">
+ <div class="search-bar hidden" id="search-progress-bar-container">
+ <div class="progress">
+ <div class="progress-bar" role="progressbar" id="search-progress-bar"
+ aria-valuenow="0" aria-valuemin="0" aria-valuemax="100" style="width: 0%"></div>
+ </div>
+ </div>
+ <form id="search-form" action="search.html">
+ <span class="icon icon-search"></span>
+ <input name="search"
+ id="doctum-search-auto-complete"
+ class="typeahead form-control"
+ type="search"
+ placeholder="Search"
+ spellcheck="false"
+ autocorrect="off"
+ autocomplete="off"
+ autocapitalize="off">
+ <div class="auto-complete-results" id="auto-complete-results"></div>
+ </form>
+ </div>
+
+ <div id="api-tree"></div>
+
+ </div>
+ <div id="right-column">
+ <nav id="site-nav" class="navbar navbar-default" role="navigation">
+ <div class="container-fluid">
+ <div class="navbar-header">
+ <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#navbar-elements">
+ <span class="sr-only">Toggle navigation</span>
+ <span class="icon-bar"></span>
+ <span class="icon-bar"></span>
+ <span class="icon-bar"></span>
+ </button>
+ <a class="navbar-brand" href="index.html">PhpRedis API</a>
+ </div>
+ <div class="collapse navbar-collapse" id="navbar-elements">
+ <ul class="nav navbar-nav">
+ <li><a href="classes.html">Classes</a></li>
+ <li><a href="interfaces.html">Interfaces</a></li>
+ <li><a href="traits.html">Traits</a></li>
+ <li><a href="doc-index.html">Index</a></li>
+ <li><a href="search.html">Search</a></li>
+ </ul>
+ </div>
+ </div>
+ </nav>
+
+ <div id="page-content">
+ <div class="page-header">
+ <h1>RedisArray
+ </h1>
+ </div>
+
+
+ <p> class
+ <strong>RedisArray</strong> (<a href="https://github.com/phpredis/phpredis/blob/develop/redis_array.stub.php">View source</a>)
+</p>
+
+
+
+
+
+
+
+
+
+ <h2>Methods</h2>
+
+ <div class="container-fluid underlined">
+ <div class="row">
+ <div class="col-md-2 type">
+ mixed
+ </div>
+ <div class="col-md-8">
+ <a href="#method___call">__call</a>(string $function_name, array $arguments)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+
+ </div>
+ <div class="col-md-8">
+ <a href="#method___construct">__construct</a>(string|array $name_or_hosts, array $options = NULL)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ bool|array
+ </div>
+ <div class="col-md-8">
+ <a href="#method__continuum">_continuum</a>()
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ bool|callable
+ </div>
+ <div class="col-md-8">
+ <a href="#method__distributor">_distributor</a>()
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ bool|callable
+ </div>
+ <div class="col-md-8">
+ <a href="#method__function">_function</a>()
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ bool|array
+ </div>
+ <div class="col-md-8">
+ <a href="#method__hosts">_hosts</a>()
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ bool|null|Redis
+ </div>
+ <div class="col-md-8">
+ <a href="#method__instance">_instance</a>(string $host)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ bool|null
+ </div>
+ <div class="col-md-8">
+ <a href="#method__rehash">_rehash</a>(callable $fn = NULL)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ bool|string|null
+ </div>
+ <div class="col-md-8">
+ <a href="#method__target">_target</a>(string $key)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ array
+ </div>
+ <div class="col-md-8">
+ <a href="#method_bgsave">bgsave</a>()
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ bool|int
+ </div>
+ <div class="col-md-8">
+ <a href="#method_del">del</a>(string|array $key, string ...$otherkeys)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ bool|null
+ </div>
+ <div class="col-md-8">
+ <a href="#method_discard">discard</a>()
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ bool|null
+ </div>
+ <div class="col-md-8">
+ <a href="#method_exec">exec</a>()
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ bool|array
+ </div>
+ <div class="col-md-8">
+ <a href="#method_flushall">flushall</a>()
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ bool|array
+ </div>
+ <div class="col-md-8">
+ <a href="#method_flushdb">flushdb</a>()
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ bool|array
+ </div>
+ <div class="col-md-8">
+ <a href="#method_getOption">getOption</a>(int $opt)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ bool|array
+ </div>
+ <div class="col-md-8">
+ <a href="#method_hscan">hscan</a>(string $key, int|null $iterator, string|null $pattern = null, int $count = 0)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ bool|array
+ </div>
+ <div class="col-md-8">
+ <a href="#method_info">info</a>()
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ bool|array
+ </div>
+ <div class="col-md-8">
+ <a href="#method_keys">keys</a>(string $pattern)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ bool|array
+ </div>
+ <div class="col-md-8">
+ <a href="#method_mget">mget</a>(array $keys)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ bool
+ </div>
+ <div class="col-md-8">
+ <a href="#method_mset">mset</a>(array $pairs)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ bool|RedisArray
+ </div>
+ <div class="col-md-8">
+ <a href="#method_multi">multi</a>(string $host, int $mode = NULL)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ bool|array
+ </div>
+ <div class="col-md-8">
+ <a href="#method_ping">ping</a>()
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ bool|array
+ </div>
+ <div class="col-md-8">
+ <a href="#method_save">save</a>()
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ bool|array
+ </div>
+ <div class="col-md-8">
+ <a href="#method_scan">scan</a>(int|null $iterator, string $node, string|null $pattern = null, int $count = 0)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ bool|array
+ </div>
+ <div class="col-md-8">
+ <a href="#method_select">select</a>(int $index)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ bool|array
+ </div>
+ <div class="col-md-8">
+ <a href="#method_setOption">setOption</a>(int $opt, string $value)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ bool|array
+ </div>
+ <div class="col-md-8">
+ <a href="#method_sscan">sscan</a>(string $key, int|null $iterator, string|null $pattern = null, int $count = 0)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ bool|int
+ </div>
+ <div class="col-md-8">
+ <a href="#method_unlink">unlink</a>(string|array $key, string ...$otherkeys)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ bool|null
+ </div>
+ <div class="col-md-8">
+ <a href="#method_unwatch">unwatch</a>()
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ bool|array
+ </div>
+ <div class="col-md-8">
+ <a href="#method_zscan">zscan</a>(string $key, int|null $iterator, string|null $pattern = null, int $count = 0)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ </div>
+
+
+ <h2>Details</h2>
+
+ <div id="method-details">
+ <div class="method-item">
+ <h3 id="method___call">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_array.stub.php#L11">at line 11</a></div>
+ <code> mixed
+ <strong>__call</strong>(string $function_name, array $arguments)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$function_name</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>array</td>
+ <td>$arguments</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>mixed</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method___construct">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_array.stub.php#L13">at line 13</a></div>
+ <code>
+ <strong>__construct</strong>(string|array $name_or_hosts, array $options = NULL)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string|array</td>
+ <td>$name_or_hosts</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>array</td>
+ <td>$options</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method__continuum">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_array.stub.php#L15">at line 15</a></div>
+ <code> bool|array
+ <strong>_continuum</strong>()
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>bool|array</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method__distributor">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_array.stub.php#L17">at line 17</a></div>
+ <code> bool|callable
+ <strong>_distributor</strong>()
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>bool|callable</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method__function">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_array.stub.php#L19">at line 19</a></div>
+ <code> bool|callable
+ <strong>_function</strong>()
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>bool|callable</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method__hosts">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_array.stub.php#L21">at line 21</a></div>
+ <code> bool|array
+ <strong>_hosts</strong>()
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>bool|array</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method__instance">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_array.stub.php#L23">at line 23</a></div>
+ <code> bool|null|Redis
+ <strong>_instance</strong>(string $host)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$host</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>bool|null|Redis</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method__rehash">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_array.stub.php#L25">at line 25</a></div>
+ <code> bool|null
+ <strong>_rehash</strong>(callable $fn = NULL)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>callable</td>
+ <td>$fn</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>bool|null</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method__target">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_array.stub.php#L27">at line 27</a></div>
+ <code> bool|string|null
+ <strong>_target</strong>(string $key)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>bool|string|null</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_bgsave">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_array.stub.php#L29">at line 29</a></div>
+ <code> array
+ <strong>bgsave</strong>()
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>array</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_del">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_array.stub.php#L31">at line 31</a></div>
+ <code> bool|int
+ <strong>del</strong>(string|array $key, string ...$otherkeys)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string|array</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>...$otherkeys</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>bool|int</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_discard">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_array.stub.php#L33">at line 33</a></div>
+ <code> bool|null
+ <strong>discard</strong>()
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>bool|null</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_exec">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_array.stub.php#L35">at line 35</a></div>
+ <code> bool|null
+ <strong>exec</strong>()
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>bool|null</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_flushall">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_array.stub.php#L37">at line 37</a></div>
+ <code> bool|array
+ <strong>flushall</strong>()
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>bool|array</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_flushdb">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_array.stub.php#L39">at line 39</a></div>
+ <code> bool|array
+ <strong>flushdb</strong>()
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>bool|array</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_getOption">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_array.stub.php#L41">at line 41</a></div>
+ <code> bool|array
+ <strong>getOption</strong>(int $opt)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>int</td>
+ <td>$opt</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>bool|array</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_hscan">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_array.stub.php#L43">at line 43</a></div>
+ <code> bool|array
+ <strong>hscan</strong>(string $key, int|null $iterator, string|null $pattern = null, int $count = 0)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>int|null</td>
+ <td>$iterator</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string|null</td>
+ <td>$pattern</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>int</td>
+ <td>$count</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>bool|array</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_info">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_array.stub.php#L45">at line 45</a></div>
+ <code> bool|array
+ <strong>info</strong>()
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>bool|array</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_keys">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_array.stub.php#L47">at line 47</a></div>
+ <code> bool|array
+ <strong>keys</strong>(string $pattern)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$pattern</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>bool|array</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_mget">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_array.stub.php#L49">at line 49</a></div>
+ <code> bool|array
+ <strong>mget</strong>(array $keys)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>array</td>
+ <td>$keys</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>bool|array</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_mset">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_array.stub.php#L51">at line 51</a></div>
+ <code> bool
+ <strong>mset</strong>(array $pairs)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>array</td>
+ <td>$pairs</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>bool</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_multi">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_array.stub.php#L53">at line 53</a></div>
+ <code> bool|RedisArray
+ <strong>multi</strong>(string $host, int $mode = NULL)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$host</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>int</td>
+ <td>$mode</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>bool|RedisArray</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_ping">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_array.stub.php#L55">at line 55</a></div>
+ <code> bool|array
+ <strong>ping</strong>()
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>bool|array</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_save">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_array.stub.php#L57">at line 57</a></div>
+ <code> bool|array
+ <strong>save</strong>()
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>bool|array</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_scan">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_array.stub.php#L59">at line 59</a></div>
+ <code> bool|array
+ <strong>scan</strong>(int|null $iterator, string $node, string|null $pattern = null, int $count = 0)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>int|null</td>
+ <td>$iterator</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>$node</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string|null</td>
+ <td>$pattern</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>int</td>
+ <td>$count</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>bool|array</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_select">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_array.stub.php#L61">at line 61</a></div>
+ <code> bool|array
+ <strong>select</strong>(int $index)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>int</td>
+ <td>$index</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>bool|array</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_setOption">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_array.stub.php#L63">at line 63</a></div>
+ <code> bool|array
+ <strong>setOption</strong>(int $opt, string $value)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>int</td>
+ <td>$opt</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>$value</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>bool|array</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_sscan">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_array.stub.php#L65">at line 65</a></div>
+ <code> bool|array
+ <strong>sscan</strong>(string $key, int|null $iterator, string|null $pattern = null, int $count = 0)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>int|null</td>
+ <td>$iterator</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string|null</td>
+ <td>$pattern</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>int</td>
+ <td>$count</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>bool|array</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_unlink">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_array.stub.php#L67">at line 67</a></div>
+ <code> bool|int
+ <strong>unlink</strong>(string|array $key, string ...$otherkeys)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string|array</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>...$otherkeys</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>bool|int</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_unwatch">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_array.stub.php#L69">at line 69</a></div>
+ <code> bool|null
+ <strong>unwatch</strong>()
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>bool|null</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_zscan">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_array.stub.php#L71">at line 71</a></div>
+ <code> bool|array
+ <strong>zscan</strong>(string $key, int|null $iterator, string|null $pattern = null, int $count = 0)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>int|null</td>
+ <td>$iterator</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string|null</td>
+ <td>$pattern</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>int</td>
+ <td>$count</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>bool|array</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+
+ </div>
+ </div>
+
+ </div>
+ </div>
+
+
+</div><div id="footer">
+ Generated by <a href="https://github.com/code-lts/doctum">Doctum, a API Documentation generator and fork of Sami</a>.</div></div>
+ </div>
+ </body>
+
+</html>
diff --git a/docs/RedisCluster.html b/docs/RedisCluster.html
new file mode 100644
index 00000000..7894808d
--- /dev/null
+++ b/docs/RedisCluster.html
@@ -0,0 +1,14846 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+ <meta charset="UTF-8" />
+ <meta name="robots" content="index, follow, all" />
+ <title>RedisCluster | PhpRedis API</title>
+
+ <link rel="stylesheet" type="text/css" href="css/bootstrap.min.css">
+ <link rel="stylesheet" type="text/css" href="css/bootstrap-theme.min.css">
+ <link rel="stylesheet" type="text/css" href="css/doctum.css">
+ <link rel="stylesheet" type="text/css" href="fonts/doctum-font.css">
+ <script src="js/jquery-3.5.1.slim.min.js"></script>
+ <script async defer src="doctum.js"></script>
+ <script async defer src="js/bootstrap.min.js"></script>
+ <script async defer src="js/autocomplete.min.js"></script>
+ <meta name="MobileOptimized" content="width">
+ <meta name="HandheldFriendly" content="true">
+ <meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1">
+
+ <link rel="search"
+ type="application/opensearchdescription+xml"
+ href="https://phpredis.github.io/opensearch.xml"
+ title="PhpRedis API (develop)" />
+ </head>
+
+ <body id="class" data-name="class:RedisCluster" data-root-path="" data-search-index-url="doctum-search.json">
+ <div id="content">
+ <div id="left-column">
+ <div id="control-panel">
+ <div class="search-bar hidden" id="search-progress-bar-container">
+ <div class="progress">
+ <div class="progress-bar" role="progressbar" id="search-progress-bar"
+ aria-valuenow="0" aria-valuemin="0" aria-valuemax="100" style="width: 0%"></div>
+ </div>
+ </div>
+ <form id="search-form" action="search.html">
+ <span class="icon icon-search"></span>
+ <input name="search"
+ id="doctum-search-auto-complete"
+ class="typeahead form-control"
+ type="search"
+ placeholder="Search"
+ spellcheck="false"
+ autocorrect="off"
+ autocomplete="off"
+ autocapitalize="off">
+ <div class="auto-complete-results" id="auto-complete-results"></div>
+ </form>
+ </div>
+
+ <div id="api-tree"></div>
+
+ </div>
+ <div id="right-column">
+ <nav id="site-nav" class="navbar navbar-default" role="navigation">
+ <div class="container-fluid">
+ <div class="navbar-header">
+ <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#navbar-elements">
+ <span class="sr-only">Toggle navigation</span>
+ <span class="icon-bar"></span>
+ <span class="icon-bar"></span>
+ <span class="icon-bar"></span>
+ </button>
+ <a class="navbar-brand" href="index.html">PhpRedis API</a>
+ </div>
+ <div class="collapse navbar-collapse" id="navbar-elements">
+ <ul class="nav navbar-nav">
+ <li><a href="classes.html">Classes</a></li>
+ <li><a href="interfaces.html">Interfaces</a></li>
+ <li><a href="traits.html">Traits</a></li>
+ <li><a href="doc-index.html">Index</a></li>
+ <li><a href="search.html">Search</a></li>
+ </ul>
+ </div>
+ </div>
+ </nav>
+
+ <div id="page-content">
+ <div class="page-header">
+ <h1>RedisCluster
+ </h1>
+ </div>
+
+
+ <p> class
+ <strong>RedisCluster</strong> (<a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php">View source</a>)
+</p>
+
+
+
+
+
+
+
+
+
+ <h2>Methods</h2>
+
+ <div class="container-fluid underlined">
+ <div class="row">
+ <div class="col-md-2 type">
+
+ </div>
+ <div class="col-md-8">
+ <a href="#method___construct">__construct</a>(string|null $name, array $seeds = NULL, int|float $timeout = 0, int|float $read_timeout = 0, bool $persistent = false, mixed $auth = NULL, array $context = NULL)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ string
+ </div>
+ <div class="col-md-8">
+ <a href="#method__compress">_compress</a>(string $value)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ string
+ </div>
+ <div class="col-md-8">
+ <a href="#method__uncompress">_uncompress</a>(string $value)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ bool|string
+ </div>
+ <div class="col-md-8">
+ <a href="#method__serialize">_serialize</a>(mixed $value)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ mixed
+ </div>
+ <div class="col-md-8">
+ <a href="#method__unserialize">_unserialize</a>(string $value)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ string
+ </div>
+ <div class="col-md-8">
+ <a href="#method__pack">_pack</a>(mixed $value)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ mixed
+ </div>
+ <div class="col-md-8">
+ <a href="#method__unpack">_unpack</a>(string $value)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ bool|string
+ </div>
+ <div class="col-md-8">
+ <a href="#method__prefix">_prefix</a>(string $key)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ array
+ </div>
+ <div class="col-md-8">
+ <a href="#method__masters">_masters</a>()
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ string|null
+ </div>
+ <div class="col-md-8">
+ <a href="#method__redir">_redir</a>()
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ mixed
+ </div>
+ <div class="col-md-8">
+ <a href="#method_acl">acl</a>(string|array $key_or_address, string $subcmd, string ...$args)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ RedisCluster|bool|int
+ </div>
+ <div class="col-md-8">
+ <a href="#method_append">append</a>(string $key, mixed $value)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ RedisCluster|bool
+ </div>
+ <div class="col-md-8">
+ <a href="#method_bgrewriteaof">bgrewriteaof</a>(string|array $key_or_address)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ RedisCluster|bool
+ </div>
+ <div class="col-md-8">
+ <a href="#method_bgsave">bgsave</a>(string|array $key_or_address)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ RedisCluster|bool|int
+ </div>
+ <div class="col-md-8">
+ <a href="#method_bitcount">bitcount</a>(string $key, int $start = 0, int $end = -1, bool $bybit = false)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ RedisCluster|bool|int
+ </div>
+ <div class="col-md-8">
+ <a href="#method_bitop">bitop</a>(string $operation, string $deskey, string $srckey, string ...$otherkeys)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ RedisCluster|int|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_bitpos">bitpos</a>(string $key, bool $bit, int $start = 0, int $end = -1, bool $bybit = false)
+
+ <p><p>Return the position of the first bit set to 0 or 1 in a string.</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ RedisCluster|array|null|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_blpop">blpop</a>(string|array $key, string|float|int $timeout_or_key, mixed ...$extra_args)
+
+ <p><p>See Redis::blpop()</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ RedisCluster|array|null|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_brpop">brpop</a>(string|array $key, string|float|int $timeout_or_key, mixed ...$extra_args)
+
+ <p><p>See Redis::brpop()</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ mixed
+ </div>
+ <div class="col-md-8">
+ <a href="#method_brpoplpush">brpoplpush</a>(string $srckey, string $deskey, int $timeout)
+
+ <p><p>See Redis::brpoplpush()</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ array
+ </div>
+ <div class="col-md-8">
+ <a href="#method_bzpopmax">bzpopmax</a>(string|array $key, string|int $timeout_or_key, mixed ...$extra_args)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ array
+ </div>
+ <div class="col-md-8">
+ <a href="#method_bzpopmin">bzpopmin</a>(string|array $key, string|int $timeout_or_key, mixed ...$extra_args)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ RedisCluster|array|null|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_bzmpop">bzmpop</a>(float $timeout, array $keys, string $from, int $count = 1)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ RedisCluster|array|null|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_zmpop">zmpop</a>(array $keys, string $from, int $count = 1)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ RedisCluster|array|null|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_blmpop">blmpop</a>(float $timeout, array $keys, string $from, int $count = 1)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ RedisCluster|array|null|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_lmpop">lmpop</a>(array $keys, string $from, int $count = 1)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ bool
+ </div>
+ <div class="col-md-8">
+ <a href="#method_clearlasterror">clearlasterror</a>()
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ array|string|bool
+ </div>
+ <div class="col-md-8">
+ <a href="#method_client">client</a>(string|array $key_or_address, string $subcommand, string|null $arg = NULL)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ bool
+ </div>
+ <div class="col-md-8">
+ <a href="#method_close">close</a>()
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ mixed
+ </div>
+ <div class="col-md-8">
+ <a href="#method_cluster">cluster</a>(string|array $key_or_address, string $command, mixed ...$extra_args)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ mixed
+ </div>
+ <div class="col-md-8">
+ <a href="#method_command">command</a>(mixed ...$extra_args)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ mixed
+ </div>
+ <div class="col-md-8">
+ <a href="#method_config">config</a>(string|array $key_or_address, string $subcommand, mixed ...$extra_args)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ RedisCluster|int
+ </div>
+ <div class="col-md-8">
+ <a href="#method_dbsize">dbsize</a>(string|array $key_or_address)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ RedisCluster|int|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_decr">decr</a>(string $key, int $by = 1)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ RedisCluster|int|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_decrby">decrby</a>(string $key, int $value)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ float
+ </div>
+ <div class="col-md-8">
+ <a href="#method_decrbyfloat">decrbyfloat</a>(string $key, float $value)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ RedisCluster|int|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_del">del</a>(array|string $key, string ...$other_keys)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ bool
+ </div>
+ <div class="col-md-8">
+ <a href="#method_discard">discard</a>()
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ RedisCluster|string|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_dump">dump</a>(string $key)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ RedisCluster|string|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_echo">echo</a>(string|array $key_or_address, string $msg)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ mixed
+ </div>
+ <div class="col-md-8">
+ <a href="#method_eval">eval</a>(string $script, array $args = [], int $num_keys = 0)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ mixed
+ </div>
+ <div class="col-md-8">
+ <a href="#method_eval_ro">eval_ro</a>(string $script, array $args = [], int $num_keys = 0)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ mixed
+ </div>
+ <div class="col-md-8">
+ <a href="#method_evalsha">evalsha</a>(string $script_sha, array $args = [], int $num_keys = 0)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ mixed
+ </div>
+ <div class="col-md-8">
+ <a href="#method_evalsha_ro">evalsha_ro</a>(string $script_sha, array $args = [], int $num_keys = 0)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ array|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_exec">exec</a>()
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ RedisCluster|int|bool
+ </div>
+ <div class="col-md-8">
+ <a href="#method_exists">exists</a>(mixed $key, mixed ...$other_keys)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ RedisCluster|int|bool
+ </div>
+ <div class="col-md-8">
+ <a href="#method_touch">touch</a>(mixed $key, mixed ...$other_keys)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ RedisCluster|bool
+ </div>
+ <div class="col-md-8">
+ <a href="#method_expire">expire</a>(string $key, int $timeout, string|null $mode = NULL)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ RedisCluster|bool
+ </div>
+ <div class="col-md-8">
+ <a href="#method_expireat">expireat</a>(string $key, int $timestamp, string|null $mode = NULL)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ RedisCluster|int|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_expiretime">expiretime</a>(string $key)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ RedisCluster|int|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_pexpiretime">pexpiretime</a>(string $key)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ RedisCluster|bool
+ </div>
+ <div class="col-md-8">
+ <a href="#method_flushall">flushall</a>(string|array $key_or_address, bool $async = false)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ RedisCluster|bool
+ </div>
+ <div class="col-md-8">
+ <a href="#method_flushdb">flushdb</a>(string|array $key_or_address, bool $async = false)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ RedisCluster|int|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_geoadd">geoadd</a>(string $key, float $lng, float $lat, string $member, mixed ...$other_triples_and_options)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ RedisCluster|float|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_geodist">geodist</a>(string $key, string $src, string $dest, string|null $unit = null)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ RedisCluster|array|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_geohash">geohash</a>(string $key, string $member, string ...$other_members)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ RedisCluster|array|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_geopos">geopos</a>(string $key, string $member, string ...$other_members)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ mixed
+ </div>
+ <div class="col-md-8">
+ <a href="#method_georadius">georadius</a>(string $key, float $lng, float $lat, float $radius, string $unit, array $options = [])
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ mixed
+ </div>
+ <div class="col-md-8">
+ <a href="#method_georadius_ro">georadius_ro</a>(string $key, float $lng, float $lat, float $radius, string $unit, array $options = [])
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ mixed
+ </div>
+ <div class="col-md-8">
+ <a href="#method_georadiusbymember">georadiusbymember</a>(string $key, string $member, float $radius, string $unit, array $options = [])
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ mixed
+ </div>
+ <div class="col-md-8">
+ <a href="#method_georadiusbymember_ro">georadiusbymember_ro</a>(string $key, string $member, float $radius, string $unit, array $options = [])
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ mixed
+ </div>
+ <div class="col-md-8">
+ <a href="#method_get">get</a>(string $key)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ RedisCluster|int|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_getbit">getbit</a>(string $key, int $value)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ string|null
+ </div>
+ <div class="col-md-8">
+ <a href="#method_getlasterror">getlasterror</a>()
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ int
+ </div>
+ <div class="col-md-8">
+ <a href="#method_getmode">getmode</a>()
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ mixed
+ </div>
+ <div class="col-md-8">
+ <a href="#method_getoption">getoption</a>(int $option)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ RedisCluster|string|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_getrange">getrange</a>(string $key, int $start, int $end)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ RedisCluster|string|array|int|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_lcs">lcs</a>(string $key1, string $key2, array|null $options = NULL)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ RedisCluster|string|bool
+ </div>
+ <div class="col-md-8">
+ <a href="#method_getset">getset</a>(string $key, mixed $value)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ int|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_gettransferredbytes">gettransferredbytes</a>()
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ RedisCluster|int|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_hdel">hdel</a>(string $key, string $member, string ...$other_members)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ RedisCluster|bool
+ </div>
+ <div class="col-md-8">
+ <a href="#method_hexists">hexists</a>(string $key, string $member)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ mixed
+ </div>
+ <div class="col-md-8">
+ <a href="#method_hget">hget</a>(string $key, string $member)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ RedisCluster|array|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_hgetall">hgetall</a>(string $key)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ RedisCluster|int|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_hincrby">hincrby</a>(string $key, string $member, int $value)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ RedisCluster|float|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_hincrbyfloat">hincrbyfloat</a>(string $key, string $member, float $value)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ RedisCluster|array|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_hkeys">hkeys</a>(string $key)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ RedisCluster|int|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_hlen">hlen</a>(string $key)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ RedisCluster|array|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_hmget">hmget</a>(string $key, array $keys)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ RedisCluster|bool
+ </div>
+ <div class="col-md-8">
+ <a href="#method_hmset">hmset</a>(string $key, array $key_values)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ array|bool
+ </div>
+ <div class="col-md-8">
+ <a href="#method_hscan">hscan</a>(string $key, int|null $iterator, string|null $pattern = null, int $count = 0)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ RedisCluster|int|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_hset">hset</a>(string $key, string $member, mixed $value)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ RedisCluster|bool
+ </div>
+ <div class="col-md-8">
+ <a href="#method_hsetnx">hsetnx</a>(string $key, string $member, mixed $value)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ RedisCluster|int|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_hstrlen">hstrlen</a>(string $key, string $field)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ RedisCluster|array|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_hvals">hvals</a>(string $key)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ RedisCluster|int|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_incr">incr</a>(string $key, int $by = 1)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ RedisCluster|int|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_incrby">incrby</a>(string $key, int $value)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ RedisCluster|float|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_incrbyfloat">incrbyfloat</a>(string $key, float $value)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ RedisCluster|array|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_info">info</a>(string|array $key_or_address, string ...$sections)
+
+ <p><p>Retrieve information about the connected redis-server. If no arguments are passed to
+this function, redis will return every info field. Alternatively you may pass a specific
+section you want returned (e.g. 'server', or 'memory') to receive only information pertaining
+to that section.</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ RedisCluster|array|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_keys">keys</a>(string $pattern)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ RedisCluster|int|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_lastsave">lastsave</a>(string|array $key_or_address)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ RedisCluster|string|bool
+ </div>
+ <div class="col-md-8">
+ <a href="#method_lget">lget</a>(string $key, int $index)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ mixed
+ </div>
+ <div class="col-md-8">
+ <a href="#method_lindex">lindex</a>(string $key, int $index)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ RedisCluster|int|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_linsert">linsert</a>(string $key, string $pos, mixed $pivot, mixed $value)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ RedisCluster|int|bool
+ </div>
+ <div class="col-md-8">
+ <a href="#method_llen">llen</a>(string $key)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ RedisCluster|bool|string|array
+ </div>
+ <div class="col-md-8">
+ <a href="#method_lpop">lpop</a>(string $key, int $count = 0)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ RedisCluster|int|bool
+ </div>
+ <div class="col-md-8">
+ <a href="#method_lpush">lpush</a>(string $key, mixed $value, mixed ...$other_values)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ RedisCluster|int|bool
+ </div>
+ <div class="col-md-8">
+ <a href="#method_lpushx">lpushx</a>(string $key, mixed $value)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ RedisCluster|array|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_lrange">lrange</a>(string $key, int $start, int $end)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ RedisCluster|int|bool
+ </div>
+ <div class="col-md-8">
+ <a href="#method_lrem">lrem</a>(string $key, mixed $value, int $count = 0)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ RedisCluster|bool
+ </div>
+ <div class="col-md-8">
+ <a href="#method_lset">lset</a>(string $key, int $index, mixed $value)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ RedisCluster|bool
+ </div>
+ <div class="col-md-8">
+ <a href="#method_ltrim">ltrim</a>(string $key, int $start, int $end)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ RedisCluster|array|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_mget">mget</a>(array $keys)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ RedisCluster|bool
+ </div>
+ <div class="col-md-8">
+ <a href="#method_mset">mset</a>(array $key_values)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ RedisCluster|array|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_msetnx">msetnx</a>(array $key_values)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ RedisCluster|bool
+ </div>
+ <div class="col-md-8">
+ <a href="#method_multi">multi</a>(int $value = Redis::MULTI)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ RedisCluster|int|string|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_object">object</a>(string $subcommand, string $key)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ RedisCluster|bool
+ </div>
+ <div class="col-md-8">
+ <a href="#method_persist">persist</a>(string $key)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ RedisCluster|bool
+ </div>
+ <div class="col-md-8">
+ <a href="#method_pexpire">pexpire</a>(string $key, int $timeout, string|null $mode = NULL)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ RedisCluster|bool
+ </div>
+ <div class="col-md-8">
+ <a href="#method_pexpireat">pexpireat</a>(string $key, int $timestamp, string|null $mode = NULL)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ RedisCluster|bool
+ </div>
+ <div class="col-md-8">
+ <a href="#method_pfadd">pfadd</a>(string $key, array $elements)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ RedisCluster|int|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_pfcount">pfcount</a>(string $key)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ RedisCluster|bool
+ </div>
+ <div class="col-md-8">
+ <a href="#method_pfmerge">pfmerge</a>(string $key, array $keys)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ mixed
+ </div>
+ <div class="col-md-8">
+ <a href="#method_ping">ping</a>(string|array $key_or_address, string|null $message = NULL)
+
+ <p><p>PING an instance in the redis cluster.</p></p> </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ RedisCluster|bool
+ </div>
+ <div class="col-md-8">
+ <a href="#method_psetex">psetex</a>(string $key, int $timeout, string $value)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ void
+ </div>
+ <div class="col-md-8">
+ <a href="#method_psubscribe">psubscribe</a>(array $patterns, callable $callback)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ RedisCluster|int|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_pttl">pttl</a>(string $key)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ RedisCluster|bool
+ </div>
+ <div class="col-md-8">
+ <a href="#method_publish">publish</a>(string $channel, string $message)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ mixed
+ </div>
+ <div class="col-md-8">
+ <a href="#method_pubsub">pubsub</a>(string|array $key_or_address, string ...$values)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ bool|array
+ </div>
+ <div class="col-md-8">
+ <a href="#method_punsubscribe">punsubscribe</a>(string $pattern, string ...$other_patterns)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ RedisCluster|bool|string
+ </div>
+ <div class="col-md-8">
+ <a href="#method_randomkey">randomkey</a>(string|array $key_or_address)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ mixed
+ </div>
+ <div class="col-md-8">
+ <a href="#method_rawcommand">rawcommand</a>(string|array $key_or_address, string $command, mixed ...$args)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ RedisCluster|bool
+ </div>
+ <div class="col-md-8">
+ <a href="#method_rename">rename</a>(string $key_src, string $key_dst)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ RedisCluster|bool
+ </div>
+ <div class="col-md-8">
+ <a href="#method_renamenx">renamenx</a>(string $key, string $newkey)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ RedisCluster|bool
+ </div>
+ <div class="col-md-8">
+ <a href="#method_restore">restore</a>(string $key, int $timeout, string $value, array|null $options = NULL)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ mixed
+ </div>
+ <div class="col-md-8">
+ <a href="#method_role">role</a>(string|array $key_or_address)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ RedisCluster|bool|string|array
+ </div>
+ <div class="col-md-8">
+ <a href="#method_rpop">rpop</a>(string $key, int $count = 0)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ RedisCluster|bool|string
+ </div>
+ <div class="col-md-8">
+ <a href="#method_rpoplpush">rpoplpush</a>(string $src, string $dst)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ RedisCluster|int|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_rpush">rpush</a>(string $key, mixed ...$elements)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ RedisCluster|bool|int
+ </div>
+ <div class="col-md-8">
+ <a href="#method_rpushx">rpushx</a>(string $key, string $value)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ RedisCluster|int|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_sadd">sadd</a>(string $key, mixed $value, mixed ...$other_values)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ RedisCluster|bool|int
+ </div>
+ <div class="col-md-8">
+ <a href="#method_saddarray">saddarray</a>(string $key, array $values)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ RedisCluster|bool
+ </div>
+ <div class="col-md-8">
+ <a href="#method_save">save</a>(string|array $key_or_address)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ bool|array
+ </div>
+ <div class="col-md-8">
+ <a href="#method_scan">scan</a>(int|null $iterator, string|array $key_or_address, string|null $pattern = null, int $count = 0)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ RedisCluster|int|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_scard">scard</a>(string $key)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ mixed
+ </div>
+ <div class="col-md-8">
+ <a href="#method_script">script</a>(string|array $key_or_address, mixed ...$args)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ RedisCluster|array|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_sdiff">sdiff</a>(string $key, string ...$other_keys)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ RedisCluster|int|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_sdiffstore">sdiffstore</a>(string $dst, string $key, string ...$other_keys)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ RedisCluster|string|bool
+ </div>
+ <div class="col-md-8">
+ <a href="#method_set">set</a>(string $key, mixed $value, mixed $options = NULL)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ RedisCluster|int|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_setbit">setbit</a>(string $key, int $offset, bool $onoff)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ RedisCluster|bool
+ </div>
+ <div class="col-md-8">
+ <a href="#method_setex">setex</a>(string $key, int $expire, mixed $value)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ RedisCluster|bool
+ </div>
+ <div class="col-md-8">
+ <a href="#method_setnx">setnx</a>(string $key, mixed $value)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ bool
+ </div>
+ <div class="col-md-8">
+ <a href="#method_setoption">setoption</a>(int $option, mixed $value)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ RedisCluster|int|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_setrange">setrange</a>(string $key, int $offset, string $value)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ RedisCluster|array|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_sinter">sinter</a>(array|string $key, string ...$other_keys)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ RedisCluster|int|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_sintercard">sintercard</a>(array $keys, int $limit = -1)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ RedisCluster|int|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_sinterstore">sinterstore</a>(array|string $key, string ...$other_keys)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ RedisCluster|bool
+ </div>
+ <div class="col-md-8">
+ <a href="#method_sismember">sismember</a>(string $key, mixed $value)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ mixed
+ </div>
+ <div class="col-md-8">
+ <a href="#method_slowlog">slowlog</a>(string|array $key_or_address, mixed ...$args)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ RedisCluster|array|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_smembers">smembers</a>(string $key)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ RedisCluster|bool
+ </div>
+ <div class="col-md-8">
+ <a href="#method_smove">smove</a>(string $src, string $dst, string $member)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ RedisCluster|array|bool|int|string
+ </div>
+ <div class="col-md-8">
+ <a href="#method_sort">sort</a>(string $key, array|null $options = NULL)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ RedisCluster|array|bool|int|string
+ </div>
+ <div class="col-md-8">
+ <a href="#method_sort_ro">sort_ro</a>(string $key, array|null $options = NULL)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ RedisCluster|string|array|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_spop">spop</a>(string $key, int $count = 0)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ RedisCluster|string|array|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_srandmember">srandmember</a>(string $key, int $count = 0)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ RedisCluster|int|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_srem">srem</a>(string $key, mixed $value, mixed ...$other_values)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ array|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_sscan">sscan</a>(string $key, int|null $iterator, string|null $pattern = null, int $count = 0)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ RedisCluster|int|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_strlen">strlen</a>(string $key)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ void
+ </div>
+ <div class="col-md-8">
+ <a href="#method_subscribe">subscribe</a>(array $channels, callable $cb)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ RedisCluster|bool|array
+ </div>
+ <div class="col-md-8">
+ <a href="#method_sunion">sunion</a>(string $key, string ...$other_keys)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ RedisCluster|int|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_sunionstore">sunionstore</a>(string $dst, string $key, string ...$other_keys)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ RedisCluster|bool|array
+ </div>
+ <div class="col-md-8">
+ <a href="#method_time">time</a>(string|array $key_or_address)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ RedisCluster|int|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_ttl">ttl</a>(string $key)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ RedisCluster|int|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_type">type</a>(string $key)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ bool|array
+ </div>
+ <div class="col-md-8">
+ <a href="#method_unsubscribe">unsubscribe</a>(array $channels)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ RedisCluster|int|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_unlink">unlink</a>(array|string $key, string ...$other_keys)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ bool
+ </div>
+ <div class="col-md-8">
+ <a href="#method_unwatch">unwatch</a>()
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ RedisCluster|bool
+ </div>
+ <div class="col-md-8">
+ <a href="#method_watch">watch</a>(string $key, string ...$other_keys)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ RedisCluster|int|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_xack">xack</a>(string $key, string $group, array $ids)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ RedisCluster|string|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_xadd">xadd</a>(string $key, string $id, array $values, int $maxlen = 0, bool $approx = false)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ RedisCluster|string|array|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_xclaim">xclaim</a>(string $key, string $group, string $consumer, int $min_iddle, array $ids, array $options)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ RedisCluster|int|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_xdel">xdel</a>(string $key, array $ids)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ mixed
+ </div>
+ <div class="col-md-8">
+ <a href="#method_xgroup">xgroup</a>(string $operation, string $key = null, string $arg1 = null, string $arg2 = null, bool $arg3 = false)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ mixed
+ </div>
+ <div class="col-md-8">
+ <a href="#method_xinfo">xinfo</a>(string $operation, string|null $arg1 = null, string|null $arg2 = null, int $count = -1)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ RedisCluster|int|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_xlen">xlen</a>(string $key)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ RedisCluster|array|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_xpending">xpending</a>(string $key, string $group, string|null $start = null, string|null $end = null, int $count = -1, string|null $consumer = null)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ RedisCluster|bool|array
+ </div>
+ <div class="col-md-8">
+ <a href="#method_xrange">xrange</a>(string $key, string $start, string $end, int $count = -1)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ RedisCluster|bool|array
+ </div>
+ <div class="col-md-8">
+ <a href="#method_xread">xread</a>(array $streams, int $count = -1, int $block = -1)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ RedisCluster|bool|array
+ </div>
+ <div class="col-md-8">
+ <a href="#method_xreadgroup">xreadgroup</a>(string $group, string $consumer, array $streams, int $count = 1, int $block = 1)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ RedisCluster|bool|array
+ </div>
+ <div class="col-md-8">
+ <a href="#method_xrevrange">xrevrange</a>(string $key, string $start, string $end, int $count = -1)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ RedisCluster|int|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_xtrim">xtrim</a>(string $key, int $maxlen, bool $approx = false, bool $minid = false, int $limit = -1)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ RedisCluster|int|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_zadd">zadd</a>(string $key, array|float $score_or_options, mixed ...$more_scores_and_mems)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ RedisCluster|int|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_zcard">zcard</a>(string $key)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ RedisCluster|int|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_zcount">zcount</a>(string $key, string $start, string $end)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ RedisCluster|float|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_zincrby">zincrby</a>(string $key, float $value, string $member)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ RedisCluster|int|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_zinterstore">zinterstore</a>(string $dst, array $keys, array|null $weights = null, string|null $aggregate = null)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ RedisCluster|int|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_zintercard">zintercard</a>(array $keys, int $limit = -1)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ RedisCluster|int|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_zlexcount">zlexcount</a>(string $key, string $min, string $max)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ RedisCluster|bool|array
+ </div>
+ <div class="col-md-8">
+ <a href="#method_zpopmax">zpopmax</a>(string $key, int $value = null)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ RedisCluster|bool|array
+ </div>
+ <div class="col-md-8">
+ <a href="#method_zpopmin">zpopmin</a>(string $key, int $value = null)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ RedisCluster|array|bool
+ </div>
+ <div class="col-md-8">
+ <a href="#method_zrange">zrange</a>(string $key, mixed $start, mixed $end, array|bool|null $options = null)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ RedisCluster|int|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_zrangestore">zrangestore</a>(string $dstkey, string $srckey, int $start, int $end, array|bool|null $options = null)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ RedisCluster|array|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_zrangebylex">zrangebylex</a>(string $key, string $min, string $max, int $offset = -1, int $count = -1)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ RedisCluster|array|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_zrangebyscore">zrangebyscore</a>(string $key, string $start, string $end, array $options = [])
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ RedisCluster|int|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_zrank">zrank</a>(string $key, mixed $member)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ RedisCluster|int|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_zrem">zrem</a>(string $key, string $value, string ...$other_values)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ RedisCluster|int|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_zremrangebylex">zremrangebylex</a>(string $key, string $min, string $max)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ RedisCluster|int|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_zremrangebyrank">zremrangebyrank</a>(string $key, string $min, string $max)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ RedisCluster|int|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_zremrangebyscore">zremrangebyscore</a>(string $key, string $min, string $max)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ RedisCluster|bool|array
+ </div>
+ <div class="col-md-8">
+ <a href="#method_zrevrange">zrevrange</a>(string $key, string $min, string $max, array $options = null)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ RedisCluster|bool|array
+ </div>
+ <div class="col-md-8">
+ <a href="#method_zrevrangebylex">zrevrangebylex</a>(string $key, string $min, string $max, array $options = null)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ RedisCluster|bool|array
+ </div>
+ <div class="col-md-8">
+ <a href="#method_zrevrangebyscore">zrevrangebyscore</a>(string $key, string $min, string $max, array $options = null)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ RedisCluster|int|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_zrevrank">zrevrank</a>(string $key, mixed $member)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ RedisCluster|bool|array
+ </div>
+ <div class="col-md-8">
+ <a href="#method_zscan">zscan</a>(string $key, int|null $iterator, string|null $pattern = null, int $count = 0)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ RedisCluster|float|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_zscore">zscore</a>(string $key, mixed $member)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ RedisCluster|int|false
+ </div>
+ <div class="col-md-8">
+ <a href="#method_zunionstore">zunionstore</a>(string $dst, array $keys, array|null $weights = NULL, string|null $aggregate = NULL)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ </div>
+
+
+ <h2>Details</h2>
+
+ <div id="method-details">
+ <div class="method-item">
+ <h3 id="method___construct">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L11">at line 11</a></div>
+ <code>
+ <strong>__construct</strong>(string|null $name, array $seeds = NULL, int|float $timeout = 0, int|float $read_timeout = 0, bool $persistent = false, mixed $auth = NULL, array $context = NULL)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string|null</td>
+ <td>$name</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>array</td>
+ <td>$seeds</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>int|float</td>
+ <td>$timeout</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>int|float</td>
+ <td>$read_timeout</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>bool</td>
+ <td>$persistent</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>mixed</td>
+ <td>$auth</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>array</td>
+ <td>$context</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method__compress">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L16">at line 16</a></div>
+ <code> string
+ <strong>_compress</strong>(string $value)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$value</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ <a href="Redis.html#method__compress">
+Redis::_compress</a>
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method__uncompress">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L21">at line 21</a></div>
+ <code> string
+ <strong>_uncompress</strong>(string $value)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$value</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ <a href="Redis.html#method__uncompress">
+Redis::_uncompress</a>
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method__serialize">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L26">at line 26</a></div>
+ <code> bool|string
+ <strong>_serialize</strong>(mixed $value)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>mixed</td>
+ <td>$value</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>bool|string</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ <a href="Redis.html#method__serialize">
+Redis::_serialize</a>
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method__unserialize">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L31">at line 31</a></div>
+ <code> mixed
+ <strong>_unserialize</strong>(string $value)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$value</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>mixed</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ <a href="Redis.html#method__unserialize">
+Redis::_unserialize</a>
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method__pack">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L36">at line 36</a></div>
+ <code> string
+ <strong>_pack</strong>(mixed $value)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>mixed</td>
+ <td>$value</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ <a href="Redis.html#method__pack">
+Redis::_pack</a>
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method__unpack">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L41">at line 41</a></div>
+ <code> mixed
+ <strong>_unpack</strong>(string $value)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$value</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>mixed</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ <a href="Redis.html#method__unpack">
+Redis::_unpack</a>
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method__prefix">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L46">at line 46</a></div>
+ <code> bool|string
+ <strong>_prefix</strong>(string $key)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>bool|string</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ <a href="Redis.html#method__prefix">
+Redis::_prefix</a>
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method__masters">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L48">at line 48</a></div>
+ <code> array
+ <strong>_masters</strong>()
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>array</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method__redir">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L50">at line 50</a></div>
+ <code> string|null
+ <strong>_redir</strong>()
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string|null</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_acl">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L55">at line 55</a></div>
+ <code> mixed
+ <strong>acl</strong>(string|array $key_or_address, string $subcmd, string ...$args)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string|array</td>
+ <td>$key_or_address</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>$subcmd</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>...$args</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>mixed</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ Redis::acl
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_append">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L60">at line 60</a></div>
+ <code> RedisCluster|bool|int
+ <strong>append</strong>(string $key, mixed $value)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>mixed</td>
+ <td>$value</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>RedisCluster|bool|int</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ <a href="Redis.html#method_append">
+Redis::append</a>
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_bgrewriteaof">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L65">at line 65</a></div>
+ <code> RedisCluster|bool
+ <strong>bgrewriteaof</strong>(string|array $key_or_address)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string|array</td>
+ <td>$key_or_address</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>RedisCluster|bool</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ Redis::bgrewriteaof
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_bgsave">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L70">at line 70</a></div>
+ <code> RedisCluster|bool
+ <strong>bgsave</strong>(string|array $key_or_address)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string|array</td>
+ <td>$key_or_address</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>RedisCluster|bool</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ Redis::bgsave
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_bitcount">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L75">at line 75</a></div>
+ <code> RedisCluster|bool|int
+ <strong>bitcount</strong>(string $key, int $start = 0, int $end = -1, bool $bybit = false)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>int</td>
+ <td>$start</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>int</td>
+ <td>$end</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>bool</td>
+ <td>$bybit</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>RedisCluster|bool|int</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ Redis::bitcount
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_bitop">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L80">at line 80</a></div>
+ <code> RedisCluster|bool|int
+ <strong>bitop</strong>(string $operation, string $deskey, string $srckey, string ...$otherkeys)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$operation</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>$deskey</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>$srckey</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>...$otherkeys</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>RedisCluster|bool|int</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ Redis::bitop
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_bitpos">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L94">at line 94</a></div>
+ <code> RedisCluster|int|false
+ <strong>bitpos</strong>(string $key, bool $bit, int $start = 0, int $end = -1, bool $bybit = false)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>Return the position of the first bit set to 0 or 1 in a string.</p></p>
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td><p>The key to check (must be a string)</p></td>
+ </tr>
+ <tr>
+ <td>bool</td>
+ <td>$bit</td>
+ <td><p>Whether to look for an unset (0) or set (1) bit.</p></td>
+ </tr>
+ <tr>
+ <td>int</td>
+ <td>$start</td>
+ <td><p>Where in the string to start looking.</p></td>
+ </tr>
+ <tr>
+ <td>int</td>
+ <td>$end</td>
+ <td><p>Where in the string to stop looking.</p></td>
+ </tr>
+ <tr>
+ <td>bool</td>
+ <td>$bybit</td>
+ <td><p>If true, Redis will treat $start and $end as BIT values and not bytes, so if start
+was 0 and end was 2, Redis would only search the first two bits.</p></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>RedisCluster|int|false</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ <a href="https://https://redis.io/commands/bitpos/">https://https://redis.io/commands/bitpos/</a>
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_blpop">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L99">at line 99</a></div>
+ <code> RedisCluster|array|null|false
+ <strong>blpop</strong>(string|array $key, string|float|int $timeout_or_key, mixed ...$extra_args)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>See Redis::blpop()</p></p>
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string|array</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string|float|int</td>
+ <td>$timeout_or_key</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>mixed</td>
+ <td>...$extra_args</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>RedisCluster|array|null|false</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_brpop">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L104">at line 104</a></div>
+ <code> RedisCluster|array|null|false
+ <strong>brpop</strong>(string|array $key, string|float|int $timeout_or_key, mixed ...$extra_args)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>See Redis::brpop()</p></p>
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string|array</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string|float|int</td>
+ <td>$timeout_or_key</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>mixed</td>
+ <td>...$extra_args</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>RedisCluster|array|null|false</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_brpoplpush">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L109">at line 109</a></div>
+ <code> mixed
+ <strong>brpoplpush</strong>(string $srckey, string $deskey, int $timeout)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>See Redis::brpoplpush()</p></p>
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$srckey</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>$deskey</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>int</td>
+ <td>$timeout</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>mixed</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_bzpopmax">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L114">at line 114</a></div>
+ <code> array
+ <strong>bzpopmax</strong>(string|array $key, string|int $timeout_or_key, mixed ...$extra_args)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string|array</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string|int</td>
+ <td>$timeout_or_key</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>mixed</td>
+ <td>...$extra_args</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>array</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ Redis::bzpopmax
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_bzpopmin">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L119">at line 119</a></div>
+ <code> array
+ <strong>bzpopmin</strong>(string|array $key, string|int $timeout_or_key, mixed ...$extra_args)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string|array</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string|int</td>
+ <td>$timeout_or_key</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>mixed</td>
+ <td>...$extra_args</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>array</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ Redis::bzpopmin
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_bzmpop">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L124">at line 124</a></div>
+ <code> RedisCluster|array|null|false
+ <strong>bzmpop</strong>(float $timeout, array $keys, string $from, int $count = 1)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>float</td>
+ <td>$timeout</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>array</td>
+ <td>$keys</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>$from</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>int</td>
+ <td>$count</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>RedisCluster|array|null|false</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ Redis::bzmpop
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_zmpop">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L129">at line 129</a></div>
+ <code> RedisCluster|array|null|false
+ <strong>zmpop</strong>(array $keys, string $from, int $count = 1)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>array</td>
+ <td>$keys</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>$from</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>int</td>
+ <td>$count</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>RedisCluster|array|null|false</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ Redis::zmpop
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_blmpop">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L134">at line 134</a></div>
+ <code> RedisCluster|array|null|false
+ <strong>blmpop</strong>(float $timeout, array $keys, string $from, int $count = 1)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>float</td>
+ <td>$timeout</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>array</td>
+ <td>$keys</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>$from</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>int</td>
+ <td>$count</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>RedisCluster|array|null|false</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ <a href="Redis.html#method_blmpop">
+Redis::blmpop</a>
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_lmpop">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L139">at line 139</a></div>
+ <code> RedisCluster|array|null|false
+ <strong>lmpop</strong>(array $keys, string $from, int $count = 1)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>array</td>
+ <td>$keys</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>$from</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>int</td>
+ <td>$count</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>RedisCluster|array|null|false</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ <a href="Redis.html#method_lmpop">
+Redis::lmpop</a>
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_clearlasterror">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L144">at line 144</a></div>
+ <code> bool
+ <strong>clearlasterror</strong>()
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>bool</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ \Redis::clearlasterror()
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_client">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L149">at line 149</a></div>
+ <code> array|string|bool
+ <strong>client</strong>(string|array $key_or_address, string $subcommand, string|null $arg = NULL)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string|array</td>
+ <td>$key_or_address</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>$subcommand</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string|null</td>
+ <td>$arg</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>array|string|bool</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ Redis::client
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_close">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L154">at line 154</a></div>
+ <code> bool
+ <strong>close</strong>()
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>bool</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ Redis::close
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_cluster">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L159">at line 159</a></div>
+ <code> mixed
+ <strong>cluster</strong>(string|array $key_or_address, string $command, mixed ...$extra_args)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string|array</td>
+ <td>$key_or_address</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>$command</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>mixed</td>
+ <td>...$extra_args</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>mixed</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ Redis::cluster
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_command">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L164">at line 164</a></div>
+ <code> mixed
+ <strong>command</strong>(mixed ...$extra_args)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>mixed</td>
+ <td>...$extra_args</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>mixed</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ Redis::command
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_config">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L169">at line 169</a></div>
+ <code> mixed
+ <strong>config</strong>(string|array $key_or_address, string $subcommand, mixed ...$extra_args)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string|array</td>
+ <td>$key_or_address</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>$subcommand</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>mixed</td>
+ <td>...$extra_args</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>mixed</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ <a href="Redis.html#method_config">
+Redis::config</a>
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_dbsize">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L174">at line 174</a></div>
+ <code> RedisCluster|int
+ <strong>dbsize</strong>(string|array $key_or_address)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string|array</td>
+ <td>$key_or_address</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>RedisCluster|int</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ \Redis::dbsize()
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_decr">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L179">at line 179</a></div>
+ <code> RedisCluster|int|false
+ <strong>decr</strong>(string $key, int $by = 1)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>int</td>
+ <td>$by</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>RedisCluster|int|false</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ <a href="Redis.html#method_decr">
+Redis::decr</a>
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_decrby">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L184">at line 184</a></div>
+ <code> RedisCluster|int|false
+ <strong>decrby</strong>(string $key, int $value)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>int</td>
+ <td>$value</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>RedisCluster|int|false</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ \Redis::decrby()
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_decrbyfloat">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L189">at line 189</a></div>
+ <code> float
+ <strong>decrbyfloat</strong>(string $key, float $value)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>float</td>
+ <td>$value</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>float</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ Redis::decrbyfloat
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_del">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L194">at line 194</a></div>
+ <code> RedisCluster|int|false
+ <strong>del</strong>(array|string $key, string ...$other_keys)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>array|string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>...$other_keys</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>RedisCluster|int|false</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ <a href="Redis.html#method_del">
+Redis::del</a>
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_discard">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L199">at line 199</a></div>
+ <code> bool
+ <strong>discard</strong>()
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>bool</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ Redis::discard
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_dump">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L204">at line 204</a></div>
+ <code> RedisCluster|string|false
+ <strong>dump</strong>(string $key)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>RedisCluster|string|false</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ Redis::dump
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_echo">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L209">at line 209</a></div>
+ <code> RedisCluster|string|false
+ <strong>echo</strong>(string|array $key_or_address, string $msg)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string|array</td>
+ <td>$key_or_address</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>$msg</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>RedisCluster|string|false</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ <a href="Redis.html#method_echo">
+Redis::echo</a>
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_eval">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L214">at line 214</a></div>
+ <code> mixed
+ <strong>eval</strong>(string $script, array $args = [], int $num_keys = 0)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$script</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>array</td>
+ <td>$args</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>int</td>
+ <td>$num_keys</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>mixed</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ Redis::eval
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_eval_ro">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L219">at line 219</a></div>
+ <code> mixed
+ <strong>eval_ro</strong>(string $script, array $args = [], int $num_keys = 0)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$script</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>array</td>
+ <td>$args</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>int</td>
+ <td>$num_keys</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>mixed</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ Redis::eval_ro
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_evalsha">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L224">at line 224</a></div>
+ <code> mixed
+ <strong>evalsha</strong>(string $script_sha, array $args = [], int $num_keys = 0)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$script_sha</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>array</td>
+ <td>$args</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>int</td>
+ <td>$num_keys</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>mixed</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ Redis::evalsha
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_evalsha_ro">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L229">at line 229</a></div>
+ <code> mixed
+ <strong>evalsha_ro</strong>(string $script_sha, array $args = [], int $num_keys = 0)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$script_sha</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>array</td>
+ <td>$args</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>int</td>
+ <td>$num_keys</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>mixed</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ Redis::evalsha_ro
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_exec">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L234">at line 234</a></div>
+ <code> array|false
+ <strong>exec</strong>()
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>array|false</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ <a href="Redis.html#method_exec">
+Redis::exec</a>
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_exists">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L239">at line 239</a></div>
+ <code> RedisCluster|int|bool
+ <strong>exists</strong>(mixed $key, mixed ...$other_keys)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>mixed</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>mixed</td>
+ <td>...$other_keys</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>RedisCluster|int|bool</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ Redis::exists
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_touch">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L244">at line 244</a></div>
+ <code> RedisCluster|int|bool
+ <strong>touch</strong>(mixed $key, mixed ...$other_keys)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>mixed</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>mixed</td>
+ <td>...$other_keys</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>RedisCluster|int|bool</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ <a href="Redis.html#method_touch">
+Redis::touch</a>
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_expire">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L249">at line 249</a></div>
+ <code> RedisCluster|bool
+ <strong>expire</strong>(string $key, int $timeout, string|null $mode = NULL)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>int</td>
+ <td>$timeout</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string|null</td>
+ <td>$mode</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>RedisCluster|bool</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ Redis::expire
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_expireat">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L254">at line 254</a></div>
+ <code> RedisCluster|bool
+ <strong>expireat</strong>(string $key, int $timestamp, string|null $mode = NULL)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>int</td>
+ <td>$timestamp</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string|null</td>
+ <td>$mode</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>RedisCluster|bool</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ Redis::expireat
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_expiretime">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L259">at line 259</a></div>
+ <code> RedisCluster|int|false
+ <strong>expiretime</strong>(string $key)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>RedisCluster|int|false</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ <a href="Redis.html#method_expiretime">
+Redis::expiretime</a>
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_pexpiretime">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L264">at line 264</a></div>
+ <code> RedisCluster|int|false
+ <strong>pexpiretime</strong>(string $key)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>RedisCluster|int|false</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ <a href="Redis.html#method_pexpiretime">
+Redis::pexpiretime</a>
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_flushall">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L269">at line 269</a></div>
+ <code> RedisCluster|bool
+ <strong>flushall</strong>(string|array $key_or_address, bool $async = false)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string|array</td>
+ <td>$key_or_address</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>bool</td>
+ <td>$async</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>RedisCluster|bool</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ Redis::flushall
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_flushdb">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L274">at line 274</a></div>
+ <code> RedisCluster|bool
+ <strong>flushdb</strong>(string|array $key_or_address, bool $async = false)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string|array</td>
+ <td>$key_or_address</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>bool</td>
+ <td>$async</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>RedisCluster|bool</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ Redis::flushdb
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_geoadd">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L279">at line 279</a></div>
+ <code> RedisCluster|int|false
+ <strong>geoadd</strong>(string $key, float $lng, float $lat, string $member, mixed ...$other_triples_and_options)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>float</td>
+ <td>$lng</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>float</td>
+ <td>$lat</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>$member</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>mixed</td>
+ <td>...$other_triples_and_options</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>RedisCluster|int|false</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ Redis::geoadd
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_geodist">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L284">at line 284</a></div>
+ <code> RedisCluster|float|false
+ <strong>geodist</strong>(string $key, string $src, string $dest, string|null $unit = null)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>$src</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>$dest</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string|null</td>
+ <td>$unit</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>RedisCluster|float|false</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ Redis::geodist
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_geohash">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L289">at line 289</a></div>
+ <code> RedisCluster|array|false
+ <strong>geohash</strong>(string $key, string $member, string ...$other_members)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>$member</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>...$other_members</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>RedisCluster|array|false</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ Redis::geohash
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_geopos">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L294">at line 294</a></div>
+ <code> RedisCluster|array|false
+ <strong>geopos</strong>(string $key, string $member, string ...$other_members)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>$member</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>...$other_members</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>RedisCluster|array|false</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ Redis::geopos
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_georadius">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L299">at line 299</a></div>
+ <code> mixed
+ <strong>georadius</strong>(string $key, float $lng, float $lat, float $radius, string $unit, array $options = [])
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>float</td>
+ <td>$lng</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>float</td>
+ <td>$lat</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>float</td>
+ <td>$radius</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>$unit</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>array</td>
+ <td>$options</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>mixed</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ Redis::georadius
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_georadius_ro">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L304">at line 304</a></div>
+ <code> mixed
+ <strong>georadius_ro</strong>(string $key, float $lng, float $lat, float $radius, string $unit, array $options = [])
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>float</td>
+ <td>$lng</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>float</td>
+ <td>$lat</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>float</td>
+ <td>$radius</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>$unit</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>array</td>
+ <td>$options</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>mixed</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ Redis::georadius_ro
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_georadiusbymember">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L309">at line 309</a></div>
+ <code> mixed
+ <strong>georadiusbymember</strong>(string $key, string $member, float $radius, string $unit, array $options = [])
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>$member</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>float</td>
+ <td>$radius</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>$unit</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>array</td>
+ <td>$options</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>mixed</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ Redis::georadiusbymember
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_georadiusbymember_ro">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L314">at line 314</a></div>
+ <code> mixed
+ <strong>georadiusbymember_ro</strong>(string $key, string $member, float $radius, string $unit, array $options = [])
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>$member</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>float</td>
+ <td>$radius</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>$unit</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>array</td>
+ <td>$options</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>mixed</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ Redis::georadiusbymember_ro
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_get">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L319">at line 319</a></div>
+ <code> mixed
+ <strong>get</strong>(string $key)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>mixed</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ Redis::get
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_getbit">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L324">at line 324</a></div>
+ <code> RedisCluster|int|false
+ <strong>getbit</strong>(string $key, int $value)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>int</td>
+ <td>$value</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>RedisCluster|int|false</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ Redis::getbit
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_getlasterror">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L329">at line 329</a></div>
+ <code> string|null
+ <strong>getlasterror</strong>()
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string|null</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ Redis::getlasterror
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_getmode">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L334">at line 334</a></div>
+ <code> int
+ <strong>getmode</strong>()
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>int</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ Redis::getmode
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_getoption">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L339">at line 339</a></div>
+ <code> mixed
+ <strong>getoption</strong>(int $option)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>int</td>
+ <td>$option</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>mixed</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ Redis::getoption
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_getrange">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L344">at line 344</a></div>
+ <code> RedisCluster|string|false
+ <strong>getrange</strong>(string $key, int $start, int $end)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>int</td>
+ <td>$start</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>int</td>
+ <td>$end</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>RedisCluster|string|false</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ Redis::getrange
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_lcs">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L349">at line 349</a></div>
+ <code> RedisCluster|string|array|int|false
+ <strong>lcs</strong>(string $key1, string $key2, array|null $options = NULL)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key1</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>$key2</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>array|null</td>
+ <td>$options</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>RedisCluster|string|array|int|false</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ Redis::lcs
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_getset">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L354">at line 354</a></div>
+ <code> RedisCluster|string|bool
+ <strong>getset</strong>(string $key, mixed $value)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>mixed</td>
+ <td>$value</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>RedisCluster|string|bool</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ Redis::getset
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_gettransferredbytes">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L359">at line 359</a></div>
+ <code> int|false
+ <strong>gettransferredbytes</strong>()
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>int|false</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ Redis::gettransferredbytes
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_hdel">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L364">at line 364</a></div>
+ <code> RedisCluster|int|false
+ <strong>hdel</strong>(string $key, string $member, string ...$other_members)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>$member</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>...$other_members</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>RedisCluster|int|false</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ Redis::hdel
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_hexists">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L369">at line 369</a></div>
+ <code> RedisCluster|bool
+ <strong>hexists</strong>(string $key, string $member)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>$member</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>RedisCluster|bool</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ Redis::hexists
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_hget">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L374">at line 374</a></div>
+ <code> mixed
+ <strong>hget</strong>(string $key, string $member)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>$member</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>mixed</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ Redis::hget
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_hgetall">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L379">at line 379</a></div>
+ <code> RedisCluster|array|false
+ <strong>hgetall</strong>(string $key)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>RedisCluster|array|false</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ Redis::hgetall
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_hincrby">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L384">at line 384</a></div>
+ <code> RedisCluster|int|false
+ <strong>hincrby</strong>(string $key, string $member, int $value)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>$member</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>int</td>
+ <td>$value</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>RedisCluster|int|false</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ Redis::hincrby
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_hincrbyfloat">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L389">at line 389</a></div>
+ <code> RedisCluster|float|false
+ <strong>hincrbyfloat</strong>(string $key, string $member, float $value)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>$member</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>float</td>
+ <td>$value</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>RedisCluster|float|false</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ Redis::hincrbyfloat
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_hkeys">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L394">at line 394</a></div>
+ <code> RedisCluster|array|false
+ <strong>hkeys</strong>(string $key)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>RedisCluster|array|false</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ Redis::hkeys
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_hlen">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L399">at line 399</a></div>
+ <code> RedisCluster|int|false
+ <strong>hlen</strong>(string $key)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>RedisCluster|int|false</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ Redis::hlen
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_hmget">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L404">at line 404</a></div>
+ <code> RedisCluster|array|false
+ <strong>hmget</strong>(string $key, array $keys)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>array</td>
+ <td>$keys</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>RedisCluster|array|false</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ Redis::hmget
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_hmset">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L409">at line 409</a></div>
+ <code> RedisCluster|bool
+ <strong>hmset</strong>(string $key, array $key_values)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>array</td>
+ <td>$key_values</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>RedisCluster|bool</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ Redis::hmset
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_hscan">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L414">at line 414</a></div>
+ <code> array|bool
+ <strong>hscan</strong>(string $key, int|null $iterator, string|null $pattern = null, int $count = 0)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>int|null</td>
+ <td>$iterator</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string|null</td>
+ <td>$pattern</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>int</td>
+ <td>$count</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>array|bool</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ Redis::hscan
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_hset">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L419">at line 419</a></div>
+ <code> RedisCluster|int|false
+ <strong>hset</strong>(string $key, string $member, mixed $value)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>$member</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>mixed</td>
+ <td>$value</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>RedisCluster|int|false</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ Redis::hset
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_hsetnx">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L424">at line 424</a></div>
+ <code> RedisCluster|bool
+ <strong>hsetnx</strong>(string $key, string $member, mixed $value)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>$member</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>mixed</td>
+ <td>$value</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>RedisCluster|bool</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ Redis::hsetnx
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_hstrlen">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L429">at line 429</a></div>
+ <code> RedisCluster|int|false
+ <strong>hstrlen</strong>(string $key, string $field)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>$field</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>RedisCluster|int|false</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ Redis::hstrlen
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_hvals">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L434">at line 434</a></div>
+ <code> RedisCluster|array|false
+ <strong>hvals</strong>(string $key)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>RedisCluster|array|false</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ Redis::hvals
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_incr">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L439">at line 439</a></div>
+ <code> RedisCluster|int|false
+ <strong>incr</strong>(string $key, int $by = 1)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>int</td>
+ <td>$by</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>RedisCluster|int|false</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ Redis::incr
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_incrby">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L444">at line 444</a></div>
+ <code> RedisCluster|int|false
+ <strong>incrby</strong>(string $key, int $value)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>int</td>
+ <td>$value</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>RedisCluster|int|false</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ Redis::incrby
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_incrbyfloat">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L449">at line 449</a></div>
+ <code> RedisCluster|float|false
+ <strong>incrbyfloat</strong>(string $key, float $value)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>float</td>
+ <td>$value</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>RedisCluster|float|false</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ Redis::incrbyfloat
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_info">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L467">at line 467</a></div>
+ <code> RedisCluster|array|false
+ <strong>info</strong>(string|array $key_or_address, string ...$sections)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>Retrieve information about the connected redis-server. If no arguments are passed to
+this function, redis will return every info field. Alternatively you may pass a specific
+section you want returned (e.g. 'server', or 'memory') to receive only information pertaining
+to that section.</p></p> <p><p>If connected to Redis server &gt;= 7.0.0 you may pass multiple optional sections.</p></p>
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string|array</td>
+ <td>$key_or_address</td>
+ <td><p>Either a key name or array with host and port indicating
+which cluster node we want to send the command to.</p></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>...$sections</td>
+ <td><p>Optional section(s) you wish Redis server to return.</p></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>RedisCluster|array|false</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ <a href="https://redis.io/commands/info/">https://redis.io/commands/info/</a>
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_keys">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L472">at line 472</a></div>
+ <code> RedisCluster|array|false
+ <strong>keys</strong>(string $pattern)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$pattern</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>RedisCluster|array|false</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ Redis::keys
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_lastsave">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L477">at line 477</a></div>
+ <code> RedisCluster|int|false
+ <strong>lastsave</strong>(string|array $key_or_address)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string|array</td>
+ <td>$key_or_address</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>RedisCluster|int|false</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ Redis::lastsave
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_lget">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L482">at line 482</a></div>
+ <code> RedisCluster|string|bool
+ <strong>lget</strong>(string $key, int $index)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>int</td>
+ <td>$index</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>RedisCluster|string|bool</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ Redis::lget
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_lindex">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L487">at line 487</a></div>
+ <code> mixed
+ <strong>lindex</strong>(string $key, int $index)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>int</td>
+ <td>$index</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>mixed</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ Redis::lindex
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_linsert">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L492">at line 492</a></div>
+ <code> RedisCluster|int|false
+ <strong>linsert</strong>(string $key, string $pos, mixed $pivot, mixed $value)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>$pos</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>mixed</td>
+ <td>$pivot</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>mixed</td>
+ <td>$value</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>RedisCluster|int|false</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ Redis::linsert
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_llen">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L497">at line 497</a></div>
+ <code> RedisCluster|int|bool
+ <strong>llen</strong>(string $key)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>RedisCluster|int|bool</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ Redis::llen
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_lpop">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L502">at line 502</a></div>
+ <code> RedisCluster|bool|string|array
+ <strong>lpop</strong>(string $key, int $count = 0)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>int</td>
+ <td>$count</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>RedisCluster|bool|string|array</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ Redis::lpop
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_lpush">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L507">at line 507</a></div>
+ <code> RedisCluster|int|bool
+ <strong>lpush</strong>(string $key, mixed $value, mixed ...$other_values)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>mixed</td>
+ <td>$value</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>mixed</td>
+ <td>...$other_values</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>RedisCluster|int|bool</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ Redis::lpush
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_lpushx">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L512">at line 512</a></div>
+ <code> RedisCluster|int|bool
+ <strong>lpushx</strong>(string $key, mixed $value)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>mixed</td>
+ <td>$value</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>RedisCluster|int|bool</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ Redis::lpushx
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_lrange">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L517">at line 517</a></div>
+ <code> RedisCluster|array|false
+ <strong>lrange</strong>(string $key, int $start, int $end)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>int</td>
+ <td>$start</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>int</td>
+ <td>$end</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>RedisCluster|array|false</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ Redis::lrange
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_lrem">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L522">at line 522</a></div>
+ <code> RedisCluster|int|bool
+ <strong>lrem</strong>(string $key, mixed $value, int $count = 0)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>mixed</td>
+ <td>$value</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>int</td>
+ <td>$count</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>RedisCluster|int|bool</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ Redis::lrem
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_lset">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L527">at line 527</a></div>
+ <code> RedisCluster|bool
+ <strong>lset</strong>(string $key, int $index, mixed $value)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>int</td>
+ <td>$index</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>mixed</td>
+ <td>$value</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>RedisCluster|bool</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ Redis::lset
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_ltrim">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L532">at line 532</a></div>
+ <code> RedisCluster|bool
+ <strong>ltrim</strong>(string $key, int $start, int $end)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>int</td>
+ <td>$start</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>int</td>
+ <td>$end</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>RedisCluster|bool</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ Redis::ltrim
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_mget">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L537">at line 537</a></div>
+ <code> RedisCluster|array|false
+ <strong>mget</strong>(array $keys)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>array</td>
+ <td>$keys</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>RedisCluster|array|false</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ Redis::mget
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_mset">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L542">at line 542</a></div>
+ <code> RedisCluster|bool
+ <strong>mset</strong>(array $key_values)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>array</td>
+ <td>$key_values</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>RedisCluster|bool</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ Redis::mset
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_msetnx">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L547">at line 547</a></div>
+ <code> RedisCluster|array|false
+ <strong>msetnx</strong>(array $key_values)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>array</td>
+ <td>$key_values</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>RedisCluster|array|false</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ Redis::msetnx
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_multi">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L552">at line 552</a></div>
+ <code> RedisCluster|bool
+ <strong>multi</strong>(int $value = Redis::MULTI)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>int</td>
+ <td>$value</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>RedisCluster|bool</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_object">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L557">at line 557</a></div>
+ <code> RedisCluster|int|string|false
+ <strong>object</strong>(string $subcommand, string $key)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$subcommand</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>RedisCluster|int|string|false</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ Redis::object
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_persist">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L562">at line 562</a></div>
+ <code> RedisCluster|bool
+ <strong>persist</strong>(string $key)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>RedisCluster|bool</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ Redis::persist
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_pexpire">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L567">at line 567</a></div>
+ <code> RedisCluster|bool
+ <strong>pexpire</strong>(string $key, int $timeout, string|null $mode = NULL)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>int</td>
+ <td>$timeout</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string|null</td>
+ <td>$mode</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>RedisCluster|bool</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ Redis::pexpire
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_pexpireat">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L572">at line 572</a></div>
+ <code> RedisCluster|bool
+ <strong>pexpireat</strong>(string $key, int $timestamp, string|null $mode = NULL)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>int</td>
+ <td>$timestamp</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string|null</td>
+ <td>$mode</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>RedisCluster|bool</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ Redis::pexpireat
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_pfadd">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L578">at line 578</a></div>
+ <code> RedisCluster|bool
+ <strong>pfadd</strong>(string $key, array $elements)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>array</td>
+ <td>$elements</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>RedisCluster|bool</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ <a href="Redis.html#method_pfadd">
+Redis::pfadd</a>
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_pfcount">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L583">at line 583</a></div>
+ <code> RedisCluster|int|false
+ <strong>pfcount</strong>(string $key)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>RedisCluster|int|false</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ <a href="Redis.html#method_pfcount">
+Redis::pfcount</a>
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_pfmerge">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L588">at line 588</a></div>
+ <code> RedisCluster|bool
+ <strong>pfmerge</strong>(string $key, array $keys)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>array</td>
+ <td>$keys</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>RedisCluster|bool</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ <a href="Redis.html#method_pfmerge">
+Redis::pfmerge</a>
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_ping">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L603">at line 603</a></div>
+ <code> mixed
+ <strong>ping</strong>(string|array $key_or_address, string|null $message = NULL)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p><p>PING an instance in the redis cluster.</p></p>
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string|array</td>
+ <td>$key_or_address</td>
+ <td><p>Either a key name or a two element array with host and
+address, informing RedisCluster which node to ping.</p></td>
+ </tr>
+ <tr>
+ <td>string|null</td>
+ <td>$message</td>
+ <td><p>An optional message to send.</p></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>mixed</td>
+ <td><p>This method always returns <code>true</code> if no message was sent, and the message itself
+if one was.</p></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ <a href="Redis.html#method_ping">
+Redis::ping</a>
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_psetex">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L608">at line 608</a></div>
+ <code> RedisCluster|bool
+ <strong>psetex</strong>(string $key, int $timeout, string $value)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>int</td>
+ <td>$timeout</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>$value</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>RedisCluster|bool</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ Redis::psetex
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_psubscribe">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L613">at line 613</a></div>
+ <code> void
+ <strong>psubscribe</strong>(array $patterns, callable $callback)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>array</td>
+ <td>$patterns</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>callable</td>
+ <td>$callback</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>void</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ Redis::psubscribe
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_pttl">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L618">at line 618</a></div>
+ <code> RedisCluster|int|false
+ <strong>pttl</strong>(string $key)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>RedisCluster|int|false</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ Redis::pttl
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_publish">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L623">at line 623</a></div>
+ <code> RedisCluster|bool
+ <strong>publish</strong>(string $channel, string $message)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$channel</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>$message</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>RedisCluster|bool</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ Redis::publish
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_pubsub">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L628">at line 628</a></div>
+ <code> mixed
+ <strong>pubsub</strong>(string|array $key_or_address, string ...$values)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string|array</td>
+ <td>$key_or_address</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>...$values</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>mixed</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ Redis::pubsub
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_punsubscribe">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L633">at line 633</a></div>
+ <code> bool|array
+ <strong>punsubscribe</strong>(string $pattern, string ...$other_patterns)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$pattern</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>...$other_patterns</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>bool|array</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ Redis::punsubscribe
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_randomkey">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L638">at line 638</a></div>
+ <code> RedisCluster|bool|string
+ <strong>randomkey</strong>(string|array $key_or_address)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string|array</td>
+ <td>$key_or_address</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>RedisCluster|bool|string</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ Redis::randomkey
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_rawcommand">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L643">at line 643</a></div>
+ <code> mixed
+ <strong>rawcommand</strong>(string|array $key_or_address, string $command, mixed ...$args)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string|array</td>
+ <td>$key_or_address</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>$command</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>mixed</td>
+ <td>...$args</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>mixed</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ Redis::rawcommand
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_rename">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L648">at line 648</a></div>
+ <code> RedisCluster|bool
+ <strong>rename</strong>(string $key_src, string $key_dst)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key_src</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>$key_dst</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>RedisCluster|bool</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ Redis::rename
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_renamenx">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L653">at line 653</a></div>
+ <code> RedisCluster|bool
+ <strong>renamenx</strong>(string $key, string $newkey)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>$newkey</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>RedisCluster|bool</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ Redis::renamenx
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_restore">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L658">at line 658</a></div>
+ <code> RedisCluster|bool
+ <strong>restore</strong>(string $key, int $timeout, string $value, array|null $options = NULL)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>int</td>
+ <td>$timeout</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>$value</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>array|null</td>
+ <td>$options</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>RedisCluster|bool</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ Redis::restore
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_role">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L663">at line 663</a></div>
+ <code> mixed
+ <strong>role</strong>(string|array $key_or_address)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string|array</td>
+ <td>$key_or_address</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>mixed</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ Redis::role
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_rpop">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L668">at line 668</a></div>
+ <code> RedisCluster|bool|string|array
+ <strong>rpop</strong>(string $key, int $count = 0)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>int</td>
+ <td>$count</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>RedisCluster|bool|string|array</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ \Redis::rpop()
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_rpoplpush">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L673">at line 673</a></div>
+ <code> RedisCluster|bool|string
+ <strong>rpoplpush</strong>(string $src, string $dst)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$src</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>$dst</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>RedisCluster|bool|string</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ <a href="Redis.html#method_rpoplpush">
+Redis::rpoplpush</a>
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_rpush">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L678">at line 678</a></div>
+ <code> RedisCluster|int|false
+ <strong>rpush</strong>(string $key, mixed ...$elements)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>mixed</td>
+ <td>...$elements</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>RedisCluster|int|false</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ Redis::rpush
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_rpushx">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L683">at line 683</a></div>
+ <code> RedisCluster|bool|int
+ <strong>rpushx</strong>(string $key, string $value)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>$value</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>RedisCluster|bool|int</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ Redis::rpushx
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_sadd">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L688">at line 688</a></div>
+ <code> RedisCluster|int|false
+ <strong>sadd</strong>(string $key, mixed $value, mixed ...$other_values)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>mixed</td>
+ <td>$value</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>mixed</td>
+ <td>...$other_values</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>RedisCluster|int|false</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ \Redis::sadd()
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_saddarray">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L693">at line 693</a></div>
+ <code> RedisCluster|bool|int
+ <strong>saddarray</strong>(string $key, array $values)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>array</td>
+ <td>$values</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>RedisCluster|bool|int</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ \Redis::saddarray()
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_save">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L698">at line 698</a></div>
+ <code> RedisCluster|bool
+ <strong>save</strong>(string|array $key_or_address)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string|array</td>
+ <td>$key_or_address</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>RedisCluster|bool</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ Redis::save
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_scan">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L703">at line 703</a></div>
+ <code> bool|array
+ <strong>scan</strong>(int|null $iterator, string|array $key_or_address, string|null $pattern = null, int $count = 0)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>int|null</td>
+ <td>$iterator</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string|array</td>
+ <td>$key_or_address</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string|null</td>
+ <td>$pattern</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>int</td>
+ <td>$count</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>bool|array</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ Redis::scan
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_scard">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L708">at line 708</a></div>
+ <code> RedisCluster|int|false
+ <strong>scard</strong>(string $key)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>RedisCluster|int|false</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ Redis::scard
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_script">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L713">at line 713</a></div>
+ <code> mixed
+ <strong>script</strong>(string|array $key_or_address, mixed ...$args)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string|array</td>
+ <td>$key_or_address</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>mixed</td>
+ <td>...$args</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>mixed</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ Redis::script
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_sdiff">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L718">at line 718</a></div>
+ <code> RedisCluster|array|false
+ <strong>sdiff</strong>(string $key, string ...$other_keys)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>...$other_keys</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>RedisCluster|array|false</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ \Redis::sdiff()
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_sdiffstore">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L723">at line 723</a></div>
+ <code> RedisCluster|int|false
+ <strong>sdiffstore</strong>(string $dst, string $key, string ...$other_keys)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$dst</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>...$other_keys</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>RedisCluster|int|false</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ \Redis::sdiffstore()
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_set">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L728">at line 728</a></div>
+ <code> RedisCluster|string|bool
+ <strong>set</strong>(string $key, mixed $value, mixed $options = NULL)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>mixed</td>
+ <td>$value</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>mixed</td>
+ <td>$options</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>RedisCluster|string|bool</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ <a href="https://redis.io/commands/set">https://redis.io/commands/set</a>
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_setbit">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L733">at line 733</a></div>
+ <code> RedisCluster|int|false
+ <strong>setbit</strong>(string $key, int $offset, bool $onoff)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>int</td>
+ <td>$offset</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>bool</td>
+ <td>$onoff</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>RedisCluster|int|false</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ Redis::setbit
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_setex">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L738">at line 738</a></div>
+ <code> RedisCluster|bool
+ <strong>setex</strong>(string $key, int $expire, mixed $value)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>int</td>
+ <td>$expire</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>mixed</td>
+ <td>$value</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>RedisCluster|bool</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ Redis::setex
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_setnx">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L743">at line 743</a></div>
+ <code> RedisCluster|bool
+ <strong>setnx</strong>(string $key, mixed $value)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>mixed</td>
+ <td>$value</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>RedisCluster|bool</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ Redis::setnx
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_setoption">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L748">at line 748</a></div>
+ <code> bool
+ <strong>setoption</strong>(int $option, mixed $value)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>int</td>
+ <td>$option</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>mixed</td>
+ <td>$value</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>bool</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ Redis::setoption
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_setrange">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L753">at line 753</a></div>
+ <code> RedisCluster|int|false
+ <strong>setrange</strong>(string $key, int $offset, string $value)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>int</td>
+ <td>$offset</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>$value</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>RedisCluster|int|false</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ Redis::setrange
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_sinter">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L758">at line 758</a></div>
+ <code> RedisCluster|array|false
+ <strong>sinter</strong>(array|string $key, string ...$other_keys)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>array|string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>...$other_keys</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>RedisCluster|array|false</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ \Redis::sinter()
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_sintercard">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L763">at line 763</a></div>
+ <code> RedisCluster|int|false
+ <strong>sintercard</strong>(array $keys, int $limit = -1)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>array</td>
+ <td>$keys</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>int</td>
+ <td>$limit</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>RedisCluster|int|false</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ Redis::sintercard
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_sinterstore">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L768">at line 768</a></div>
+ <code> RedisCluster|int|false
+ <strong>sinterstore</strong>(array|string $key, string ...$other_keys)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>array|string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>...$other_keys</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>RedisCluster|int|false</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ \Redis::sinterstore()
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_sismember">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L773">at line 773</a></div>
+ <code> RedisCluster|bool
+ <strong>sismember</strong>(string $key, mixed $value)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>mixed</td>
+ <td>$value</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>RedisCluster|bool</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ Redis::sismember
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_slowlog">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L778">at line 778</a></div>
+ <code> mixed
+ <strong>slowlog</strong>(string|array $key_or_address, mixed ...$args)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string|array</td>
+ <td>$key_or_address</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>mixed</td>
+ <td>...$args</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>mixed</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ Redis::slowlog
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_smembers">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L783">at line 783</a></div>
+ <code> RedisCluster|array|false
+ <strong>smembers</strong>(string $key)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>RedisCluster|array|false</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ \Redis::smembers()
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_smove">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L788">at line 788</a></div>
+ <code> RedisCluster|bool
+ <strong>smove</strong>(string $src, string $dst, string $member)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$src</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>$dst</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>$member</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>RedisCluster|bool</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ \Redis::smove()
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_sort">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L793">at line 793</a></div>
+ <code> RedisCluster|array|bool|int|string
+ <strong>sort</strong>(string $key, array|null $options = NULL)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>array|null</td>
+ <td>$options</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>RedisCluster|array|bool|int|string</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ <a href="Redis.html#method_sort">
+Redis::sort</a>
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_sort_ro">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L798">at line 798</a></div>
+ <code> RedisCluster|array|bool|int|string
+ <strong>sort_ro</strong>(string $key, array|null $options = NULL)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>array|null</td>
+ <td>$options</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>RedisCluster|array|bool|int|string</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ <a href="Redis.html#method_sort_ro">
+Redis::sort_ro</a>
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_spop">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L803">at line 803</a></div>
+ <code> RedisCluster|string|array|false
+ <strong>spop</strong>(string $key, int $count = 0)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>int</td>
+ <td>$count</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>RedisCluster|string|array|false</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ Redis::spop
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_srandmember">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L808">at line 808</a></div>
+ <code> RedisCluster|string|array|false
+ <strong>srandmember</strong>(string $key, int $count = 0)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>int</td>
+ <td>$count</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>RedisCluster|string|array|false</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ Redis::srandmember
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_srem">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L813">at line 813</a></div>
+ <code> RedisCluster|int|false
+ <strong>srem</strong>(string $key, mixed $value, mixed ...$other_values)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>mixed</td>
+ <td>$value</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>mixed</td>
+ <td>...$other_values</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>RedisCluster|int|false</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ Redis::srem
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_sscan">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L818">at line 818</a></div>
+ <code> array|false
+ <strong>sscan</strong>(string $key, int|null $iterator, string|null $pattern = null, int $count = 0)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>int|null</td>
+ <td>$iterator</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string|null</td>
+ <td>$pattern</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>int</td>
+ <td>$count</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>array|false</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ Redis::sscan
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_strlen">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L823">at line 823</a></div>
+ <code> RedisCluster|int|false
+ <strong>strlen</strong>(string $key)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>RedisCluster|int|false</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ Redis::strlen
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_subscribe">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L828">at line 828</a></div>
+ <code> void
+ <strong>subscribe</strong>(array $channels, callable $cb)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>array</td>
+ <td>$channels</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>callable</td>
+ <td>$cb</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>void</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ Redis::subscribe
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_sunion">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L833">at line 833</a></div>
+ <code> RedisCluster|bool|array
+ <strong>sunion</strong>(string $key, string ...$other_keys)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>...$other_keys</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>RedisCluster|bool|array</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ \Redis::sunion()
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_sunionstore">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L838">at line 838</a></div>
+ <code> RedisCluster|int|false
+ <strong>sunionstore</strong>(string $dst, string $key, string ...$other_keys)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$dst</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>...$other_keys</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>RedisCluster|int|false</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ \Redis::sunionstore()
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_time">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L843">at line 843</a></div>
+ <code> RedisCluster|bool|array
+ <strong>time</strong>(string|array $key_or_address)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string|array</td>
+ <td>$key_or_address</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>RedisCluster|bool|array</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ Redis::time
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_ttl">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L848">at line 848</a></div>
+ <code> RedisCluster|int|false
+ <strong>ttl</strong>(string $key)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>RedisCluster|int|false</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ Redis::ttl
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_type">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L853">at line 853</a></div>
+ <code> RedisCluster|int|false
+ <strong>type</strong>(string $key)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>RedisCluster|int|false</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ Redis::type
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_unsubscribe">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L858">at line 858</a></div>
+ <code> bool|array
+ <strong>unsubscribe</strong>(array $channels)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>array</td>
+ <td>$channels</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>bool|array</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ Redis::unsubscribe
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_unlink">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L863">at line 863</a></div>
+ <code> RedisCluster|int|false
+ <strong>unlink</strong>(array|string $key, string ...$other_keys)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>array|string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>...$other_keys</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>RedisCluster|int|false</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ Redis::unlink
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_unwatch">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L868">at line 868</a></div>
+ <code> bool
+ <strong>unwatch</strong>()
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>bool</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ Redis::unwatch
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_watch">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L873">at line 873</a></div>
+ <code> RedisCluster|bool
+ <strong>watch</strong>(string $key, string ...$other_keys)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>...$other_keys</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>RedisCluster|bool</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ Redis::watch
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_xack">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L878">at line 878</a></div>
+ <code> RedisCluster|int|false
+ <strong>xack</strong>(string $key, string $group, array $ids)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>$group</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>array</td>
+ <td>$ids</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>RedisCluster|int|false</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ Redis::xack
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_xadd">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L883">at line 883</a></div>
+ <code> RedisCluster|string|false
+ <strong>xadd</strong>(string $key, string $id, array $values, int $maxlen = 0, bool $approx = false)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>$id</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>array</td>
+ <td>$values</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>int</td>
+ <td>$maxlen</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>bool</td>
+ <td>$approx</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>RedisCluster|string|false</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ Redis::xadd
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_xclaim">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L888">at line 888</a></div>
+ <code> RedisCluster|string|array|false
+ <strong>xclaim</strong>(string $key, string $group, string $consumer, int $min_iddle, array $ids, array $options)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>$group</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>$consumer</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>int</td>
+ <td>$min_iddle</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>array</td>
+ <td>$ids</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>array</td>
+ <td>$options</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>RedisCluster|string|array|false</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ Redis::xclaim
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_xdel">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L893">at line 893</a></div>
+ <code> RedisCluster|int|false
+ <strong>xdel</strong>(string $key, array $ids)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>array</td>
+ <td>$ids</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>RedisCluster|int|false</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ Redis::xdel
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_xgroup">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L898">at line 898</a></div>
+ <code> mixed
+ <strong>xgroup</strong>(string $operation, string $key = null, string $arg1 = null, string $arg2 = null, bool $arg3 = false)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$operation</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>$arg1</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>$arg2</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>bool</td>
+ <td>$arg3</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>mixed</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ Redis::xgroup
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_xinfo">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L903">at line 903</a></div>
+ <code> mixed
+ <strong>xinfo</strong>(string $operation, string|null $arg1 = null, string|null $arg2 = null, int $count = -1)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$operation</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string|null</td>
+ <td>$arg1</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string|null</td>
+ <td>$arg2</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>int</td>
+ <td>$count</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>mixed</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ Redis::xinfo
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_xlen">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L908">at line 908</a></div>
+ <code> RedisCluster|int|false
+ <strong>xlen</strong>(string $key)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>RedisCluster|int|false</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ Redis::xlen
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_xpending">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L913">at line 913</a></div>
+ <code> RedisCluster|array|false
+ <strong>xpending</strong>(string $key, string $group, string|null $start = null, string|null $end = null, int $count = -1, string|null $consumer = null)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>$group</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string|null</td>
+ <td>$start</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string|null</td>
+ <td>$end</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>int</td>
+ <td>$count</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string|null</td>
+ <td>$consumer</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>RedisCluster|array|false</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ Redis::xpending
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_xrange">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L918">at line 918</a></div>
+ <code> RedisCluster|bool|array
+ <strong>xrange</strong>(string $key, string $start, string $end, int $count = -1)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>$start</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>$end</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>int</td>
+ <td>$count</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>RedisCluster|bool|array</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ Redis::xrange
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_xread">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L923">at line 923</a></div>
+ <code> RedisCluster|bool|array
+ <strong>xread</strong>(array $streams, int $count = -1, int $block = -1)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>array</td>
+ <td>$streams</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>int</td>
+ <td>$count</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>int</td>
+ <td>$block</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>RedisCluster|bool|array</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ Redis::xread
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_xreadgroup">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L928">at line 928</a></div>
+ <code> RedisCluster|bool|array
+ <strong>xreadgroup</strong>(string $group, string $consumer, array $streams, int $count = 1, int $block = 1)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$group</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>$consumer</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>array</td>
+ <td>$streams</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>int</td>
+ <td>$count</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>int</td>
+ <td>$block</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>RedisCluster|bool|array</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ Redis::xreadgroup
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_xrevrange">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L933">at line 933</a></div>
+ <code> RedisCluster|bool|array
+ <strong>xrevrange</strong>(string $key, string $start, string $end, int $count = -1)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>$start</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>$end</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>int</td>
+ <td>$count</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>RedisCluster|bool|array</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ Redis::xrevrange
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_xtrim">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L938">at line 938</a></div>
+ <code> RedisCluster|int|false
+ <strong>xtrim</strong>(string $key, int $maxlen, bool $approx = false, bool $minid = false, int $limit = -1)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>int</td>
+ <td>$maxlen</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>bool</td>
+ <td>$approx</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>bool</td>
+ <td>$minid</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>int</td>
+ <td>$limit</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>RedisCluster|int|false</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ Redis::xtrim
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_zadd">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L943">at line 943</a></div>
+ <code> RedisCluster|int|false
+ <strong>zadd</strong>(string $key, array|float $score_or_options, mixed ...$more_scores_and_mems)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>array|float</td>
+ <td>$score_or_options</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>mixed</td>
+ <td>...$more_scores_and_mems</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>RedisCluster|int|false</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ Redis::zadd
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_zcard">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L948">at line 948</a></div>
+ <code> RedisCluster|int|false
+ <strong>zcard</strong>(string $key)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>RedisCluster|int|false</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ Redis::zcard
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_zcount">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L953">at line 953</a></div>
+ <code> RedisCluster|int|false
+ <strong>zcount</strong>(string $key, string $start, string $end)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>$start</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>$end</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>RedisCluster|int|false</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ Redis::zcount
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_zincrby">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L958">at line 958</a></div>
+ <code> RedisCluster|float|false
+ <strong>zincrby</strong>(string $key, float $value, string $member)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>float</td>
+ <td>$value</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>$member</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>RedisCluster|float|false</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ Redis::zincrby
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_zinterstore">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L963">at line 963</a></div>
+ <code> RedisCluster|int|false
+ <strong>zinterstore</strong>(string $dst, array $keys, array|null $weights = null, string|null $aggregate = null)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$dst</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>array</td>
+ <td>$keys</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>array|null</td>
+ <td>$weights</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string|null</td>
+ <td>$aggregate</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>RedisCluster|int|false</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ Redis::zinterstore
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_zintercard">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L968">at line 968</a></div>
+ <code> RedisCluster|int|false
+ <strong>zintercard</strong>(array $keys, int $limit = -1)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>array</td>
+ <td>$keys</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>int</td>
+ <td>$limit</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>RedisCluster|int|false</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ Redis::zintercard
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_zlexcount">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L973">at line 973</a></div>
+ <code> RedisCluster|int|false
+ <strong>zlexcount</strong>(string $key, string $min, string $max)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>$min</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>$max</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>RedisCluster|int|false</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ Redis::zlexcount
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_zpopmax">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L978">at line 978</a></div>
+ <code> RedisCluster|bool|array
+ <strong>zpopmax</strong>(string $key, int $value = null)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>int</td>
+ <td>$value</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>RedisCluster|bool|array</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ Redis::zpopmax
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_zpopmin">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L983">at line 983</a></div>
+ <code> RedisCluster|bool|array
+ <strong>zpopmin</strong>(string $key, int $value = null)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>int</td>
+ <td>$value</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>RedisCluster|bool|array</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ Redis::zpopmin
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_zrange">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L988">at line 988</a></div>
+ <code> RedisCluster|array|bool
+ <strong>zrange</strong>(string $key, mixed $start, mixed $end, array|bool|null $options = null)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>mixed</td>
+ <td>$start</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>mixed</td>
+ <td>$end</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>array|bool|null</td>
+ <td>$options</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>RedisCluster|array|bool</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ Redis::zrange
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_zrangestore">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L993">at line 993</a></div>
+ <code> RedisCluster|int|false
+ <strong>zrangestore</strong>(string $dstkey, string $srckey, int $start, int $end, array|bool|null $options = null)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$dstkey</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>$srckey</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>int</td>
+ <td>$start</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>int</td>
+ <td>$end</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>array|bool|null</td>
+ <td>$options</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>RedisCluster|int|false</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ Redis::zrangestore
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_zrangebylex">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L999">at line 999</a></div>
+ <code> RedisCluster|array|false
+ <strong>zrangebylex</strong>(string $key, string $min, string $max, int $offset = -1, int $count = -1)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>$min</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>$max</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>int</td>
+ <td>$offset</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>int</td>
+ <td>$count</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>RedisCluster|array|false</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ Redis::zrangebylex
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_zrangebyscore">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L1004">at line 1004</a></div>
+ <code> RedisCluster|array|false
+ <strong>zrangebyscore</strong>(string $key, string $start, string $end, array $options = [])
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>$start</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>$end</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>array</td>
+ <td>$options</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>RedisCluster|array|false</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ Redis::zrangebyscore
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_zrank">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L1009">at line 1009</a></div>
+ <code> RedisCluster|int|false
+ <strong>zrank</strong>(string $key, mixed $member)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>mixed</td>
+ <td>$member</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>RedisCluster|int|false</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ Redis::zrank
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_zrem">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L1014">at line 1014</a></div>
+ <code> RedisCluster|int|false
+ <strong>zrem</strong>(string $key, string $value, string ...$other_values)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>$value</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>...$other_values</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>RedisCluster|int|false</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ Redis::zrem
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_zremrangebylex">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L1019">at line 1019</a></div>
+ <code> RedisCluster|int|false
+ <strong>zremrangebylex</strong>(string $key, string $min, string $max)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>$min</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>$max</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>RedisCluster|int|false</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ Redis::zremrangebylex
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_zremrangebyrank">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L1024">at line 1024</a></div>
+ <code> RedisCluster|int|false
+ <strong>zremrangebyrank</strong>(string $key, string $min, string $max)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>$min</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>$max</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>RedisCluster|int|false</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ Redis::zremrangebyrank
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_zremrangebyscore">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L1029">at line 1029</a></div>
+ <code> RedisCluster|int|false
+ <strong>zremrangebyscore</strong>(string $key, string $min, string $max)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>$min</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>$max</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>RedisCluster|int|false</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ Redis::zremrangebyscore
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_zrevrange">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L1034">at line 1034</a></div>
+ <code> RedisCluster|bool|array
+ <strong>zrevrange</strong>(string $key, string $min, string $max, array $options = null)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>$min</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>$max</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>array</td>
+ <td>$options</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>RedisCluster|bool|array</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ Redis::zrevrange
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_zrevrangebylex">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L1039">at line 1039</a></div>
+ <code> RedisCluster|bool|array
+ <strong>zrevrangebylex</strong>(string $key, string $min, string $max, array $options = null)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>$min</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>$max</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>array</td>
+ <td>$options</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>RedisCluster|bool|array</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ Redis::zrevrangebylex
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_zrevrangebyscore">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L1044">at line 1044</a></div>
+ <code> RedisCluster|bool|array
+ <strong>zrevrangebyscore</strong>(string $key, string $min, string $max, array $options = null)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>$min</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string</td>
+ <td>$max</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>array</td>
+ <td>$options</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>RedisCluster|bool|array</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ Redis::zrevrangebyscore
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_zrevrank">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L1049">at line 1049</a></div>
+ <code> RedisCluster|int|false
+ <strong>zrevrank</strong>(string $key, mixed $member)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>mixed</td>
+ <td>$member</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>RedisCluster|int|false</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ Redis::zrevrank
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_zscan">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L1054">at line 1054</a></div>
+ <code> RedisCluster|bool|array
+ <strong>zscan</strong>(string $key, int|null $iterator, string|null $pattern = null, int $count = 0)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>int|null</td>
+ <td>$iterator</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string|null</td>
+ <td>$pattern</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>int</td>
+ <td>$count</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>RedisCluster|bool|array</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ Redis::zscan
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_zscore">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L1059">at line 1059</a></div>
+ <code> RedisCluster|float|false
+ <strong>zscore</strong>(string $key, mixed $member)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$key</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>mixed</td>
+ <td>$member</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>RedisCluster|float|false</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ Redis::zscore
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_zunionstore">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php#L1064">at line 1064</a></div>
+ <code> RedisCluster|int|false
+ <strong>zunionstore</strong>(string $dst, array $keys, array|null $weights = NULL, string|null $aggregate = NULL)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$dst</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>array</td>
+ <td>$keys</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>array|null</td>
+ <td>$weights</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>string|null</td>
+ <td>$aggregate</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>RedisCluster|int|false</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+ <h4>See also</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>
+ Redis::zunionstore
+ </td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ </div>
+ </div>
+
+ </div>
+ </div>
+
+
+</div><div id="footer">
+ Generated by <a href="https://github.com/code-lts/doctum">Doctum, a API Documentation generator and fork of Sami</a>.</div></div>
+ </div>
+ </body>
+
+</html>
diff --git a/docs/RedisClusterException.html b/docs/RedisClusterException.html
new file mode 100644
index 00000000..c366b7fc
--- /dev/null
+++ b/docs/RedisClusterException.html
@@ -0,0 +1,103 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+ <meta charset="UTF-8" />
+ <meta name="robots" content="index, follow, all" />
+ <title>RedisClusterException | PhpRedis API</title>
+
+ <link rel="stylesheet" type="text/css" href="css/bootstrap.min.css">
+ <link rel="stylesheet" type="text/css" href="css/bootstrap-theme.min.css">
+ <link rel="stylesheet" type="text/css" href="css/doctum.css">
+ <link rel="stylesheet" type="text/css" href="fonts/doctum-font.css">
+ <script src="js/jquery-3.5.1.slim.min.js"></script>
+ <script async defer src="doctum.js"></script>
+ <script async defer src="js/bootstrap.min.js"></script>
+ <script async defer src="js/autocomplete.min.js"></script>
+ <meta name="MobileOptimized" content="width">
+ <meta name="HandheldFriendly" content="true">
+ <meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1">
+
+ <link rel="search"
+ type="application/opensearchdescription+xml"
+ href="https://phpredis.github.io/opensearch.xml"
+ title="PhpRedis API (develop)" />
+ </head>
+
+ <body id="class" data-name="class:RedisClusterException" data-root-path="" data-search-index-url="doctum-search.json">
+ <div id="content">
+ <div id="left-column">
+ <div id="control-panel">
+ <div class="search-bar hidden" id="search-progress-bar-container">
+ <div class="progress">
+ <div class="progress-bar" role="progressbar" id="search-progress-bar"
+ aria-valuenow="0" aria-valuemin="0" aria-valuemax="100" style="width: 0%"></div>
+ </div>
+ </div>
+ <form id="search-form" action="search.html">
+ <span class="icon icon-search"></span>
+ <input name="search"
+ id="doctum-search-auto-complete"
+ class="typeahead form-control"
+ type="search"
+ placeholder="Search"
+ spellcheck="false"
+ autocorrect="off"
+ autocomplete="off"
+ autocapitalize="off">
+ <div class="auto-complete-results" id="auto-complete-results"></div>
+ </form>
+ </div>
+
+ <div id="api-tree"></div>
+
+ </div>
+ <div id="right-column">
+ <nav id="site-nav" class="navbar navbar-default" role="navigation">
+ <div class="container-fluid">
+ <div class="navbar-header">
+ <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#navbar-elements">
+ <span class="sr-only">Toggle navigation</span>
+ <span class="icon-bar"></span>
+ <span class="icon-bar"></span>
+ <span class="icon-bar"></span>
+ </button>
+ <a class="navbar-brand" href="index.html">PhpRedis API</a>
+ </div>
+ <div class="collapse navbar-collapse" id="navbar-elements">
+ <ul class="nav navbar-nav">
+ <li><a href="classes.html">Classes</a></li>
+ <li><a href="interfaces.html">Interfaces</a></li>
+ <li><a href="traits.html">Traits</a></li>
+ <li><a href="doc-index.html">Index</a></li>
+ <li><a href="search.html">Search</a></li>
+ </ul>
+ </div>
+ </div>
+ </nav>
+
+ <div id="page-content">
+ <div class="page-header">
+ <h1>RedisClusterException
+ </h1>
+ </div>
+
+
+ <p> class
+ <strong>RedisClusterException</strong> extends <a target="_blank" rel="noopener" href="https://www.php.net/RuntimeException">RuntimeException</a> (<a href="https://github.com/phpredis/phpredis/blob/develop/redis_cluster.stub.php">View source</a>)
+</p>
+
+
+
+
+
+
+
+
+
+
+</div><div id="footer">
+ Generated by <a href="https://github.com/code-lts/doctum">Doctum, a API Documentation generator and fork of Sami</a>.</div></div>
+ </div>
+ </body>
+
+</html>
diff --git a/docs/RedisException.html b/docs/RedisException.html
new file mode 100644
index 00000000..4851bcad
--- /dev/null
+++ b/docs/RedisException.html
@@ -0,0 +1,103 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+ <meta charset="UTF-8" />
+ <meta name="robots" content="index, follow, all" />
+ <title>RedisException | PhpRedis API</title>
+
+ <link rel="stylesheet" type="text/css" href="css/bootstrap.min.css">
+ <link rel="stylesheet" type="text/css" href="css/bootstrap-theme.min.css">
+ <link rel="stylesheet" type="text/css" href="css/doctum.css">
+ <link rel="stylesheet" type="text/css" href="fonts/doctum-font.css">
+ <script src="js/jquery-3.5.1.slim.min.js"></script>
+ <script async defer src="doctum.js"></script>
+ <script async defer src="js/bootstrap.min.js"></script>
+ <script async defer src="js/autocomplete.min.js"></script>
+ <meta name="MobileOptimized" content="width">
+ <meta name="HandheldFriendly" content="true">
+ <meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1">
+
+ <link rel="search"
+ type="application/opensearchdescription+xml"
+ href="https://phpredis.github.io/opensearch.xml"
+ title="PhpRedis API (develop)" />
+ </head>
+
+ <body id="class" data-name="class:RedisException" data-root-path="" data-search-index-url="doctum-search.json">
+ <div id="content">
+ <div id="left-column">
+ <div id="control-panel">
+ <div class="search-bar hidden" id="search-progress-bar-container">
+ <div class="progress">
+ <div class="progress-bar" role="progressbar" id="search-progress-bar"
+ aria-valuenow="0" aria-valuemin="0" aria-valuemax="100" style="width: 0%"></div>
+ </div>
+ </div>
+ <form id="search-form" action="search.html">
+ <span class="icon icon-search"></span>
+ <input name="search"
+ id="doctum-search-auto-complete"
+ class="typeahead form-control"
+ type="search"
+ placeholder="Search"
+ spellcheck="false"
+ autocorrect="off"
+ autocomplete="off"
+ autocapitalize="off">
+ <div class="auto-complete-results" id="auto-complete-results"></div>
+ </form>
+ </div>
+
+ <div id="api-tree"></div>
+
+ </div>
+ <div id="right-column">
+ <nav id="site-nav" class="navbar navbar-default" role="navigation">
+ <div class="container-fluid">
+ <div class="navbar-header">
+ <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#navbar-elements">
+ <span class="sr-only">Toggle navigation</span>
+ <span class="icon-bar"></span>
+ <span class="icon-bar"></span>
+ <span class="icon-bar"></span>
+ </button>
+ <a class="navbar-brand" href="index.html">PhpRedis API</a>
+ </div>
+ <div class="collapse navbar-collapse" id="navbar-elements">
+ <ul class="nav navbar-nav">
+ <li><a href="classes.html">Classes</a></li>
+ <li><a href="interfaces.html">Interfaces</a></li>
+ <li><a href="traits.html">Traits</a></li>
+ <li><a href="doc-index.html">Index</a></li>
+ <li><a href="search.html">Search</a></li>
+ </ul>
+ </div>
+ </div>
+ </nav>
+
+ <div id="page-content">
+ <div class="page-header">
+ <h1>RedisException
+ </h1>
+ </div>
+
+
+ <p> class
+ <strong>RedisException</strong> extends <a target="_blank" rel="noopener" href="https://www.php.net/RuntimeException">RuntimeException</a> (<a href="https://github.com/phpredis/phpredis/blob/develop/redis.stub.php">View source</a>)
+</p>
+
+
+
+
+
+
+
+
+
+
+</div><div id="footer">
+ Generated by <a href="https://github.com/code-lts/doctum">Doctum, a API Documentation generator and fork of Sami</a>.</div></div>
+ </div>
+ </body>
+
+</html>
diff --git a/docs/RedisSentinel.html b/docs/RedisSentinel.html
new file mode 100644
index 00000000..00674d8b
--- /dev/null
+++ b/docs/RedisSentinel.html
@@ -0,0 +1,748 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+ <meta charset="UTF-8" />
+ <meta name="robots" content="index, follow, all" />
+ <title>RedisSentinel | PhpRedis API</title>
+
+ <link rel="stylesheet" type="text/css" href="css/bootstrap.min.css">
+ <link rel="stylesheet" type="text/css" href="css/bootstrap-theme.min.css">
+ <link rel="stylesheet" type="text/css" href="css/doctum.css">
+ <link rel="stylesheet" type="text/css" href="fonts/doctum-font.css">
+ <script src="js/jquery-3.5.1.slim.min.js"></script>
+ <script async defer src="doctum.js"></script>
+ <script async defer src="js/bootstrap.min.js"></script>
+ <script async defer src="js/autocomplete.min.js"></script>
+ <meta name="MobileOptimized" content="width">
+ <meta name="HandheldFriendly" content="true">
+ <meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1">
+
+ <link rel="search"
+ type="application/opensearchdescription+xml"
+ href="https://phpredis.github.io/opensearch.xml"
+ title="PhpRedis API (develop)" />
+ </head>
+
+ <body id="class" data-name="class:RedisSentinel" data-root-path="" data-search-index-url="doctum-search.json">
+ <div id="content">
+ <div id="left-column">
+ <div id="control-panel">
+ <div class="search-bar hidden" id="search-progress-bar-container">
+ <div class="progress">
+ <div class="progress-bar" role="progressbar" id="search-progress-bar"
+ aria-valuenow="0" aria-valuemin="0" aria-valuemax="100" style="width: 0%"></div>
+ </div>
+ </div>
+ <form id="search-form" action="search.html">
+ <span class="icon icon-search"></span>
+ <input name="search"
+ id="doctum-search-auto-complete"
+ class="typeahead form-control"
+ type="search"
+ placeholder="Search"
+ spellcheck="false"
+ autocorrect="off"
+ autocomplete="off"
+ autocapitalize="off">
+ <div class="auto-complete-results" id="auto-complete-results"></div>
+ </form>
+ </div>
+
+ <div id="api-tree"></div>
+
+ </div>
+ <div id="right-column">
+ <nav id="site-nav" class="navbar navbar-default" role="navigation">
+ <div class="container-fluid">
+ <div class="navbar-header">
+ <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#navbar-elements">
+ <span class="sr-only">Toggle navigation</span>
+ <span class="icon-bar"></span>
+ <span class="icon-bar"></span>
+ <span class="icon-bar"></span>
+ </button>
+ <a class="navbar-brand" href="index.html">PhpRedis API</a>
+ </div>
+ <div class="collapse navbar-collapse" id="navbar-elements">
+ <ul class="nav navbar-nav">
+ <li><a href="classes.html">Classes</a></li>
+ <li><a href="interfaces.html">Interfaces</a></li>
+ <li><a href="traits.html">Traits</a></li>
+ <li><a href="doc-index.html">Index</a></li>
+ <li><a href="search.html">Search</a></li>
+ </ul>
+ </div>
+ </div>
+ </nav>
+
+ <div id="page-content">
+ <div class="page-header">
+ <h1>RedisSentinel
+ </h1>
+ </div>
+
+
+ <p> class
+ <strong>RedisSentinel</strong> (<a href="https://github.com/phpredis/phpredis/blob/develop/redis_sentinel.stub.php">View source</a>)
+</p>
+
+
+
+
+
+
+
+
+
+ <h2>Methods</h2>
+
+ <div class="container-fluid underlined">
+ <div class="row">
+ <div class="col-md-2 type">
+
+ </div>
+ <div class="col-md-8">
+ <a href="#method___construct">__construct</a>(string $host, int $port = 26379, float $timeout = 0, mixed $persistent = null, int $retry_interval = 0, float $read_timeout = 0, mixed $auth = null, array $context = null)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ bool|<a href="RedisSentinel.html">RedisSentinel</a>
+ </div>
+ <div class="col-md-8">
+ <a href="#method_ckquorum">ckquorum</a>(string $master)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ bool|<a href="RedisSentinel.html">RedisSentinel</a>
+ </div>
+ <div class="col-md-8">
+ <a href="#method_failover">failover</a>(string $master)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ bool|<a href="RedisSentinel.html">RedisSentinel</a>
+ </div>
+ <div class="col-md-8">
+ <a href="#method_flushconfig">flushconfig</a>()
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ array|bool|<a href="RedisSentinel.html">RedisSentinel</a>
+ </div>
+ <div class="col-md-8">
+ <a href="#method_getMasterAddrByName">getMasterAddrByName</a>(string $master)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ array|bool|<a href="RedisSentinel.html">RedisSentinel</a>
+ </div>
+ <div class="col-md-8">
+ <a href="#method_master">master</a>(string $master)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ array|bool|<a href="RedisSentinel.html">RedisSentinel</a>
+ </div>
+ <div class="col-md-8">
+ <a href="#method_masters">masters</a>()
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ string
+ </div>
+ <div class="col-md-8">
+ <a href="#method_myid">myid</a>()
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ bool|<a href="RedisSentinel.html">RedisSentinel</a>
+ </div>
+ <div class="col-md-8">
+ <a href="#method_ping">ping</a>()
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ bool|<a href="RedisSentinel.html">RedisSentinel</a>
+ </div>
+ <div class="col-md-8">
+ <a href="#method_reset">reset</a>(string $pattern)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ array|bool|<a href="RedisSentinel.html">RedisSentinel</a>
+ </div>
+ <div class="col-md-8">
+ <a href="#method_sentinels">sentinels</a>(string $master)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-2 type">
+ array|bool|<a href="RedisSentinel.html">RedisSentinel</a>
+ </div>
+ <div class="col-md-8">
+ <a href="#method_slaves">slaves</a>(string $master)
+
+ <p class="no-description">No description</p>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ </div>
+
+
+ <h2>Details</h2>
+
+ <div id="method-details">
+ <div class="method-item">
+ <h3 id="method___construct">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_sentinel.stub.php#L11">at line 11</a></div>
+ <code>
+ <strong>__construct</strong>(string $host, int $port = 26379, float $timeout = 0, mixed $persistent = null, int $retry_interval = 0, float $read_timeout = 0, mixed $auth = null, array $context = null)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$host</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>int</td>
+ <td>$port</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>float</td>
+ <td>$timeout</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>mixed</td>
+ <td>$persistent</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>int</td>
+ <td>$retry_interval</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>float</td>
+ <td>$read_timeout</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>mixed</td>
+ <td>$auth</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>array</td>
+ <td>$context</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_ckquorum">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_sentinel.stub.php#L14">at line 14</a></div>
+ <code> bool|<a href="RedisSentinel.html">RedisSentinel</a>
+ <strong>ckquorum</strong>(string $master)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$master</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>bool|<a href="RedisSentinel.html">RedisSentinel</a></td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_failover">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_sentinel.stub.php#L17">at line 17</a></div>
+ <code> bool|<a href="RedisSentinel.html">RedisSentinel</a>
+ <strong>failover</strong>(string $master)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$master</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>bool|<a href="RedisSentinel.html">RedisSentinel</a></td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_flushconfig">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_sentinel.stub.php#L20">at line 20</a></div>
+ <code> bool|<a href="RedisSentinel.html">RedisSentinel</a>
+ <strong>flushconfig</strong>()
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>bool|<a href="RedisSentinel.html">RedisSentinel</a></td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_getMasterAddrByName">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_sentinel.stub.php#L23">at line 23</a></div>
+ <code> array|bool|<a href="RedisSentinel.html">RedisSentinel</a>
+ <strong>getMasterAddrByName</strong>(string $master)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$master</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>array|bool|<a href="RedisSentinel.html">RedisSentinel</a></td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_master">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_sentinel.stub.php#L26">at line 26</a></div>
+ <code> array|bool|<a href="RedisSentinel.html">RedisSentinel</a>
+ <strong>master</strong>(string $master)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$master</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>array|bool|<a href="RedisSentinel.html">RedisSentinel</a></td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_masters">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_sentinel.stub.php#L29">at line 29</a></div>
+ <code> array|bool|<a href="RedisSentinel.html">RedisSentinel</a>
+ <strong>masters</strong>()
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>array|bool|<a href="RedisSentinel.html">RedisSentinel</a></td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_myid">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_sentinel.stub.php#L31">at line 31</a></div>
+ <code> string
+ <strong>myid</strong>()
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_ping">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_sentinel.stub.php#L34">at line 34</a></div>
+ <code> bool|<a href="RedisSentinel.html">RedisSentinel</a>
+ <strong>ping</strong>()
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>bool|<a href="RedisSentinel.html">RedisSentinel</a></td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_reset">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_sentinel.stub.php#L37">at line 37</a></div>
+ <code> bool|<a href="RedisSentinel.html">RedisSentinel</a>
+ <strong>reset</strong>(string $pattern)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$pattern</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>bool|<a href="RedisSentinel.html">RedisSentinel</a></td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_sentinels">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_sentinel.stub.php#L40">at line 40</a></div>
+ <code> array|bool|<a href="RedisSentinel.html">RedisSentinel</a>
+ <strong>sentinels</strong>(string $master)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$master</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>array|bool|<a href="RedisSentinel.html">RedisSentinel</a></td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+
+ </div>
+ </div>
+
+ </div>
+ <div class="method-item">
+ <h3 id="method_slaves">
+ <div class="location"><a href="https://github.com/phpredis/phpredis/blob/develop/redis_sentinel.stub.php#L43">at line 43</a></div>
+ <code> array|bool|<a href="RedisSentinel.html">RedisSentinel</a>
+ <strong>slaves</strong>(string $master)
+ </code>
+ </h3>
+ <div class="details">
+
+
+
+ <div class="method-description">
+ <p class="no-description">No description</p>
+
+ </div>
+ <div class="tags">
+ <h4>Parameters</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>string</td>
+ <td>$master</td>
+ <td></td>
+ </tr>
+ </table>
+
+
+ <h4>Return Value</h4>
+
+ <table class="table table-condensed">
+ <tr>
+ <td>array|bool|<a href="RedisSentinel.html">RedisSentinel</a></td>
+ <td></td>
+ </tr>
+ </table>
+
+
+
+
+ </div>
+ </div>
+
+ </div>
+ </div>
+
+
+</div><div id="footer">
+ Generated by <a href="https://github.com/code-lts/doctum">Doctum, a API Documentation generator and fork of Sami</a>.</div></div>
+ </div>
+ </body>
+
+</html>
diff --git a/docs/[Global_Namespace].html b/docs/[Global_Namespace].html
new file mode 100644
index 00000000..9c8ee965
--- /dev/null
+++ b/docs/[Global_Namespace].html
@@ -0,0 +1,134 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+ <meta charset="UTF-8" />
+ <meta name="robots" content="index, follow, all" />
+ <title>[Global Namespace] | PhpRedis API</title>
+
+ <link rel="stylesheet" type="text/css" href="css/bootstrap.min.css">
+ <link rel="stylesheet" type="text/css" href="css/bootstrap-theme.min.css">
+ <link rel="stylesheet" type="text/css" href="css/doctum.css">
+ <link rel="stylesheet" type="text/css" href="fonts/doctum-font.css">
+ <script src="js/jquery-3.5.1.slim.min.js"></script>
+ <script async defer src="doctum.js"></script>
+ <script async defer src="js/bootstrap.min.js"></script>
+ <script async defer src="js/autocomplete.min.js"></script>
+ <meta name="MobileOptimized" content="width">
+ <meta name="HandheldFriendly" content="true">
+ <meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1">
+
+ <link rel="search"
+ type="application/opensearchdescription+xml"
+ href="https://phpredis.github.io/opensearch.xml"
+ title="PhpRedis API (develop)" />
+ </head>
+
+ <body id="namespace" data-name="namespace:[Global_Namespace]" data-root-path="" data-search-index-url="doctum-search.json">
+ <div id="content">
+ <div id="left-column">
+ <div id="control-panel">
+ <div class="search-bar hidden" id="search-progress-bar-container">
+ <div class="progress">
+ <div class="progress-bar" role="progressbar" id="search-progress-bar"
+ aria-valuenow="0" aria-valuemin="0" aria-valuemax="100" style="width: 0%"></div>
+ </div>
+ </div>
+ <form id="search-form" action="search.html">
+ <span class="icon icon-search"></span>
+ <input name="search"
+ id="doctum-search-auto-complete"
+ class="typeahead form-control"
+ type="search"
+ placeholder="Search"
+ spellcheck="false"
+ autocorrect="off"
+ autocomplete="off"
+ autocapitalize="off">
+ <div class="auto-complete-results" id="auto-complete-results"></div>
+ </form>
+ </div>
+
+ <div id="api-tree"></div>
+
+ </div>
+ <div id="right-column">
+ <nav id="site-nav" class="navbar navbar-default" role="navigation">
+ <div class="container-fluid">
+ <div class="navbar-header">
+ <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#navbar-elements">
+ <span class="sr-only">Toggle navigation</span>
+ <span class="icon-bar"></span>
+ <span class="icon-bar"></span>
+ <span class="icon-bar"></span>
+ </button>
+ <a class="navbar-brand" href="index.html">PhpRedis API</a>
+ </div>
+ <div class="collapse navbar-collapse" id="navbar-elements">
+ <ul class="nav navbar-nav">
+ <li><a href="classes.html">Classes</a></li>
+ <li><a href="interfaces.html">Interfaces</a></li>
+ <li><a href="traits.html">Traits</a></li>
+ <li><a href="doc-index.html">Index</a></li>
+ <li><a href="search.html">Search</a></li>
+ </ul>
+ </div>
+ </div>
+ </nav>
+
+ <div class="namespace-breadcrumbs">
+ <ol class="breadcrumb">
+ <li><span class="label label-default">Namespace</span></li>
+ <li><a href="[Global_Namespace].html"></a></li><li class="backslash">\</li>
+ </ol>
+ </div>
+ <div id="page-content">
+ <div class="page-header">
+ <h1>[Global Namespace]</h1>
+ </div>
+
+ <h2>Namespaces</h2>
+ <div class="namespace-list">
+ <a href="[Global_Namespace].html">[Global Namespace]</a> </div>
+
+ <h2>Classes</h2>
+ <div class="container-fluid underlined">
+ <div class="row">
+ <div class="col-md-6">
+ <a href="Redis.html"><abbr title="Redis">Redis</abbr></a> </div>
+ <div class="col-md-6"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-6">
+ <a href="RedisArray.html"><abbr title="RedisArray">RedisArray</abbr></a> </div>
+ <div class="col-md-6"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-6">
+ <a href="RedisCluster.html"><abbr title="RedisCluster">RedisCluster</abbr></a> </div>
+ <div class="col-md-6"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-6">
+ <a href="RedisClusterException.html"><abbr title="RedisClusterException">RedisClusterException</abbr></a> </div>
+ <div class="col-md-6"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-6">
+ <a href="RedisException.html"><abbr title="RedisException">RedisException</abbr></a> </div>
+ <div class="col-md-6"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-6">
+ <a href="RedisSentinel.html"><abbr title="RedisSentinel">RedisSentinel</abbr></a> </div>
+ <div class="col-md-6"></div>
+ </div>
+ </div>
+
+
+
+</div><div id="footer">
+ Generated by <a href="https://github.com/code-lts/doctum">Doctum, a API Documentation generator and fork of Sami</a>.</div></div>
+ </div>
+ </body>
+
+</html>
diff --git a/docs/classes.html b/docs/classes.html
new file mode 100644
index 00000000..255cc79b
--- /dev/null
+++ b/docs/classes.html
@@ -0,0 +1,120 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+ <meta charset="UTF-8" />
+ <meta name="robots" content="index, follow, all" />
+ <title>All Classes | PhpRedis API</title>
+
+ <link rel="stylesheet" type="text/css" href="css/bootstrap.min.css">
+ <link rel="stylesheet" type="text/css" href="css/bootstrap-theme.min.css">
+ <link rel="stylesheet" type="text/css" href="css/doctum.css">
+ <link rel="stylesheet" type="text/css" href="fonts/doctum-font.css">
+ <script src="js/jquery-3.5.1.slim.min.js"></script>
+ <script async defer src="doctum.js"></script>
+ <script async defer src="js/bootstrap.min.js"></script>
+ <script async defer src="js/autocomplete.min.js"></script>
+ <meta name="MobileOptimized" content="width">
+ <meta name="HandheldFriendly" content="true">
+ <meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1">
+
+ <link rel="search"
+ type="application/opensearchdescription+xml"
+ href="https://phpredis.github.io/opensearch.xml"
+ title="PhpRedis API (develop)" />
+ </head>
+
+ <body id="classes" data-name="" data-root-path="" data-search-index-url="doctum-search.json">
+ <div id="content">
+ <div id="left-column">
+ <div id="control-panel">
+ <div class="search-bar hidden" id="search-progress-bar-container">
+ <div class="progress">
+ <div class="progress-bar" role="progressbar" id="search-progress-bar"
+ aria-valuenow="0" aria-valuemin="0" aria-valuemax="100" style="width: 0%"></div>
+ </div>
+ </div>
+ <form id="search-form" action="search.html">
+ <span class="icon icon-search"></span>
+ <input name="search"
+ id="doctum-search-auto-complete"
+ class="typeahead form-control"
+ type="search"
+ placeholder="Search"
+ spellcheck="false"
+ autocorrect="off"
+ autocomplete="off"
+ autocapitalize="off">
+ <div class="auto-complete-results" id="auto-complete-results"></div>
+ </form>
+ </div>
+
+ <div id="api-tree"></div>
+
+ </div>
+ <div id="right-column">
+ <nav id="site-nav" class="navbar navbar-default" role="navigation">
+ <div class="container-fluid">
+ <div class="navbar-header">
+ <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#navbar-elements">
+ <span class="sr-only">Toggle navigation</span>
+ <span class="icon-bar"></span>
+ <span class="icon-bar"></span>
+ <span class="icon-bar"></span>
+ </button>
+ <a class="navbar-brand" href="index.html">PhpRedis API</a>
+ </div>
+ <div class="collapse navbar-collapse" id="navbar-elements">
+ <ul class="nav navbar-nav">
+ <li><a href="classes.html">Classes</a></li>
+ <li><a href="interfaces.html">Interfaces</a></li>
+ <li><a href="traits.html">Traits</a></li>
+ <li><a href="doc-index.html">Index</a></li>
+ <li><a href="search.html">Search</a></li>
+ </ul>
+ </div>
+ </div>
+ </nav>
+
+ <div id="page-content"> <div class="page-header">
+ <h1>Classes</h1>
+ </div>
+
+
+ <div class="container-fluid underlined">
+ <div class="row">
+ <div class="col-md-6">
+ <a href="Redis.html"><abbr title="Redis">Redis</abbr></a> </div>
+ <div class="col-md-6"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-6">
+ <a href="RedisArray.html"><abbr title="RedisArray">RedisArray</abbr></a> </div>
+ <div class="col-md-6"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-6">
+ <a href="RedisCluster.html"><abbr title="RedisCluster">RedisCluster</abbr></a> </div>
+ <div class="col-md-6"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-6">
+ <a href="RedisClusterException.html"><abbr title="RedisClusterException">RedisClusterException</abbr></a> </div>
+ <div class="col-md-6"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-6">
+ <a href="RedisException.html"><abbr title="RedisException">RedisException</abbr></a> </div>
+ <div class="col-md-6"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-6">
+ <a href="RedisSentinel.html"><abbr title="RedisSentinel">RedisSentinel</abbr></a> </div>
+ <div class="col-md-6"></div>
+ </div>
+ </div>
+</div><div id="footer">
+ Generated by <a href="https://github.com/code-lts/doctum">Doctum, a API Documentation generator and fork of Sami</a>.</div></div>
+ </div>
+ </body>
+
+</html>
diff --git a/docs/css/bootstrap-theme.min.css b/docs/css/bootstrap-theme.min.css
new file mode 100644
index 00000000..59e7de99
--- /dev/null
+++ b/docs/css/bootstrap-theme.min.css
@@ -0,0 +1,7 @@
+/*!
+ * Generated using the Bootstrap Customizer (https://getbootstrap.com/docs/3.4/customize/)
+ *//*!
+ * Bootstrap v3.4.1 (https://getbootstrap.com/)
+ * Copyright 2011-2019 Twitter, Inc.
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ */.btn-default,.btn-primary,.btn-success,.btn-info,.btn-warning,.btn-danger{text-shadow:0 -1px 0 rgba(0,0,0,0.2);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.15),0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 0 rgba(255,255,255,0.15),0 1px 1px rgba(0,0,0,0.075)}.btn-default:active,.btn-primary:active,.btn-success:active,.btn-info:active,.btn-warning:active,.btn-danger:active,.btn-default.active,.btn-primary.active,.btn-success.active,.btn-info.active,.btn-warning.active,.btn-danger.active{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,0.125);box-shadow:inset 0 3px 5px rgba(0,0,0,0.125)}.btn-default.disabled,.btn-primary.disabled,.btn-success.disabled,.btn-info.disabled,.btn-warning.disabled,.btn-danger.disabled,.btn-default[disabled],.btn-primary[disabled],.btn-success[disabled],.btn-info[disabled],.btn-warning[disabled],.btn-danger[disabled],fieldset[disabled] .btn-default,fieldset[disabled] .btn-primary,fieldset[disabled] .btn-success,fieldset[disabled] .btn-info,fieldset[disabled] .btn-warning,fieldset[disabled] .btn-danger{-webkit-box-shadow:none;box-shadow:none}.btn-default .badge,.btn-primary .badge,.btn-success .badge,.btn-info .badge,.btn-warning .badge,.btn-danger .badge{text-shadow:none}.btn:active,.btn.active{background-image:none}.btn-default{background-image:-webkit-linear-gradient(top, #fff 0, #e0e0e0 100%);background-image:-o-linear-gradient(top, #fff 0, #e0e0e0 100%);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0, #fff), to(#e0e0e0));background-image:linear-gradient(to bottom, #fff 0, #e0e0e0 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe0e0e0', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);background-repeat:repeat-x;border-color:#dbdbdb;text-shadow:0 1px 0 #fff;border-color:#ccc}.btn-default:hover,.btn-default:focus{background-color:#e0e0e0;background-position:0 -15px}.btn-default:active,.btn-default.active{background-color:#e0e0e0;border-color:#dbdbdb}.btn-default.disabled,.btn-default[disabled],fieldset[disabled] .btn-default,.btn-default.disabled:hover,.btn-default[disabled]:hover,fieldset[disabled] .btn-default:hover,.btn-default.disabled:focus,.btn-default[disabled]:focus,fieldset[disabled] .btn-default:focus,.btn-default.disabled.focus,.btn-default[disabled].focus,fieldset[disabled] .btn-default.focus,.btn-default.disabled:active,.btn-default[disabled]:active,fieldset[disabled] .btn-default:active,.btn-default.disabled.active,.btn-default[disabled].active,fieldset[disabled] .btn-default.active{background-color:#e0e0e0;background-image:none}.btn-primary{background-image:-webkit-linear-gradient(top, #428bca 0, #2d6ca2 100%);background-image:-o-linear-gradient(top, #428bca 0, #2d6ca2 100%);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0, #428bca), to(#2d6ca2));background-image:linear-gradient(to bottom, #428bca 0, #2d6ca2 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff2d6ca2', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);background-repeat:repeat-x;border-color:#2b669a}.btn-primary:hover,.btn-primary:focus{background-color:#2d6ca2;background-position:0 -15px}.btn-primary:active,.btn-primary.active{background-color:#2d6ca2;border-color:#2b669a}.btn-primary.disabled,.btn-primary[disabled],fieldset[disabled] .btn-primary,.btn-primary.disabled:hover,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary:hover,.btn-primary.disabled:focus,.btn-primary[disabled]:focus,fieldset[disabled] .btn-primary:focus,.btn-primary.disabled.focus,.btn-primary[disabled].focus,fieldset[disabled] .btn-primary.focus,.btn-primary.disabled:active,.btn-primary[disabled]:active,fieldset[disabled] .btn-primary:active,.btn-primary.disabled.active,.btn-primary[disabled].active,fieldset[disabled] .btn-primary.active{background-color:#2d6ca2;background-image:none}.btn-success{background-image:-webkit-linear-gradient(top, #5cb85c 0, #419641 100%);background-image:-o-linear-gradient(top, #5cb85c 0, #419641 100%);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0, #5cb85c), to(#419641));background-image:linear-gradient(to bottom, #5cb85c 0, #419641 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff419641', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);background-repeat:repeat-x;border-color:#3e8f3e}.btn-success:hover,.btn-success:focus{background-color:#419641;background-position:0 -15px}.btn-success:active,.btn-success.active{background-color:#419641;border-color:#3e8f3e}.btn-success.disabled,.btn-success[disabled],fieldset[disabled] .btn-success,.btn-success.disabled:hover,.btn-success[disabled]:hover,fieldset[disabled] .btn-success:hover,.btn-success.disabled:focus,.btn-success[disabled]:focus,fieldset[disabled] .btn-success:focus,.btn-success.disabled.focus,.btn-success[disabled].focus,fieldset[disabled] .btn-success.focus,.btn-success.disabled:active,.btn-success[disabled]:active,fieldset[disabled] .btn-success:active,.btn-success.disabled.active,.btn-success[disabled].active,fieldset[disabled] .btn-success.active{background-color:#419641;background-image:none}.btn-info{background-image:-webkit-linear-gradient(top, #5bc0de 0, #2aabd2 100%);background-image:-o-linear-gradient(top, #5bc0de 0, #2aabd2 100%);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0, #5bc0de), to(#2aabd2));background-image:linear-gradient(to bottom, #5bc0de 0, #2aabd2 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2aabd2', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);background-repeat:repeat-x;border-color:#28a4c9}.btn-info:hover,.btn-info:focus{background-color:#2aabd2;background-position:0 -15px}.btn-info:active,.btn-info.active{background-color:#2aabd2;border-color:#28a4c9}.btn-info.disabled,.btn-info[disabled],fieldset[disabled] .btn-info,.btn-info.disabled:hover,.btn-info[disabled]:hover,fieldset[disabled] .btn-info:hover,.btn-info.disabled:focus,.btn-info[disabled]:focus,fieldset[disabled] .btn-info:focus,.btn-info.disabled.focus,.btn-info[disabled].focus,fieldset[disabled] .btn-info.focus,.btn-info.disabled:active,.btn-info[disabled]:active,fieldset[disabled] .btn-info:active,.btn-info.disabled.active,.btn-info[disabled].active,fieldset[disabled] .btn-info.active{background-color:#2aabd2;background-image:none}.btn-warning{background-image:-webkit-linear-gradient(top, #f0ad4e 0, #eb9316 100%);background-image:-o-linear-gradient(top, #f0ad4e 0, #eb9316 100%);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0, #f0ad4e), to(#eb9316));background-image:linear-gradient(to bottom, #f0ad4e 0, #eb9316 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffeb9316', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);background-repeat:repeat-x;border-color:#e38d13}.btn-warning:hover,.btn-warning:focus{background-color:#eb9316;background-position:0 -15px}.btn-warning:active,.btn-warning.active{background-color:#eb9316;border-color:#e38d13}.btn-warning.disabled,.btn-warning[disabled],fieldset[disabled] .btn-warning,.btn-warning.disabled:hover,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning:hover,.btn-warning.disabled:focus,.btn-warning[disabled]:focus,fieldset[disabled] .btn-warning:focus,.btn-warning.disabled.focus,.btn-warning[disabled].focus,fieldset[disabled] .btn-warning.focus,.btn-warning.disabled:active,.btn-warning[disabled]:active,fieldset[disabled] .btn-warning:active,.btn-warning.disabled.active,.btn-warning[disabled].active,fieldset[disabled] .btn-warning.active{background-color:#eb9316;background-image:none}.btn-danger{background-image:-webkit-linear-gradient(top, #d9534f 0, #c12e2a 100%);background-image:-o-linear-gradient(top, #d9534f 0, #c12e2a 100%);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0, #d9534f), to(#c12e2a));background-image:linear-gradient(to bottom, #d9534f 0, #c12e2a 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc12e2a', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);background-repeat:repeat-x;border-color:#b92c28}.btn-danger:hover,.btn-danger:focus{background-color:#c12e2a;background-position:0 -15px}.btn-danger:active,.btn-danger.active{background-color:#c12e2a;border-color:#b92c28}.btn-danger.disabled,.btn-danger[disabled],fieldset[disabled] .btn-danger,.btn-danger.disabled:hover,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger:hover,.btn-danger.disabled:focus,.btn-danger[disabled]:focus,fieldset[disabled] .btn-danger:focus,.btn-danger.disabled.focus,.btn-danger[disabled].focus,fieldset[disabled] .btn-danger.focus,.btn-danger.disabled:active,.btn-danger[disabled]:active,fieldset[disabled] .btn-danger:active,.btn-danger.disabled.active,.btn-danger[disabled].active,fieldset[disabled] .btn-danger.active{background-color:#c12e2a;background-image:none}.thumbnail,.img-thumbnail{-webkit-box-shadow:0 1px 2px rgba(0,0,0,0.075);box-shadow:0 1px 2px rgba(0,0,0,0.075)}.dropdown-menu>li>a:hover,.dropdown-menu>li>a:focus{background-image:-webkit-linear-gradient(top, #f5f5f5 0, #e8e8e8 100%);background-image:-o-linear-gradient(top, #f5f5f5 0, #e8e8e8 100%);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0, #f5f5f5), to(#e8e8e8));background-image:linear-gradient(to bottom, #f5f5f5 0, #e8e8e8 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);background-repeat:repeat-x;background-color:#e8e8e8}.dropdown-menu>.active>a,.dropdown-menu>.active>a:hover,.dropdown-menu>.active>a:focus{background-image:-webkit-linear-gradient(top, #428bca 0, #357ebd 100%);background-image:-o-linear-gradient(top, #428bca 0, #357ebd 100%);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0, #428bca), to(#357ebd));background-image:linear-gradient(to bottom, #428bca 0, #357ebd 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff357ebd', GradientType=0);background-repeat:repeat-x;background-color:#357ebd}.navbar-default{background-image:-webkit-linear-gradient(top, #fff 0, #f8f8f8 100%);background-image:-o-linear-gradient(top, #fff 0, #f8f8f8 100%);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0, #fff), to(#f8f8f8));background-image:linear-gradient(to bottom, #fff 0, #f8f8f8 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff8f8f8', GradientType=0);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);border-radius:4px;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.15),0 1px 5px rgba(0,0,0,0.075);box-shadow:inset 0 1px 0 rgba(255,255,255,0.15),0 1px 5px rgba(0,0,0,0.075)}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.active>a{background-image:-webkit-linear-gradient(top, #dbdbdb 0, #e2e2e2 100%);background-image:-o-linear-gradient(top, #dbdbdb 0, #e2e2e2 100%);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0, #dbdbdb), to(#e2e2e2));background-image:linear-gradient(to bottom, #dbdbdb 0, #e2e2e2 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdbdbdb', endColorstr='#ffe2e2e2', GradientType=0);background-repeat:repeat-x;-webkit-box-shadow:inset 0 3px 9px rgba(0,0,0,0.075);box-shadow:inset 0 3px 9px rgba(0,0,0,0.075)}.navbar-brand,.navbar-nav>li>a{text-shadow:0 1px 0 rgba(255,255,255,0.25)}.navbar-inverse{background-image:-webkit-linear-gradient(top, #3c3c3c 0, #222 100%);background-image:-o-linear-gradient(top, #3c3c3c 0, #222 100%);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0, #3c3c3c), to(#222));background-image:linear-gradient(to bottom, #3c3c3c 0, #222 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff3c3c3c', endColorstr='#ff222222', GradientType=0);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);border-radius:4px}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.active>a{background-image:-webkit-linear-gradient(top, #080808 0, #0f0f0f 100%);background-image:-o-linear-gradient(top, #080808 0, #0f0f0f 100%);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0, #080808), to(#0f0f0f));background-image:linear-gradient(to bottom, #080808 0, #0f0f0f 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff080808', endColorstr='#ff0f0f0f', GradientType=0);background-repeat:repeat-x;-webkit-box-shadow:inset 0 3px 9px rgba(0,0,0,0.25);box-shadow:inset 0 3px 9px rgba(0,0,0,0.25)}.navbar-inverse .navbar-brand,.navbar-inverse .navbar-nav>li>a{text-shadow:0 -1px 0 rgba(0,0,0,0.25)}.navbar-static-top,.navbar-fixed-top,.navbar-fixed-bottom{border-radius:0}@media (max-width:767px){.navbar .navbar-nav .open .dropdown-menu>.active>a,.navbar .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar .navbar-nav .open .dropdown-menu>.active>a:focus{color:#fff;background-image:-webkit-linear-gradient(top, #428bca 0, #357ebd 100%);background-image:-o-linear-gradient(top, #428bca 0, #357ebd 100%);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0, #428bca), to(#357ebd));background-image:linear-gradient(to bottom, #428bca 0, #357ebd 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff357ebd', GradientType=0);background-repeat:repeat-x}}.alert{text-shadow:0 1px 0 rgba(255,255,255,0.2);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.25),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 0 1px 0 rgba(255,255,255,0.25),0 1px 2px rgba(0,0,0,0.05)}.alert-success{background-image:-webkit-linear-gradient(top, #dff0d8 0, #c8e5bc 100%);background-image:-o-linear-gradient(top, #dff0d8 0, #c8e5bc 100%);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0, #dff0d8), to(#c8e5bc));background-image:linear-gradient(to bottom, #dff0d8 0, #c8e5bc 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffc8e5bc', GradientType=0);background-repeat:repeat-x;border-color:#b2dba1}.alert-info{background-image:-webkit-linear-gradient(top, #d9edf7 0, #b9def0 100%);background-image:-o-linear-gradient(top, #d9edf7 0, #b9def0 100%);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0, #d9edf7), to(#b9def0));background-image:linear-gradient(to bottom, #d9edf7 0, #b9def0 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffb9def0', GradientType=0);background-repeat:repeat-x;border-color:#9acfea}.alert-warning{background-image:-webkit-linear-gradient(top, #fcf8e3 0, #f8efc0 100%);background-image:-o-linear-gradient(top, #fcf8e3 0, #f8efc0 100%);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0, #fcf8e3), to(#f8efc0));background-image:linear-gradient(to bottom, #fcf8e3 0, #f8efc0 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fff8efc0', GradientType=0);background-repeat:repeat-x;border-color:#f5e79e}.alert-danger{background-image:-webkit-linear-gradient(top, #f2dede 0, #e7c3c3 100%);background-image:-o-linear-gradient(top, #f2dede 0, #e7c3c3 100%);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0, #f2dede), to(#e7c3c3));background-image:linear-gradient(to bottom, #f2dede 0, #e7c3c3 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffe7c3c3', GradientType=0);background-repeat:repeat-x;border-color:#dca7a7}.progress{background-image:-webkit-linear-gradient(top, #ebebeb 0, #f5f5f5 100%);background-image:-o-linear-gradient(top, #ebebeb 0, #f5f5f5 100%);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0, #ebebeb), to(#f5f5f5));background-image:linear-gradient(to bottom, #ebebeb 0, #f5f5f5 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff5f5f5', GradientType=0);background-repeat:repeat-x}.progress-bar{background-image:-webkit-linear-gradient(top, #428bca 0, #3071a9 100%);background-image:-o-linear-gradient(top, #428bca 0, #3071a9 100%);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0, #428bca), to(#3071a9));background-image:linear-gradient(to bottom, #428bca 0, #3071a9 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff3071a9', GradientType=0);background-repeat:repeat-x}.progress-bar-success{background-image:-webkit-linear-gradient(top, #5cb85c 0, #449d44 100%);background-image:-o-linear-gradient(top, #5cb85c 0, #449d44 100%);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0, #5cb85c), to(#449d44));background-image:linear-gradient(to bottom, #5cb85c 0, #449d44 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff449d44', GradientType=0);background-repeat:repeat-x}.progress-bar-info{background-image:-webkit-linear-gradient(top, #5bc0de 0, #31b0d5 100%);background-image:-o-linear-gradient(top, #5bc0de 0, #31b0d5 100%);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0, #5bc0de), to(#31b0d5));background-image:linear-gradient(to bottom, #5bc0de 0, #31b0d5 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff31b0d5', GradientType=0);background-repeat:repeat-x}.progress-bar-warning{background-image:-webkit-linear-gradient(top, #f0ad4e 0, #ec971f 100%);background-image:-o-linear-gradient(top, #f0ad4e 0, #ec971f 100%);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0, #f0ad4e), to(#ec971f));background-image:linear-gradient(to bottom, #f0ad4e 0, #ec971f 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffec971f', GradientType=0);background-repeat:repeat-x}.progress-bar-danger{background-image:-webkit-linear-gradient(top, #d9534f 0, #c9302c 100%);background-image:-o-linear-gradient(top, #d9534f 0, #c9302c 100%);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0, #d9534f), to(#c9302c));background-image:linear-gradient(to bottom, #d9534f 0, #c9302c 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc9302c', GradientType=0);background-repeat:repeat-x}.progress-bar-striped{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}.list-group{border-radius:4px;-webkit-box-shadow:0 1px 2px rgba(0,0,0,0.075);box-shadow:0 1px 2px rgba(0,0,0,0.075)}.list-group-item.active,.list-group-item.active:hover,.list-group-item.active:focus{text-shadow:0 -1px 0 #3071a9;background-image:-webkit-linear-gradient(top, #428bca 0, #3278b3 100%);background-image:-o-linear-gradient(top, #428bca 0, #3278b3 100%);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0, #428bca), to(#3278b3));background-image:linear-gradient(to bottom, #428bca 0, #3278b3 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff3278b3', GradientType=0);background-repeat:repeat-x;border-color:#3278b3}.list-group-item.active .badge,.list-group-item.active:hover .badge,.list-group-item.active:focus .badge{text-shadow:none}.panel{-webkit-box-shadow:0 1px 2px rgba(0,0,0,0.05);box-shadow:0 1px 2px rgba(0,0,0,0.05)}.panel-default>.panel-heading{background-image:-webkit-linear-gradient(top, #f5f5f5 0, #e8e8e8 100%);background-image:-o-linear-gradient(top, #f5f5f5 0, #e8e8e8 100%);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0, #f5f5f5), to(#e8e8e8));background-image:linear-gradient(to bottom, #f5f5f5 0, #e8e8e8 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);background-repeat:repeat-x}.panel-primary>.panel-heading{background-image:-webkit-linear-gradient(top, #428bca 0, #357ebd 100%);background-image:-o-linear-gradient(top, #428bca 0, #357ebd 100%);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0, #428bca), to(#357ebd));background-image:linear-gradient(to bottom, #428bca 0, #357ebd 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff357ebd', GradientType=0);background-repeat:repeat-x}.panel-success>.panel-heading{background-image:-webkit-linear-gradient(top, #dff0d8 0, #d0e9c6 100%);background-image:-o-linear-gradient(top, #dff0d8 0, #d0e9c6 100%);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0, #dff0d8), to(#d0e9c6));background-image:linear-gradient(to bottom, #dff0d8 0, #d0e9c6 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffd0e9c6', GradientType=0);background-repeat:repeat-x}.panel-info>.panel-heading{background-image:-webkit-linear-gradient(top, #d9edf7 0, #c4e3f3 100%);background-image:-o-linear-gradient(top, #d9edf7 0, #c4e3f3 100%);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0, #d9edf7), to(#c4e3f3));background-image:linear-gradient(to bottom, #d9edf7 0, #c4e3f3 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffc4e3f3', GradientType=0);background-repeat:repeat-x}.panel-warning>.panel-heading{background-image:-webkit-linear-gradient(top, #fcf8e3 0, #faf2cc 100%);background-image:-o-linear-gradient(top, #fcf8e3 0, #faf2cc 100%);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0, #fcf8e3), to(#faf2cc));background-image:linear-gradient(to bottom, #fcf8e3 0, #faf2cc 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fffaf2cc', GradientType=0);background-repeat:repeat-x}.panel-danger>.panel-heading{background-image:-webkit-linear-gradient(top, #f2dede 0, #ebcccc 100%);background-image:-o-linear-gradient(top, #f2dede 0, #ebcccc 100%);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0, #f2dede), to(#ebcccc));background-image:linear-gradient(to bottom, #f2dede 0, #ebcccc 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffebcccc', GradientType=0);background-repeat:repeat-x}.well{background-image:-webkit-linear-gradient(top, #e8e8e8 0, #f5f5f5 100%);background-image:-o-linear-gradient(top, #e8e8e8 0, #f5f5f5 100%);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0, #e8e8e8), to(#f5f5f5));background-image:linear-gradient(to bottom, #e8e8e8 0, #f5f5f5 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe8e8e8', endColorstr='#fff5f5f5', GradientType=0);background-repeat:repeat-x;border-color:#dcdcdc;-webkit-box-shadow:inset 0 1px 3px rgba(0,0,0,0.05),0 1px 0 rgba(255,255,255,0.1);box-shadow:inset 0 1px 3px rgba(0,0,0,0.05),0 1px 0 rgba(255,255,255,0.1)} \ No newline at end of file
diff --git a/docs/css/bootstrap.min.css b/docs/css/bootstrap.min.css
new file mode 100644
index 00000000..633f7473
--- /dev/null
+++ b/docs/css/bootstrap.min.css
@@ -0,0 +1,7 @@
+/*!
+ * Generated using the Bootstrap Customizer (https://getbootstrap.com/docs/3.4/customize/)
+ *//*!
+ * Bootstrap v3.4.1 (https://getbootstrap.com/)
+ * Copyright 2011-2019 Twitter, Inc.
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ *//*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bold}dfn{font-style:italic}h1{font-size:2em;margin:0.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace, monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type="checkbox"],input[type="radio"]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0}input[type="number"]::-webkit-inner-spin-button,input[type="number"]::-webkit-outer-spin-button{height:auto}input[type="search"]{-webkit-appearance:textfield;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid #c0c0c0;margin:0 2px;padding:0.35em 0.625em 0.75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:bold}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */@media print{*,*:before,*:after{color:#000 !important;text-shadow:none !important;background:transparent !important;-webkit-box-shadow:none !important;box-shadow:none !important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="#"]:after,a[href^="javascript:"]:after{content:""}pre,blockquote{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100% !important}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}.navbar{display:none}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000 !important}.label{border:1px solid #000}.table{border-collapse:collapse !important}.table td,.table th{background-color:#fff !important}.table-bordered th,.table-bordered td{border:1px solid #ddd !important}}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}*:before,*:after{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.42857143;color:#333;background-color:#fff}input,button,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#428bca;text-decoration:none}a:hover,a:focus{color:#2a6496;text-decoration:underline}a:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}figure{margin:0}img{vertical-align:middle}.img-responsive{display:block;max-width:100%;height:auto}.img-rounded{border-radius:6px}.img-thumbnail{padding:4px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out;display:inline-block;max-width:100%;height:auto}.img-circle{border-radius:50%}hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}[role="button"]{cursor:pointer}h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{font-family:inherit;font-weight:500;line-height:1.1;color:inherit}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small,.h1 small,.h2 small,.h3 small,.h4 small,.h5 small,.h6 small,h1 .small,h2 .small,h3 .small,h4 .small,h5 .small,h6 .small,.h1 .small,.h2 .small,.h3 .small,.h4 .small,.h5 .small,.h6 .small{font-weight:400;line-height:1;color:#777}h1,.h1,h2,.h2,h3,.h3{margin-top:20px;margin-bottom:10px}h1 small,.h1 small,h2 small,.h2 small,h3 small,.h3 small,h1 .small,.h1 .small,h2 .small,.h2 .small,h3 .small,.h3 .small{font-size:65%}h4,.h4,h5,.h5,h6,.h6{margin-top:10px;margin-bottom:10px}h4 small,.h4 small,h5 small,.h5 small,h6 small,.h6 small,h4 .small,.h4 .small,h5 .small,.h5 .small,h6 .small,.h6 .small{font-size:75%}h1,.h1{font-size:36px}h2,.h2{font-size:30px}h3,.h3{font-size:24px}h4,.h4{font-size:18px}h5,.h5{font-size:14px}h6,.h6{font-size:12px}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:16px;font-weight:300;line-height:1.4}@media (min-width:768px){.lead{font-size:21px}}small,.small{font-size:85%}mark,.mark{padding:.2em;background-color:#fcf8e3}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.text-lowercase{text-transform:lowercase}.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-muted{color:#777}.text-primary{color:#428bca}a.text-primary:hover,a.text-primary:focus{color:#3071a9}.text-success{color:#3c763d}a.text-success:hover,a.text-success:focus{color:#2b542c}.text-info{color:#31708f}a.text-info:hover,a.text-info:focus{color:#245269}.text-warning{color:#8a6d3b}a.text-warning:hover,a.text-warning:focus{color:#66512c}.text-danger{color:#a94442}a.text-danger:hover,a.text-danger:focus{color:#843534}.bg-primary{color:#fff;background-color:#428bca}a.bg-primary:hover,a.bg-primary:focus{background-color:#3071a9}.bg-success{background-color:#dff0d8}a.bg-success:hover,a.bg-success:focus{background-color:#c1e2b3}.bg-info{background-color:#d9edf7}a.bg-info:hover,a.bg-info:focus{background-color:#afd9ee}.bg-warning{background-color:#fcf8e3}a.bg-warning:hover,a.bg-warning:focus{background-color:#f7ecb5}.bg-danger{background-color:#f2dede}a.bg-danger:hover,a.bg-danger:focus{background-color:#e4b9b9}.page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}ul,ol{margin-top:0;margin-bottom:10px}ul ul,ol ul,ul ol,ol ol{margin-bottom:0}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none;margin-left:-5px}.list-inline>li{display:inline-block;padding-right:5px;padding-left:5px}dl{margin-top:0;margin-bottom:20px}dt,dd{line-height:1.42857143}dt{font-weight:700}dd{margin-left:0}@media (min-width:768px){.dl-horizontal dt{float:left;width:160px;clear:left;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}}abbr[title],abbr[data-original-title]{cursor:help}.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:10px 20px;margin:0 0 20px;font-size:17.5px;border-left:5px solid #eee}blockquote p:last-child,blockquote ul:last-child,blockquote ol:last-child{margin-bottom:0}blockquote footer,blockquote small,blockquote .small{display:block;font-size:80%;line-height:1.42857143;color:#777}blockquote footer:before,blockquote small:before,blockquote .small:before{content:"\2014 \00A0"}.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;text-align:right;border-right:5px solid #eee;border-left:0}.blockquote-reverse footer:before,blockquote.pull-right footer:before,.blockquote-reverse small:before,blockquote.pull-right small:before,.blockquote-reverse .small:before,blockquote.pull-right .small:before{content:""}.blockquote-reverse footer:after,blockquote.pull-right footer:after,.blockquote-reverse small:after,blockquote.pull-right small:after,.blockquote-reverse .small:after,blockquote.pull-right .small:after{content:"\00A0 \2014"}address{margin-bottom:20px;font-style:normal;line-height:1.42857143}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}code{padding:2px 4px;font-size:90%;color:#c7254e;background-color:#f9f2f4;border-radius:4px}kbd{padding:2px 4px;font-size:90%;color:#fff;background-color:#333;border-radius:3px;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.25);box-shadow:inset 0 -1px 0 rgba(0,0,0,0.25)}kbd kbd{padding:0;font-size:100%;font-weight:700;-webkit-box-shadow:none;box-shadow:none}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:1.42857143;color:#333;word-break:break-all;word-wrap:break-word;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:768px){.container{width:750px}}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.container-fluid{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.row{margin-right:-15px;margin-left:-15px}.row-no-gutters{margin-right:0;margin-left:0}.row-no-gutters [class*="col-"]{padding-right:0;padding-left:0}.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12{position:relative;min-height:1px;padding-right:15px;padding-left:15px}.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12{float:left}.col-xs-12{width:100%}.col-xs-11{width:91.66666667%}.col-xs-10{width:83.33333333%}.col-xs-9{width:75%}.col-xs-8{width:66.66666667%}.col-xs-7{width:58.33333333%}.col-xs-6{width:50%}.col-xs-5{width:41.66666667%}.col-xs-4{width:33.33333333%}.col-xs-3{width:25%}.col-xs-2{width:16.66666667%}.col-xs-1{width:8.33333333%}.col-xs-pull-12{right:100%}.col-xs-pull-11{right:91.66666667%}.col-xs-pull-10{right:83.33333333%}.col-xs-pull-9{right:75%}.col-xs-pull-8{right:66.66666667%}.col-xs-pull-7{right:58.33333333%}.col-xs-pull-6{right:50%}.col-xs-pull-5{right:41.66666667%}.col-xs-pull-4{right:33.33333333%}.col-xs-pull-3{right:25%}.col-xs-pull-2{right:16.66666667%}.col-xs-pull-1{right:8.33333333%}.col-xs-pull-0{right:auto}.col-xs-push-12{left:100%}.col-xs-push-11{left:91.66666667%}.col-xs-push-10{left:83.33333333%}.col-xs-push-9{left:75%}.col-xs-push-8{left:66.66666667%}.col-xs-push-7{left:58.33333333%}.col-xs-push-6{left:50%}.col-xs-push-5{left:41.66666667%}.col-xs-push-4{left:33.33333333%}.col-xs-push-3{left:25%}.col-xs-push-2{left:16.66666667%}.col-xs-push-1{left:8.33333333%}.col-xs-push-0{left:auto}.col-xs-offset-12{margin-left:100%}.col-xs-offset-11{margin-left:91.66666667%}.col-xs-offset-10{margin-left:83.33333333%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-8{margin-left:66.66666667%}.col-xs-offset-7{margin-left:58.33333333%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-5{margin-left:41.66666667%}.col-xs-offset-4{margin-left:33.33333333%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-2{margin-left:16.66666667%}.col-xs-offset-1{margin-left:8.33333333%}.col-xs-offset-0{margin-left:0}@media (min-width:768px){.col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666667%}.col-sm-10{width:83.33333333%}.col-sm-9{width:75%}.col-sm-8{width:66.66666667%}.col-sm-7{width:58.33333333%}.col-sm-6{width:50%}.col-sm-5{width:41.66666667%}.col-sm-4{width:33.33333333%}.col-sm-3{width:25%}.col-sm-2{width:16.66666667%}.col-sm-1{width:8.33333333%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666667%}.col-sm-pull-10{right:83.33333333%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666667%}.col-sm-pull-7{right:58.33333333%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666667%}.col-sm-pull-4{right:33.33333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.66666667%}.col-sm-pull-1{right:8.33333333%}.col-sm-pull-0{right:auto}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666667%}.col-sm-push-10{left:83.33333333%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666667%}.col-sm-push-7{left:58.33333333%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666667%}.col-sm-push-4{left:33.33333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.66666667%}.col-sm-push-1{left:8.33333333%}.col-sm-push-0{left:auto}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666667%}.col-sm-offset-10{margin-left:83.33333333%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666667%}.col-sm-offset-7{margin-left:58.33333333%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666667%}.col-sm-offset-4{margin-left:33.33333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.66666667%}.col-sm-offset-1{margin-left:8.33333333%}.col-sm-offset-0{margin-left:0}}@media (min-width:992px){.col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666667%}.col-md-10{width:83.33333333%}.col-md-9{width:75%}.col-md-8{width:66.66666667%}.col-md-7{width:58.33333333%}.col-md-6{width:50%}.col-md-5{width:41.66666667%}.col-md-4{width:33.33333333%}.col-md-3{width:25%}.col-md-2{width:16.66666667%}.col-md-1{width:8.33333333%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666667%}.col-md-pull-10{right:83.33333333%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666667%}.col-md-pull-7{right:58.33333333%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666667%}.col-md-pull-4{right:33.33333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.66666667%}.col-md-pull-1{right:8.33333333%}.col-md-pull-0{right:auto}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666667%}.col-md-push-10{left:83.33333333%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666667%}.col-md-push-7{left:58.33333333%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666667%}.col-md-push-4{left:33.33333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.66666667%}.col-md-push-1{left:8.33333333%}.col-md-push-0{left:auto}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666667%}.col-md-offset-10{margin-left:83.33333333%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666667%}.col-md-offset-7{margin-left:58.33333333%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666667%}.col-md-offset-4{margin-left:33.33333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.66666667%}.col-md-offset-1{margin-left:8.33333333%}.col-md-offset-0{margin-left:0}}@media (min-width:1200px){.col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666667%}.col-lg-10{width:83.33333333%}.col-lg-9{width:75%}.col-lg-8{width:66.66666667%}.col-lg-7{width:58.33333333%}.col-lg-6{width:50%}.col-lg-5{width:41.66666667%}.col-lg-4{width:33.33333333%}.col-lg-3{width:25%}.col-lg-2{width:16.66666667%}.col-lg-1{width:8.33333333%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666667%}.col-lg-pull-10{right:83.33333333%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666667%}.col-lg-pull-7{right:58.33333333%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666667%}.col-lg-pull-4{right:33.33333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.66666667%}.col-lg-pull-1{right:8.33333333%}.col-lg-pull-0{right:auto}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666667%}.col-lg-push-10{left:83.33333333%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666667%}.col-lg-push-7{left:58.33333333%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666667%}.col-lg-push-4{left:33.33333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.66666667%}.col-lg-push-1{left:8.33333333%}.col-lg-push-0{left:auto}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666667%}.col-lg-offset-10{margin-left:83.33333333%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666667%}.col-lg-offset-7{margin-left:58.33333333%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666667%}.col-lg-offset-4{margin-left:33.33333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.66666667%}.col-lg-offset-1{margin-left:8.33333333%}.col-lg-offset-0{margin-left:0}}table{background-color:transparent}table col[class*="col-"]{position:static;display:table-column;float:none}table td[class*="col-"],table th[class*="col-"]{position:static;display:table-cell;float:none}caption{padding-top:8px;padding-bottom:8px;color:#777;text-align:left}th{text-align:left}.table{width:100%;max-width:100%;margin-bottom:20px}.table>thead>tr>th,.table>tbody>tr>th,.table>tfoot>tr>th,.table>thead>tr>td,.table>tbody>tr>td,.table>tfoot>tr>td{padding:8px;line-height:1.42857143;vertical-align:top;border-top:1px solid #ddd}.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>th,.table>caption+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>td,.table>thead:first-child>tr:first-child>td{border-top:0}.table>tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-condensed>thead>tr>th,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>tbody>tr>td,.table-condensed>tfoot>tr>td{padding:5px}.table-bordered{border:1px solid #ddd}.table-bordered>thead>tr>th,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>tbody>tr>td,.table-bordered>tfoot>tr>td{border:1px solid #ddd}.table-bordered>thead>tr>th,.table-bordered>thead>tr>td{border-bottom-width:2px}.table-striped>tbody>tr:nth-of-type(odd){background-color:#f9f9f9}.table-hover>tbody>tr:hover{background-color:#f5f5f5}.table>thead>tr>td.active,.table>tbody>tr>td.active,.table>tfoot>tr>td.active,.table>thead>tr>th.active,.table>tbody>tr>th.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>tbody>tr.active>td,.table>tfoot>tr.active>td,.table>thead>tr.active>th,.table>tbody>tr.active>th,.table>tfoot>tr.active>th{background-color:#f5f5f5}.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover,.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr.active:hover>th{background-color:#e8e8e8}.table>thead>tr>td.success,.table>tbody>tr>td.success,.table>tfoot>tr>td.success,.table>thead>tr>th.success,.table>tbody>tr>th.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>tbody>tr.success>td,.table>tfoot>tr.success>td,.table>thead>tr.success>th,.table>tbody>tr.success>th,.table>tfoot>tr.success>th{background-color:#dff0d8}.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover,.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr.success:hover>th{background-color:#d0e9c6}.table>thead>tr>td.info,.table>tbody>tr>td.info,.table>tfoot>tr>td.info,.table>thead>tr>th.info,.table>tbody>tr>th.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>tbody>tr.info>td,.table>tfoot>tr.info>td,.table>thead>tr.info>th,.table>tbody>tr.info>th,.table>tfoot>tr.info>th{background-color:#d9edf7}.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover,.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr.info:hover>th{background-color:#c4e3f3}.table>thead>tr>td.warning,.table>tbody>tr>td.warning,.table>tfoot>tr>td.warning,.table>thead>tr>th.warning,.table>tbody>tr>th.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>tbody>tr.warning>td,.table>tfoot>tr.warning>td,.table>thead>tr.warning>th,.table>tbody>tr.warning>th,.table>tfoot>tr.warning>th{background-color:#fcf8e3}.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover,.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr.warning:hover>th{background-color:#faf2cc}.table>thead>tr>td.danger,.table>tbody>tr>td.danger,.table>tfoot>tr>td.danger,.table>thead>tr>th.danger,.table>tbody>tr>th.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>tbody>tr.danger>td,.table>tfoot>tr.danger>td,.table>thead>tr.danger>th,.table>tbody>tr.danger>th,.table>tfoot>tr.danger>th{background-color:#f2dede}.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover,.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr.danger:hover>th{background-color:#ebcccc}.table-responsive{min-height:.01%;overflow-x:auto}@media screen and (max-width:767px){.table-responsive{width:100%;margin-bottom:15px;overflow-y:hidden;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #ddd}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>thead>tr>th,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tfoot>tr>td{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>thead>tr>th:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}.table-responsive>.table-bordered>thead>tr>th:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>th,.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>td{border-bottom:0}}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:inherit;color:#333;border:0;border-bottom:1px solid #e5e5e5}label{display:inline-block;max-width:100%;margin-bottom:5px;font-weight:700}input[type="search"]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-appearance:none;appearance:none}input[type="radio"],input[type="checkbox"]{margin:4px 0 0;margin-top:1px \9;line-height:normal}input[type="radio"][disabled],input[type="checkbox"][disabled],input[type="radio"].disabled,input[type="checkbox"].disabled,fieldset[disabled] input[type="radio"],fieldset[disabled] input[type="checkbox"]{cursor:not-allowed}input[type="file"]{display:block}input[type="range"]{display:block;width:100%}select[multiple],select[size]{height:auto}input[type="file"]:focus,input[type="radio"]:focus,input[type="checkbox"]:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}output{display:block;padding-top:7px;font-size:14px;line-height:1.42857143;color:#555}.form-control{display:block;width:100%;height:34px;padding:6px 12px;font-size:14px;line-height:1.42857143;color:#555;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-webkit-transition:border-color ease-in-out .15s, -webkit-box-shadow ease-in-out .15s;-o-transition:border-color ease-in-out .15s, box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s, box-shadow ease-in-out .15s}.form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 8px rgba(102, 175, 233, 0.6);box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 8px rgba(102, 175, 233, 0.6)}.form-control::-moz-placeholder{color:#777;opacity:1}.form-control:-ms-input-placeholder{color:#777}.form-control::-webkit-input-placeholder{color:#777}.form-control::-ms-expand{background-color:transparent;border:0}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{background-color:#eee;opacity:1}.form-control[disabled],fieldset[disabled] .form-control{cursor:not-allowed}textarea.form-control{height:auto}@media screen and (-webkit-min-device-pixel-ratio:0){input[type="date"].form-control,input[type="time"].form-control,input[type="datetime-local"].form-control,input[type="month"].form-control{line-height:34px}input[type="date"].input-sm,input[type="time"].input-sm,input[type="datetime-local"].input-sm,input[type="month"].input-sm,.input-group-sm input[type="date"],.input-group-sm input[type="time"],.input-group-sm input[type="datetime-local"],.input-group-sm input[type="month"]{line-height:30px}input[type="date"].input-lg,input[type="time"].input-lg,input[type="datetime-local"].input-lg,input[type="month"].input-lg,.input-group-lg input[type="date"],.input-group-lg input[type="time"],.input-group-lg input[type="datetime-local"],.input-group-lg input[type="month"]{line-height:46px}}.form-group{margin-bottom:15px}.radio,.checkbox{position:relative;display:block;margin-top:10px;margin-bottom:10px}.radio.disabled label,.checkbox.disabled label,fieldset[disabled] .radio label,fieldset[disabled] .checkbox label{cursor:not-allowed}.radio label,.checkbox label{min-height:20px;padding-left:20px;margin-bottom:0;font-weight:400;cursor:pointer}.radio input[type="radio"],.radio-inline input[type="radio"],.checkbox input[type="checkbox"],.checkbox-inline input[type="checkbox"]{position:absolute;margin-top:4px \9;margin-left:-20px}.radio+.radio,.checkbox+.checkbox{margin-top:-5px}.radio-inline,.checkbox-inline{position:relative;display:inline-block;padding-left:20px;margin-bottom:0;font-weight:400;vertical-align:middle;cursor:pointer}.radio-inline.disabled,.checkbox-inline.disabled,fieldset[disabled] .radio-inline,fieldset[disabled] .checkbox-inline{cursor:not-allowed}.radio-inline+.radio-inline,.checkbox-inline+.checkbox-inline{margin-top:0;margin-left:10px}.form-control-static{min-height:34px;padding-top:7px;padding-bottom:7px;margin-bottom:0}.form-control-static.input-lg,.form-control-static.input-sm{padding-right:0;padding-left:0}.input-sm{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-sm{height:30px;line-height:30px}textarea.input-sm,select[multiple].input-sm{height:auto}.form-group-sm .form-control{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.form-group-sm select.form-control{height:30px;line-height:30px}.form-group-sm textarea.form-control,.form-group-sm select[multiple].form-control{height:auto}.form-group-sm .form-control-static{height:30px;min-height:32px;padding:6px 10px;font-size:12px;line-height:1.5}.input-lg{height:46px;padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}select.input-lg{height:46px;line-height:46px}textarea.input-lg,select[multiple].input-lg{height:auto}.form-group-lg .form-control{height:46px;padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}.form-group-lg select.form-control{height:46px;line-height:46px}.form-group-lg textarea.form-control,.form-group-lg select[multiple].form-control{height:auto}.form-group-lg .form-control-static{height:46px;min-height:38px;padding:11px 16px;font-size:18px;line-height:1.33}.has-feedback{position:relative}.has-feedback .form-control{padding-right:42.5px}.form-control-feedback{position:absolute;top:0;right:0;z-index:2;display:block;width:34px;height:34px;line-height:34px;text-align:center;pointer-events:none}.input-lg+.form-control-feedback,.input-group-lg+.form-control-feedback,.form-group-lg .form-control+.form-control-feedback{width:46px;height:46px;line-height:46px}.input-sm+.form-control-feedback,.input-group-sm+.form-control-feedback,.form-group-sm .form-control+.form-control-feedback{width:30px;height:30px;line-height:30px}.has-success .help-block,.has-success .control-label,.has-success .radio,.has-success .checkbox,.has-success .radio-inline,.has-success .checkbox-inline,.has-success.radio label,.has-success.checkbox label,.has-success.radio-inline label,.has-success.checkbox-inline label{color:#3c763d}.has-success .form-control{border-color:#3c763d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-success .form-control:focus{border-color:#2b542c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #67b168}.has-success .input-group-addon{color:#3c763d;background-color:#dff0d8;border-color:#3c763d}.has-success .form-control-feedback{color:#3c763d}.has-warning .help-block,.has-warning .control-label,.has-warning .radio,.has-warning .checkbox,.has-warning .radio-inline,.has-warning .checkbox-inline,.has-warning.radio label,.has-warning.checkbox label,.has-warning.radio-inline label,.has-warning.checkbox-inline label{color:#8a6d3b}.has-warning .form-control{border-color:#8a6d3b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-warning .form-control:focus{border-color:#66512c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #c0a16b;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #c0a16b}.has-warning .input-group-addon{color:#8a6d3b;background-color:#fcf8e3;border-color:#8a6d3b}.has-warning .form-control-feedback{color:#8a6d3b}.has-error .help-block,.has-error .control-label,.has-error .radio,.has-error .checkbox,.has-error .radio-inline,.has-error .checkbox-inline,.has-error.radio label,.has-error.checkbox label,.has-error.radio-inline label,.has-error.checkbox-inline label{color:#a94442}.has-error .form-control{border-color:#a94442;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-error .form-control:focus{border-color:#843534;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #ce8483}.has-error .input-group-addon{color:#a94442;background-color:#f2dede;border-color:#a94442}.has-error .form-control-feedback{color:#a94442}.has-feedback label~.form-control-feedback{top:25px}.has-feedback label.sr-only~.form-control-feedback{top:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#737373}@media (min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-static{display:inline-block}.form-inline .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn,.form-inline .input-group .form-control{width:auto}.form-inline .input-group>.form-control{width:100%}.form-inline .control-label{margin-bottom:0;vertical-align:middle}.form-inline .radio,.form-inline .checkbox{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.form-inline .radio label,.form-inline .checkbox label{padding-left:0}.form-inline .radio input[type="radio"],.form-inline .checkbox input[type="checkbox"]{position:relative;margin-left:0}.form-inline .has-feedback .form-control-feedback{top:0}}.form-horizontal .radio,.form-horizontal .checkbox,.form-horizontal .radio-inline,.form-horizontal .checkbox-inline{padding-top:7px;margin-top:0;margin-bottom:0}.form-horizontal .radio,.form-horizontal .checkbox{min-height:27px}.form-horizontal .form-group{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.form-horizontal .control-label{padding-top:7px;margin-bottom:0;text-align:right}}.form-horizontal .has-feedback .form-control-feedback{right:15px}@media (min-width:768px){.form-horizontal .form-group-lg .control-label{padding-top:11px;font-size:18px}}@media (min-width:768px){.form-horizontal .form-group-sm .control-label{padding-top:6px;font-size:12px}}.btn{display:inline-block;margin-bottom:0;font-weight:normal;text-align:center;white-space:nowrap;vertical-align:middle;-ms-touch-action:manipulation;touch-action:manipulation;cursor:pointer;background-image:none;border:1px solid transparent;padding:6px 12px;font-size:14px;line-height:1.42857143;border-radius:4px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.btn:focus,.btn:active:focus,.btn.active:focus,.btn.focus,.btn:active.focus,.btn.active.focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn:hover,.btn:focus,.btn.focus{color:#333;text-decoration:none}.btn:active,.btn.active{background-image:none;outline:0;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,0.125);box-shadow:inset 0 3px 5px rgba(0,0,0,0.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{cursor:not-allowed;filter:alpha(opacity=65);opacity:.65;-webkit-box-shadow:none;box-shadow:none}a.btn.disabled,fieldset[disabled] a.btn{pointer-events:none}.btn-default{color:#333;background-color:#fff;border-color:#ccc}.btn-default:focus,.btn-default.focus{color:#333;background-color:#e6e6e6;border-color:#8c8c8c}.btn-default:hover{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default:active,.btn-default.active,.open>.dropdown-toggle.btn-default{color:#333;background-color:#e6e6e6;background-image:none;border-color:#adadad}.btn-default:active:hover,.btn-default.active:hover,.open>.dropdown-toggle.btn-default:hover,.btn-default:active:focus,.btn-default.active:focus,.open>.dropdown-toggle.btn-default:focus,.btn-default:active.focus,.btn-default.active.focus,.open>.dropdown-toggle.btn-default.focus{color:#333;background-color:#d4d4d4;border-color:#8c8c8c}.btn-default.disabled:hover,.btn-default[disabled]:hover,fieldset[disabled] .btn-default:hover,.btn-default.disabled:focus,.btn-default[disabled]:focus,fieldset[disabled] .btn-default:focus,.btn-default.disabled.focus,.btn-default[disabled].focus,fieldset[disabled] .btn-default.focus{background-color:#fff;border-color:#ccc}.btn-default .badge{color:#fff;background-color:#333}.btn-primary{color:#fff;background-color:#428bca;border-color:#357ebd}.btn-primary:focus,.btn-primary.focus{color:#fff;background-color:#3071a9;border-color:#193c5a}.btn-primary:hover{color:#fff;background-color:#3071a9;border-color:#285e8e}.btn-primary:active,.btn-primary.active,.open>.dropdown-toggle.btn-primary{color:#fff;background-color:#3071a9;background-image:none;border-color:#285e8e}.btn-primary:active:hover,.btn-primary.active:hover,.open>.dropdown-toggle.btn-primary:hover,.btn-primary:active:focus,.btn-primary.active:focus,.open>.dropdown-toggle.btn-primary:focus,.btn-primary:active.focus,.btn-primary.active.focus,.open>.dropdown-toggle.btn-primary.focus{color:#fff;background-color:#285e8e;border-color:#193c5a}.btn-primary.disabled:hover,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary:hover,.btn-primary.disabled:focus,.btn-primary[disabled]:focus,fieldset[disabled] .btn-primary:focus,.btn-primary.disabled.focus,.btn-primary[disabled].focus,fieldset[disabled] .btn-primary.focus{background-color:#428bca;border-color:#357ebd}.btn-primary .badge{color:#428bca;background-color:#fff}.btn-success{color:#fff;background-color:#5cb85c;border-color:#4cae4c}.btn-success:focus,.btn-success.focus{color:#fff;background-color:#449d44;border-color:#255625}.btn-success:hover{color:#fff;background-color:#449d44;border-color:#398439}.btn-success:active,.btn-success.active,.open>.dropdown-toggle.btn-success{color:#fff;background-color:#449d44;background-image:none;border-color:#398439}.btn-success:active:hover,.btn-success.active:hover,.open>.dropdown-toggle.btn-success:hover,.btn-success:active:focus,.btn-success.active:focus,.open>.dropdown-toggle.btn-success:focus,.btn-success:active.focus,.btn-success.active.focus,.open>.dropdown-toggle.btn-success.focus{color:#fff;background-color:#398439;border-color:#255625}.btn-success.disabled:hover,.btn-success[disabled]:hover,fieldset[disabled] .btn-success:hover,.btn-success.disabled:focus,.btn-success[disabled]:focus,fieldset[disabled] .btn-success:focus,.btn-success.disabled.focus,.btn-success[disabled].focus,fieldset[disabled] .btn-success.focus{background-color:#5cb85c;border-color:#4cae4c}.btn-success .badge{color:#5cb85c;background-color:#fff}.btn-info{color:#fff;background-color:#5bc0de;border-color:#46b8da}.btn-info:focus,.btn-info.focus{color:#fff;background-color:#31b0d5;border-color:#1b6d85}.btn-info:hover{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info:active,.btn-info.active,.open>.dropdown-toggle.btn-info{color:#fff;background-color:#31b0d5;background-image:none;border-color:#269abc}.btn-info:active:hover,.btn-info.active:hover,.open>.dropdown-toggle.btn-info:hover,.btn-info:active:focus,.btn-info.active:focus,.open>.dropdown-toggle.btn-info:focus,.btn-info:active.focus,.btn-info.active.focus,.open>.dropdown-toggle.btn-info.focus{color:#fff;background-color:#269abc;border-color:#1b6d85}.btn-info.disabled:hover,.btn-info[disabled]:hover,fieldset[disabled] .btn-info:hover,.btn-info.disabled:focus,.btn-info[disabled]:focus,fieldset[disabled] .btn-info:focus,.btn-info.disabled.focus,.btn-info[disabled].focus,fieldset[disabled] .btn-info.focus{background-color:#5bc0de;border-color:#46b8da}.btn-info .badge{color:#5bc0de;background-color:#fff}.btn-warning{color:#fff;background-color:#f0ad4e;border-color:#eea236}.btn-warning:focus,.btn-warning.focus{color:#fff;background-color:#ec971f;border-color:#985f0d}.btn-warning:hover{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning:active,.btn-warning.active,.open>.dropdown-toggle.btn-warning{color:#fff;background-color:#ec971f;background-image:none;border-color:#d58512}.btn-warning:active:hover,.btn-warning.active:hover,.open>.dropdown-toggle.btn-warning:hover,.btn-warning:active:focus,.btn-warning.active:focus,.open>.dropdown-toggle.btn-warning:focus,.btn-warning:active.focus,.btn-warning.active.focus,.open>.dropdown-toggle.btn-warning.focus{color:#fff;background-color:#d58512;border-color:#985f0d}.btn-warning.disabled:hover,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning:hover,.btn-warning.disabled:focus,.btn-warning[disabled]:focus,fieldset[disabled] .btn-warning:focus,.btn-warning.disabled.focus,.btn-warning[disabled].focus,fieldset[disabled] .btn-warning.focus{background-color:#f0ad4e;border-color:#eea236}.btn-warning .badge{color:#f0ad4e;background-color:#fff}.btn-danger{color:#fff;background-color:#d9534f;border-color:#d43f3a}.btn-danger:focus,.btn-danger.focus{color:#fff;background-color:#c9302c;border-color:#761c19}.btn-danger:hover{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger:active,.btn-danger.active,.open>.dropdown-toggle.btn-danger{color:#fff;background-color:#c9302c;background-image:none;border-color:#ac2925}.btn-danger:active:hover,.btn-danger.active:hover,.open>.dropdown-toggle.btn-danger:hover,.btn-danger:active:focus,.btn-danger.active:focus,.open>.dropdown-toggle.btn-danger:focus,.btn-danger:active.focus,.btn-danger.active.focus,.open>.dropdown-toggle.btn-danger.focus{color:#fff;background-color:#ac2925;border-color:#761c19}.btn-danger.disabled:hover,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger:hover,.btn-danger.disabled:focus,.btn-danger[disabled]:focus,fieldset[disabled] .btn-danger:focus,.btn-danger.disabled.focus,.btn-danger[disabled].focus,fieldset[disabled] .btn-danger.focus{background-color:#d9534f;border-color:#d43f3a}.btn-danger .badge{color:#d9534f;background-color:#fff}.btn-link{font-weight:400;color:#428bca;border-radius:0}.btn-link,.btn-link:active,.btn-link.active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link,.btn-link:hover,.btn-link:focus,.btn-link:active{border-color:transparent}.btn-link:hover,.btn-link:focus{color:#2a6496;text-decoration:underline;background-color:transparent}.btn-link[disabled]:hover,fieldset[disabled] .btn-link:hover,.btn-link[disabled]:focus,fieldset[disabled] .btn-link:focus{color:#777;text-decoration:none}.btn-lg,.btn-group-lg>.btn{padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}.btn-sm,.btn-group-sm>.btn{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-xs,.btn-group-xs>.btn{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:5px}input[type="submit"].btn-block,input[type="reset"].btn-block,input[type="button"].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}tr.collapse.in{display:table-row}tbody.collapse.in{display:table-row-group}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition-property:height, visibility;-o-transition-property:height, visibility;transition-property:height, visibility;-webkit-transition-duration:.35s;-o-transition-duration:.35s;transition-duration:.35s;-webkit-transition-timing-function:ease;-o-transition-timing-function:ease;transition-timing-function:ease}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px dashed;border-top:4px solid \9;border-right:4px solid transparent;border-left:4px solid transparent}.dropup,.dropdown{position:relative}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;font-size:14px;text-align:left;list-style:none;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,0.175);box-shadow:0 6px 12px rgba(0,0,0,0.175)}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.42857143;color:#333;white-space:nowrap}.dropdown-menu>li>a:hover,.dropdown-menu>li>a:focus{color:#262626;text-decoration:none;background-color:#f5f5f5}.dropdown-menu>.active>a,.dropdown-menu>.active>a:hover,.dropdown-menu>.active>a:focus{color:#fff;text-decoration:none;background-color:#428bca;outline:0}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{color:#777}.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{text-decoration:none;cursor:not-allowed;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false)}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-right{right:0;left:auto}.dropdown-menu-left{right:auto;left:0}.dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.42857143;color:#777;white-space:nowrap}.dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{content:"";border-top:0;border-bottom:4px dashed;border-bottom:4px solid \9}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:2px}@media (min-width:768px){.navbar-right .dropdown-menu{right:0;left:auto}.navbar-right .dropdown-menu-left{right:auto;left:0}}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group>.btn,.btn-group-vertical>.btn{position:relative;float:left}.btn-group>.btn:hover,.btn-group-vertical>.btn:hover,.btn-group>.btn:focus,.btn-group-vertical>.btn:focus,.btn-group>.btn:active,.btn-group-vertical>.btn:active,.btn-group>.btn.active,.btn-group-vertical>.btn.active{z-index:2}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{margin-left:-5px}.btn-toolbar .btn,.btn-toolbar .btn-group,.btn-toolbar .input-group{float:left}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-bottom-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-right:8px;padding-left:8px}.btn-group>.btn-lg+.dropdown-toggle{padding-right:12px;padding-left:12px}.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,0.125);box-shadow:inset 0 3px 5px rgba(0,0,0,0.125)}.btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.btn .caret{margin-left:0}.btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0}.dropup .btn-lg .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-top-right-radius:0}.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.btn-group-justified>.btn,.btn-group-justified>.btn-group{display:table-cell;float:none;width:1%}.btn-group-justified>.btn-group .btn{width:100%}.btn-group-justified>.btn-group .dropdown-menu{left:auto}[data-toggle="buttons"]>.btn input[type="radio"],[data-toggle="buttons"]>.btn-group>.btn input[type="radio"],[data-toggle="buttons"]>.btn input[type="checkbox"],[data-toggle="buttons"]>.btn-group>.btn input[type="checkbox"]{position:absolute;clip:rect(0, 0, 0, 0);pointer-events:none}.input-group{position:relative;display:table;border-collapse:separate}.input-group[class*="col-"]{float:none;padding-right:0;padding-left:0}.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group .form-control:focus{z-index:3}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:46px;padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn{height:46px;line-height:46px}textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.input-group-lg>.input-group-btn>.btn,select[multiple].input-group-lg>.form-control,select[multiple].input-group-lg>.input-group-addon,select[multiple].input-group-lg>.input-group-btn>.btn{height:auto}.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-group-sm>.form-control,select.input-group-sm>.input-group-addon,select.input-group-sm>.input-group-btn>.btn{height:30px;line-height:30px}textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon,textarea.input-group-sm>.input-group-btn>.btn,select[multiple].input-group-sm>.form-control,select[multiple].input-group-sm>.input-group-addon,select[multiple].input-group-sm>.input-group-btn>.btn{height:auto}.input-group-addon,.input-group-btn,.input-group .form-control{display:table-cell}.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child),.input-group .form-control:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:6px 12px;font-size:14px;font-weight:400;line-height:1;color:#555;text-align:center;background-color:#eee;border:1px solid #ccc;border-radius:4px}.input-group-addon.input-sm{padding:5px 10px;font-size:12px;border-radius:3px}.input-group-addon.input-lg{padding:10px 16px;font-size:18px;border-radius:6px}.input-group-addon input[type="radio"],.input-group-addon input[type="checkbox"]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group-btn:last-child>.btn-group:not(:last-child)>.btn{border-top-right-radius:0;border-bottom-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:first-child>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{position:relative;font-size:0;white-space:nowrap}.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:hover,.input-group-btn>.btn:focus,.input-group-btn>.btn:active{z-index:2}.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{z-index:2;margin-left:-1px}.nav{padding-left:0;margin-bottom:0;list-style:none}.nav>li{position:relative;display:block}.nav>li>a{position:relative;display:block;padding:10px 15px}.nav>li>a:hover,.nav>li>a:focus{text-decoration:none;background-color:#eee}.nav>li.disabled>a{color:#777}.nav>li.disabled>a:hover,.nav>li.disabled>a:focus{color:#777;text-decoration:none;cursor:not-allowed;background-color:transparent}.nav .open>a,.nav .open>a:hover,.nav .open>a:focus{background-color:#eee;border-color:#428bca}.nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.42857143;border:1px solid transparent;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.nav-tabs>li.active>a,.nav-tabs>li.active>a:hover,.nav-tabs>li.active>a:focus{color:#555;cursor:default;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent}.nav-tabs.nav-justified{width:100%;border-bottom:0}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0}}.nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:focus{border:1px solid #ddd}@media (min-width:768px){.nav-tabs.nav-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:focus{border-bottom-color:#fff}}.nav-pills>li{float:left}.nav-pills>li>a{border-radius:4px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:hover,.nav-pills>li.active>a:focus{color:#fff;background-color:#428bca}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified{width:100%}.nav-justified>li{float:none}.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}}.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus{border:1px solid #ddd}@media (min-width:768px){.nav-tabs-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus{border-bottom-color:#fff}}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent}@media (min-width:768px){.navbar{border-radius:4px}}@media (min-width:768px){.navbar-header{float:left}}.navbar-collapse{padding-right:15px;padding-left:15px;overflow-x:visible;border-top:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1);box-shadow:inset 0 1px 0 rgba(255,255,255,0.1);-webkit-overflow-scrolling:touch}.navbar-collapse.in{overflow-y:auto}@media (min-width:768px){.navbar-collapse{width:auto;border-top:0;-webkit-box-shadow:none;box-shadow:none}.navbar-collapse.collapse{display:block !important;height:auto !important;padding-bottom:0;overflow:visible !important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{padding-right:0;padding-left:0}}.navbar-fixed-top,.navbar-fixed-bottom{position:fixed;right:0;left:0;z-index:1030}.navbar-fixed-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{max-height:340px}@media (max-device-width:480px) and (orientation:landscape){.navbar-fixed-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{max-height:200px}}@media (min-width:768px){.navbar-fixed-top,.navbar-fixed-bottom{border-radius:0}}.navbar-fixed-top{top:0;border-width:0 0 1px}.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.container>.navbar-header,.container-fluid>.navbar-header,.container>.navbar-collapse,.container-fluid>.navbar-collapse{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.container>.navbar-header,.container-fluid>.navbar-header,.container>.navbar-collapse,.container-fluid>.navbar-collapse{margin-right:0;margin-left:0}}.navbar-static-top{z-index:1000;border-width:0 0 1px}@media (min-width:768px){.navbar-static-top{border-radius:0}}.navbar-brand{float:left;height:50px;padding:15px 15px;font-size:18px;line-height:20px}.navbar-brand:hover,.navbar-brand:focus{text-decoration:none}.navbar-brand>img{display:block}@media (min-width:768px){.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-15px}}.navbar-toggle{position:relative;float:right;padding:9px 10px;margin-right:15px;margin-top:8px;margin-bottom:8px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px}.navbar-toggle:focus{outline:0}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width:768px){.navbar-toggle{display:none}}.navbar-nav{margin:7.5px -15px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}@media (max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;-webkit-box-shadow:none;box-shadow:none}.navbar-nav .open .dropdown-menu>li>a,.navbar-nav .open .dropdown-menu .dropdown-header{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:hover,.navbar-nav .open .dropdown-menu>li>a:focus{background-image:none}}@media (min-width:768px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:15px;padding-bottom:15px}}.navbar-form{padding:10px 15px;margin-right:-15px;margin-left:-15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1);box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1);margin-top:8px;margin-bottom:8px}@media (min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}.navbar-form .form-control-static{display:inline-block}.navbar-form .input-group{display:inline-table;vertical-align:middle}.navbar-form .input-group .input-group-addon,.navbar-form .input-group .input-group-btn,.navbar-form .input-group .form-control{width:auto}.navbar-form .input-group>.form-control{width:100%}.navbar-form .control-label{margin-bottom:0;vertical-align:middle}.navbar-form .radio,.navbar-form .checkbox{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.navbar-form .radio label,.navbar-form .checkbox label{padding-left:0}.navbar-form .radio input[type="radio"],.navbar-form .checkbox input[type="checkbox"]{position:relative;margin-left:0}.navbar-form .has-feedback .form-control-feedback{top:0}}@media (max-width:767px){.navbar-form .form-group{margin-bottom:5px}.navbar-form .form-group:last-child{margin-bottom:0}}@media (min-width:768px){.navbar-form{width:auto;padding-top:0;padding-bottom:0;margin-right:0;margin-left:0;border:0;-webkit-box-shadow:none;box-shadow:none}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-left-radius:0;border-top-right-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{margin-bottom:0;border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.navbar-btn{margin-top:8px;margin-bottom:8px}.navbar-btn.btn-sm{margin-top:10px;margin-bottom:10px}.navbar-btn.btn-xs{margin-top:14px;margin-bottom:14px}.navbar-text{margin-top:15px;margin-bottom:15px}@media (min-width:768px){.navbar-text{float:left;margin-right:15px;margin-left:15px}}@media (min-width:768px){.navbar-left{float:left !important}.navbar-right{float:right !important;margin-right:-15px}.navbar-right~.navbar-right{margin-right:0}}.navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.navbar-default .navbar-brand{color:#777}.navbar-default .navbar-brand:hover,.navbar-default .navbar-brand:focus{color:#5e5e5e;background-color:transparent}.navbar-default .navbar-text{color:#777}.navbar-default .navbar-nav>li>a{color:#777}.navbar-default .navbar-nav>li>a:hover,.navbar-default .navbar-nav>li>a:focus{color:#333;background-color:transparent}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:hover,.navbar-default .navbar-nav>.active>a:focus{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:hover,.navbar-default .navbar-nav>.disabled>a:focus{color:#ccc;background-color:transparent}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:hover,.navbar-default .navbar-nav>.open>a:focus{color:#555;background-color:#e7e7e7}@media (max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus{color:#333;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#ccc;background-color:transparent}}.navbar-default .navbar-toggle{border-color:#ddd}.navbar-default .navbar-toggle:hover,.navbar-default .navbar-toggle:focus{background-color:#ddd}.navbar-default .navbar-toggle .icon-bar{background-color:#888}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#e7e7e7}.navbar-default .navbar-link{color:#777}.navbar-default .navbar-link:hover{color:#333}.navbar-default .btn-link{color:#777}.navbar-default .btn-link:hover,.navbar-default .btn-link:focus{color:#333}.navbar-default .btn-link[disabled]:hover,fieldset[disabled] .navbar-default .btn-link:hover,.navbar-default .btn-link[disabled]:focus,fieldset[disabled] .navbar-default .btn-link:focus{color:#ccc}.navbar-inverse{background-color:#222;border-color:#080808}.navbar-inverse .navbar-brand{color:#777}.navbar-inverse .navbar-brand:hover,.navbar-inverse .navbar-brand:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-text{color:#777}.navbar-inverse .navbar-nav>li>a{color:#777}.navbar-inverse .navbar-nav>li>a:hover,.navbar-inverse .navbar-nav>li>a:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:hover,.navbar-inverse .navbar-nav>.active>a:focus{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:hover,.navbar-inverse .navbar-nav>.disabled>a:focus{color:#444;background-color:transparent}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:hover,.navbar-inverse .navbar-nav>.open>a:focus{color:#fff;background-color:#080808}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#444;background-color:transparent}}.navbar-inverse .navbar-toggle{border-color:#333}.navbar-inverse .navbar-toggle:hover,.navbar-inverse .navbar-toggle:focus{background-color:#333}.navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#101010}.navbar-inverse .navbar-link{color:#777}.navbar-inverse .navbar-link:hover{color:#fff}.navbar-inverse .btn-link{color:#777}.navbar-inverse .btn-link:hover,.navbar-inverse .btn-link:focus{color:#fff}.navbar-inverse .btn-link[disabled]:hover,fieldset[disabled] .navbar-inverse .btn-link:hover,.navbar-inverse .btn-link[disabled]:focus,fieldset[disabled] .navbar-inverse .btn-link:focus{color:#444}.breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;background-color:#f5f5f5;border-radius:4px}.breadcrumb>li{display:inline-block}.breadcrumb>li+li:before{padding:0 5px;color:#ccc;content:"/\00a0"}.breadcrumb>.active{color:#777}.pagination{display:inline-block;padding-left:0;margin:20px 0;border-radius:4px}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:6px 12px;margin-left:-1px;line-height:1.42857143;color:#428bca;text-decoration:none;background-color:#fff;border:1px solid #ddd}.pagination>li>a:hover,.pagination>li>span:hover,.pagination>li>a:focus,.pagination>li>span:focus{z-index:2;color:#2a6496;background-color:#eee;border-color:#ddd}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-top-left-radius:4px;border-bottom-left-radius:4px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-top-right-radius:4px;border-bottom-right-radius:4px}.pagination>.active>a,.pagination>.active>span,.pagination>.active>a:hover,.pagination>.active>span:hover,.pagination>.active>a:focus,.pagination>.active>span:focus{z-index:3;color:#fff;cursor:default;background-color:#428bca;border-color:#428bca}.pagination>.disabled>span,.pagination>.disabled>span:hover,.pagination>.disabled>span:focus,.pagination>.disabled>a,.pagination>.disabled>a:hover,.pagination>.disabled>a:focus{color:#777;cursor:not-allowed;background-color:#fff;border-color:#ddd}.pagination-lg>li>a,.pagination-lg>li>span{padding:10px 16px;font-size:18px;line-height:1.33}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-top-left-radius:6px;border-bottom-left-radius:6px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-top-right-radius:6px;border-bottom-right-radius:6px}.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:12px;line-height:1.5}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-top-left-radius:3px;border-bottom-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-top-right-radius:3px;border-bottom-right-radius:3px}.label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}a.label:hover,a.label:focus{color:#fff;text-decoration:none;cursor:pointer}.label:empty{display:none}.btn .label{position:relative;top:-1px}.label-default{background-color:#777}.label-default[href]:hover,.label-default[href]:focus{background-color:#5e5e5e}.label-primary{background-color:#428bca}.label-primary[href]:hover,.label-primary[href]:focus{background-color:#3071a9}.label-success{background-color:#5cb85c}.label-success[href]:hover,.label-success[href]:focus{background-color:#449d44}.label-info{background-color:#5bc0de}.label-info[href]:hover,.label-info[href]:focus{background-color:#31b0d5}.label-warning{background-color:#f0ad4e}.label-warning[href]:hover,.label-warning[href]:focus{background-color:#ec971f}.label-danger{background-color:#d9534f}.label-danger[href]:hover,.label-danger[href]:focus{background-color:#c9302c}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:bold;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:middle;background-color:#777;border-radius:10px}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.btn-xs .badge,.btn-group-xs>.btn .badge{top:0;padding:1px 5px}a.badge:hover,a.badge:focus{color:#fff;text-decoration:none;cursor:pointer}.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#428bca;background-color:#fff}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}.nav-pills>li>a>.badge{margin-left:3px}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{height:20px;margin-bottom:20px;overflow:hidden;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1);box-shadow:inset 0 1px 2px rgba(0,0,0,0.1)}.progress-bar{float:left;width:0%;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;background-color:#428bca;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);-webkit-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease}.progress-striped .progress-bar,.progress-bar-striped{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);-webkit-background-size:40px 40px;background-size:40px 40px}.progress.active .progress-bar,.progress-bar.active{-webkit-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#5cb85c}.progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}.progress-bar-info{background-color:#5bc0de}.progress-striped .progress-bar-info{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}.progress-bar-warning{background-color:#f0ad4e}.progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}.progress-bar-danger{background-color:#d9534f}.progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}.list-group{padding-left:0;margin-bottom:20px}.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}.list-group-item:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.list-group-item.disabled,.list-group-item.disabled:hover,.list-group-item.disabled:focus{color:#777;cursor:not-allowed;background-color:#eee}.list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text{color:#777}.list-group-item.active,.list-group-item.active:hover,.list-group-item.active:focus{z-index:2;color:#fff;background-color:#428bca;border-color:#428bca}.list-group-item.active .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active .list-group-item-heading>small,.list-group-item.active:hover .list-group-item-heading>small,.list-group-item.active:focus .list-group-item-heading>small,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active:hover .list-group-item-heading>.small,.list-group-item.active:focus .list-group-item-heading>.small{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:hover .list-group-item-text,.list-group-item.active:focus .list-group-item-text{color:#e1edf7}a.list-group-item,button.list-group-item{color:#555}a.list-group-item .list-group-item-heading,button.list-group-item .list-group-item-heading{color:#333}a.list-group-item:hover,button.list-group-item:hover,a.list-group-item:focus,button.list-group-item:focus{color:#555;text-decoration:none;background-color:#f5f5f5}button.list-group-item{width:100%;text-align:left}.list-group-item-success{color:#3c763d;background-color:#dff0d8}a.list-group-item-success,button.list-group-item-success{color:#3c763d}a.list-group-item-success .list-group-item-heading,button.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:hover,button.list-group-item-success:hover,a.list-group-item-success:focus,button.list-group-item-success:focus{color:#3c763d;background-color:#d0e9c6}a.list-group-item-success.active,button.list-group-item-success.active,a.list-group-item-success.active:hover,button.list-group-item-success.active:hover,a.list-group-item-success.active:focus,button.list-group-item-success.active:focus{color:#fff;background-color:#3c763d;border-color:#3c763d}.list-group-item-info{color:#31708f;background-color:#d9edf7}a.list-group-item-info,button.list-group-item-info{color:#31708f}a.list-group-item-info .list-group-item-heading,button.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:hover,button.list-group-item-info:hover,a.list-group-item-info:focus,button.list-group-item-info:focus{color:#31708f;background-color:#c4e3f3}a.list-group-item-info.active,button.list-group-item-info.active,a.list-group-item-info.active:hover,button.list-group-item-info.active:hover,a.list-group-item-info.active:focus,button.list-group-item-info.active:focus{color:#fff;background-color:#31708f;border-color:#31708f}.list-group-item-warning{color:#8a6d3b;background-color:#fcf8e3}a.list-group-item-warning,button.list-group-item-warning{color:#8a6d3b}a.list-group-item-warning .list-group-item-heading,button.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:hover,button.list-group-item-warning:hover,a.list-group-item-warning:focus,button.list-group-item-warning:focus{color:#8a6d3b;background-color:#faf2cc}a.list-group-item-warning.active,button.list-group-item-warning.active,a.list-group-item-warning.active:hover,button.list-group-item-warning.active:hover,a.list-group-item-warning.active:focus,button.list-group-item-warning.active:focus{color:#fff;background-color:#8a6d3b;border-color:#8a6d3b}.list-group-item-danger{color:#a94442;background-color:#f2dede}a.list-group-item-danger,button.list-group-item-danger{color:#a94442}a.list-group-item-danger .list-group-item-heading,button.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:hover,button.list-group-item-danger:hover,a.list-group-item-danger:focus,button.list-group-item-danger:focus{color:#a94442;background-color:#ebcccc}a.list-group-item-danger.active,button.list-group-item-danger.active,a.list-group-item-danger.active:hover,button.list-group-item-danger.active:hover,a.list-group-item-danger.active:focus,button.list-group-item-danger.active:focus{color:#fff;background-color:#a94442;border-color:#a94442}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:20px;background-color:#fff;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,0.05);box-shadow:0 1px 1px rgba(0,0,0,0.05)}.panel-body{padding:15px}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-left-radius:3px;border-top-right-radius:3px}.panel-heading>.dropdown .dropdown-toggle{color:inherit}.panel-title{margin-top:0;margin-bottom:0;font-size:16px;color:inherit}.panel-title>a,.panel-title>small,.panel-title>.small,.panel-title>small>a,.panel-title>.small>a{color:inherit}.panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.list-group,.panel>.panel-collapse>.list-group{margin-bottom:0}.panel>.list-group .list-group-item,.panel>.panel-collapse>.list-group .list-group-item{border-width:1px 0;border-radius:0}.panel>.list-group:first-child .list-group-item:first-child,.panel>.panel-collapse>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-left-radius:3px;border-top-right-radius:3px}.panel>.list-group:last-child .list-group-item:last-child,.panel>.panel-collapse>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.panel-heading+.panel-collapse>.list-group .list-group-item:first-child{border-top-left-radius:0;border-top-right-radius:0}.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.list-group+.panel-footer{border-top-width:0}.panel>.table,.panel>.table-responsive>.table,.panel>.panel-collapse>.table{margin-bottom:0}.panel>.table caption,.panel>.table-responsive>.table caption,.panel>.panel-collapse>.table caption{padding-right:15px;padding-left:15px}.panel>.table:first-child,.panel>.table-responsive:first-child>.table:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child{border-top-left-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child{border-top-right-radius:3px}.panel>.table:last-child,.panel>.table-responsive:last-child>.table:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:3px}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive,.panel>.table+.panel-body,.panel>.table-responsive+.panel-body{border-top:1px solid #ddd}.panel>.table>tbody:first-child>tr:first-child th,.panel>.table>tbody:first-child>tr:first-child td{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th{border-bottom:0}.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}.panel>.table-responsive{margin-bottom:0;border:0}.panel-group{margin-bottom:20px}.panel-group .panel{margin-bottom:0;border-radius:4px}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading{border-bottom:0}.panel-group .panel-heading+.panel-collapse>.panel-body,.panel-group .panel-heading+.panel-collapse>.list-group{border-top:1px solid #ddd}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}.panel-default{border-color:#ddd}.panel-default>.panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}.panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ddd}.panel-default>.panel-heading .badge{color:#f5f5f5;background-color:#333}.panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ddd}.panel-primary{border-color:#428bca}.panel-primary>.panel-heading{color:#fff;background-color:#428bca;border-color:#428bca}.panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#428bca}.panel-primary>.panel-heading .badge{color:#428bca;background-color:#fff}.panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#428bca}.panel-success{border-color:#d6e9c6}.panel-success>.panel-heading{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:#d6e9c6}.panel-success>.panel-heading .badge{color:#dff0d8;background-color:#3c763d}.panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#d6e9c6}.panel-info{border-color:#bce8f1}.panel-info>.panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:#bce8f1}.panel-info>.panel-heading .badge{color:#d9edf7;background-color:#31708f}.panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#bce8f1}.panel-warning{border-color:#faebcc}.panel-warning>.panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:#faebcc}.panel-warning>.panel-heading .badge{color:#fcf8e3;background-color:#8a6d3b}.panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#faebcc}.panel-danger{border-color:#ebccd1}.panel-danger>.panel-heading{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ebccd1}.panel-danger>.panel-heading .badge{color:#f2dede;background-color:#a94442}.panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ebccd1}.clearfix:before,.clearfix:after,.dl-horizontal dd:before,.dl-horizontal dd:after,.container:before,.container:after,.container-fluid:before,.container-fluid:after,.row:before,.row:after,.form-horizontal .form-group:before,.form-horizontal .form-group:after,.btn-toolbar:before,.btn-toolbar:after,.btn-group-vertical>.btn-group:before,.btn-group-vertical>.btn-group:after,.nav:before,.nav:after,.navbar:before,.navbar:after,.navbar-header:before,.navbar-header:after,.navbar-collapse:before,.navbar-collapse:after,.panel-body:before,.panel-body:after{display:table;content:" "}.clearfix:after,.dl-horizontal dd:after,.container:after,.container-fluid:after,.row:after,.form-horizontal .form-group:after,.btn-toolbar:after,.btn-group-vertical>.btn-group:after,.nav:after,.navbar:after,.navbar-header:after,.navbar-collapse:after,.panel-body:after{clear:both}.center-block{display:block;margin-right:auto;margin-left:auto}.pull-right{float:right !important}.pull-left{float:left !important}.hide{display:none !important}.show{display:block !important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.hidden{display:none !important}.affix{position:fixed}@-ms-viewport{width:device-width}.visible-xs,.visible-sm,.visible-md,.visible-lg{display:none !important}.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block{display:none !important}@media (max-width:767px){.visible-xs{display:block !important}table.visible-xs{display:table !important}tr.visible-xs{display:table-row !important}th.visible-xs,td.visible-xs{display:table-cell !important}}@media (max-width:767px){.visible-xs-block{display:block !important}}@media (max-width:767px){.visible-xs-inline{display:inline !important}}@media (max-width:767px){.visible-xs-inline-block{display:inline-block !important}}@media (min-width:768px) and (max-width:991px){.visible-sm{display:block !important}table.visible-sm{display:table !important}tr.visible-sm{display:table-row !important}th.visible-sm,td.visible-sm{display:table-cell !important}}@media (min-width:768px) and (max-width:991px){.visible-sm-block{display:block !important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline{display:inline !important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline-block{display:inline-block !important}}@media (min-width:992px) and (max-width:1199px){.visible-md{display:block !important}table.visible-md{display:table !important}tr.visible-md{display:table-row !important}th.visible-md,td.visible-md{display:table-cell !important}}@media (min-width:992px) and (max-width:1199px){.visible-md-block{display:block !important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline{display:inline !important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline-block{display:inline-block !important}}@media (min-width:1200px){.visible-lg{display:block !important}table.visible-lg{display:table !important}tr.visible-lg{display:table-row !important}th.visible-lg,td.visible-lg{display:table-cell !important}}@media (min-width:1200px){.visible-lg-block{display:block !important}}@media (min-width:1200px){.visible-lg-inline{display:inline !important}}@media (min-width:1200px){.visible-lg-inline-block{display:inline-block !important}}@media (max-width:767px){.hidden-xs{display:none !important}}@media (min-width:768px) and (max-width:991px){.hidden-sm{display:none !important}}@media (min-width:992px) and (max-width:1199px){.hidden-md{display:none !important}}@media (min-width:1200px){.hidden-lg{display:none !important}}.visible-print{display:none !important}@media print{.visible-print{display:block !important}table.visible-print{display:table !important}tr.visible-print{display:table-row !important}th.visible-print,td.visible-print{display:table-cell !important}}.visible-print-block{display:none !important}@media print{.visible-print-block{display:block !important}}.visible-print-inline{display:none !important}@media print{.visible-print-inline{display:inline !important}}.visible-print-inline-block{display:none !important}@media print{.visible-print-inline-block{display:inline-block !important}}@media print{.hidden-print{display:none !important}} \ No newline at end of file
diff --git a/docs/css/doctum.css b/docs/css/doctum.css
new file mode 100644
index 00000000..77796f87
--- /dev/null
+++ b/docs/css/doctum.css
@@ -0,0 +1,508 @@
+html,
+body,
+#content {
+ height: 100%;
+}
+
+/* Site menu */
+
+#site-nav.navbar-default {
+ margin: 0;
+ border-radius: 0;
+ border-bottom: 1px solid #ccc;
+ background-color: #edf3fe;
+ background-image: none;
+}
+
+#site-nav.navbar-default .navbar-brand,
+#site-nav.navbar-default .navbar-nav > li > a {
+ color: #000;
+}
+
+#site-nav.navbar-default .navbar-nav > li > a:hover {
+ text-decoration: underline;
+}
+
+#navbar-elements {
+ float: right;
+}
+
+@media (max-width: 768px) {
+ #navbar-elements {
+ float: none !important;
+ }
+}
+
+/* Namespace breadcrumbs */
+
+.namespace-breadcrumbs .breadcrumb {
+ margin: 0 0 12px;
+ border-radius: 0 0 4px 4px;
+ padding-left: 35px;
+}
+
+.namespace-breadcrumbs .breadcrumb > li + li:before {
+ content: "";
+}
+.namespace-breadcrumbs .breadcrumb > .backslash {
+ color: #ccc;
+}
+
+/* Site columns */
+
+#right-column {
+ margin-left: 20%;
+}
+
+#page-content {
+ padding: 0 30px;
+}
+
+#left-column {
+ width: 20%;
+ position: fixed;
+ height: 100%;
+ border-right: 1px solid #ccc;
+ line-height: 18px;
+ font-size: 13px;
+ display: flex;
+ flex-flow: column;
+}
+
+@media (max-width: 991px) {
+ #left-column {
+ display: none;
+ }
+ #right-column {
+ width: 100%;
+ margin-left: 0;
+ }
+}
+
+/* API Tree */
+
+#api-tree {
+ background: linear-gradient(to bottom, #fff, #fff 50%, #edf3fe 50%, #edf3fe);
+ background-size: 100% 56px;
+ overflow: auto;
+ height: 100%;
+ background-attachment: local;
+}
+
+#api-tree ul {
+ list-style-type: none;
+ margin: 0;
+ padding: 0;
+}
+
+#api-tree ul li {
+ padding: 0;
+ margin: 0;
+}
+
+/* Prevents the menu from jittering on lad */
+#api-tree .icon-play {
+ width: 26px;
+}
+
+#api-tree ul li .hd {
+ padding: 5px;
+}
+
+#api-tree li .hd:nth-child(even) {
+ background-color: #edf3fe;
+}
+
+#api-tree ul li.opened > .hd span {
+ -webkit-transform: rotate(90deg);
+ -moz-transform: rotate(90deg);
+ -o-transform: rotate(90deg);
+ -ms-transform: rotate(90deg);
+ transform: rotate(90deg);
+}
+
+#api-tree .bd {
+ display: none;
+}
+
+#api-tree li.opened > .bd {
+ display: block;
+}
+
+#api-tree li .hd:hover {
+ background-color: #eee;
+}
+
+#api-tree li.active > .hd {
+ background-color: #3875d7;
+}
+
+#api-tree li.active > .hd a {
+ color: #eee;
+ font-weight: bold;
+}
+
+#api-tree a {
+ color: #222;
+}
+
+#api-tree div.leaf a {
+ margin-left: 20px;
+}
+
+#api-tree .hd span {
+ padding: 0px 8px;
+ font-size: 15px;
+ line-height: 85%;
+}
+
+/* Control panel, search form, version drop-down */
+
+#control-panel {
+ background: #e8e8e8;
+ border-bottom: 1px solid #666;
+ padding: 4px;
+}
+
+#control-panel form, #control-panel > .search-bar {
+ margin: 4px 4px 5px 4px;
+}
+
+#control-panel > .search-bar > .progress {
+ height: 5px;
+ margin-bottom: 0px;
+}
+
+#control-panel > .search-bar > .progress > .progress-bar {
+ background: #30a0e0;
+}
+
+/* Source: https://stackoverflow.com/a/38229228/5155484 */
+
+.progress-bar.indeterminate {
+ position: relative;
+ animation: progress-indeterminate 3s linear infinite;
+}
+
+@keyframes progress-indeterminate {
+ from { left: -25%; width: 25%; }
+ to { left: 100%; width: 25%;}
+}
+
+#search-form {
+ position: relative;
+}
+
+#search-form input {
+ width: 100%;
+ padding-left: 28px;
+}
+
+#search-form span.icon-search {
+ position: absolute;
+ left: 5px;
+ top: 8px;
+ font-size: 20px;
+ z-index: 2;
+}
+
+/** Typeahead */
+
+.auto-complete-results {
+ width: 100%;
+ z-index: 1;
+}
+
+.auto-complete-dropdown-menu {
+ overflow: auto;
+ max-height: 260px;
+ margin-top: 9px;
+ background-color: #fff;
+ border: 1px solid #ccc;
+ border-radius: 8px;
+ box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
+ padding: 8px;
+}
+
+.auto-complete-result {
+ padding: 8px;
+ border-bottom: 1px solid #ccc;
+ font-size: 1.1em;
+}
+
+.auto-complete-selected, .auto-complete-result:hover {
+ background-color: #3875d7;
+ color: #fff;
+}
+
+.auto-complete-selected > mark.auto-complete-highlight, .auto-complete-result:hover > mark.auto-complete-highlight {
+ color: #fff;
+}
+
+.auto-complete-highlight {
+ padding: 0px;
+ font-weight: bold;
+ background-color: transparent;
+}
+
+/** General typography **/
+
+.navbar {
+ border-bottom: 0;
+}
+
+.page-header {
+ margin: 0 0 20px;
+}
+
+abbr[title],
+abbr[data-original-title],
+abbr {
+ border-bottom: none;
+ cursor: pointer;
+}
+
+a abbr {
+ cursor: pointer;
+}
+
+.method-description table,
+.description table {
+ border: solid 1px #ccc;
+ padding: 1em;
+ margin: 1em;
+}
+
+.method-description td,
+.method-description th,
+.description td,
+.description th {
+ padding: 0.75em 1.25em;
+}
+
+.method-description tbody tr:nth-child(even),
+.description tbody tr:nth-child(even) {
+ background: #edf3fe;
+}
+
+.method-description tbody tr:nth-child(odd),
+.description tbody tr:nth-child(odd) {
+ background: #fff;
+}
+
+.method-description thead tr,
+.description thead tr {
+ background: #edf3fe;
+}
+
+/** General Doctum styling **/
+
+.underlined > .row {
+ padding: 8px 0;
+ border-bottom: 1px solid #ddd;
+}
+
+#footer {
+ text-align: right;
+ margin: 30px;
+ font-size: 11px;
+}
+
+.description {
+ margin: 10px 0;
+ padding: 10px;
+ background-color: #efefef;
+}
+
+.description p {
+ padding: 0;
+ margin: 8px 0;
+}
+
+.method-description {
+ margin: 0 0 24px 0;
+}
+
+.details {
+ padding-left: 30px;
+}
+
+#method-details .method-item {
+ margin-bottom: 30px;
+}
+
+.method-item h3,
+.method-item h3 code {
+ background-color: #eee;
+}
+
+.method-item h3 {
+ padding: 4px;
+ margin-bottom: 20px;
+ font-size: 20px;
+}
+
+.location {
+ font-size: 11px;
+ float: right;
+ font-style: italic;
+}
+
+.namespace-list a {
+ padding: 3px 8px;
+ margin: 0 5px 5px 0;
+ border: 1px solid #ddd;
+ background-color: #f9f9f9;
+ display: inline-block;
+ border-radius: 4px;
+}
+
+.no-description {
+ color: #ccc;
+ font-size: 90%;
+}
+
+.type {
+ overflow-wrap: break-word;
+}
+
+/* Namespaces page */
+
+.namespaces {
+ clear: both;
+}
+
+.namespaces .namespace-container {
+ float: left;
+ margin: 0 14px 14px 0;
+ min-width: 30%;
+}
+
+.namespaces h2 {
+ margin: 0 0 20px 0;
+}
+
+.namespace-container > h2 {
+ background-color: #edf3fe;
+ padding: 4px 4px 4px 8px;
+ font-size: 25px;
+ margin: 20px 0;
+}
+
+@media (max-width: 991px) {
+ .namespaces .namespace-container {
+ margin-right: 0;
+ width: 100%;
+ }
+}
+
+/** Code and pre tags **/
+
+tt,
+code,
+pre {
+ font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace;
+}
+
+code {
+ padding: 0;
+ padding-top: 0.2em;
+ padding-bottom: 0.2em;
+ margin: 0;
+ font-size: 85%;
+ background-color: rgba(0, 0, 0, 0.04);
+ border-radius: 3px;
+ color: #333;
+}
+
+pre {
+ padding: 16px;
+ overflow: auto;
+ font-size: 85%;
+ line-height: 1.45;
+ background-color: #f7f7f7;
+ border-radius: 3px;
+}
+
+pre.examples {
+ padding: 1rem;
+}
+
+#page-content > h2 {
+ background-color: #edf3fe;
+ padding: 4px 4px 4px 8px;
+ font-size: 25px;
+ margin: 20px 0;
+}
+
+
+/** Doc index **/
+
+dt {
+ font-weight: normal;
+}
+
+dd {
+ margin-left: 30px;
+ line-height: 1.5em;
+}
+
+#doc-index h2 {
+ font-weight: bold;
+ margin: 30px 0;
+}
+
+#doc-index .pagination {
+ margin: 0;
+}
+
+/* Search page */
+
+.search-results {
+ list-style-type: none;
+ padding: 0;
+ margin: 0;
+}
+
+.search-results li {
+ list-style-type: none;
+ margin: 0;
+ padding: 14px 0;
+ border-bottom: 1px solid #ccc;
+}
+
+.search-results > li > h2 {
+ background: none;
+ margin: 0;
+ padding: 0;
+ font-size: 18px;
+}
+
+.search-results > li > h2 > a {
+ float: left;
+ display: block;
+ margin: 0 0 4px 0;
+}
+
+.search-results .search-type {
+ float: right;
+ margin: 0 0 4px 0;
+}
+
+.search-results .search-from {
+ margin: 0 0 12px 0;
+ font-size: 12px;
+ color: #999;
+}
+
+.search-results .search-from a {
+ font-style: italic;
+}
+
+.search-results .search-description {
+ margin: 8px 0 0 30px;
+}
+
+.search-description {
+ white-space: pre;
+}
diff --git a/docs/doc-index.html b/docs/doc-index.html
new file mode 100644
index 00000000..e9d88992
--- /dev/null
+++ b/docs/doc-index.html
@@ -0,0 +1,1187 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+ <meta charset="UTF-8" />
+ <meta name="robots" content="index, follow, all" />
+ <title>Index | PhpRedis API</title>
+
+ <link rel="stylesheet" type="text/css" href="css/bootstrap.min.css">
+ <link rel="stylesheet" type="text/css" href="css/bootstrap-theme.min.css">
+ <link rel="stylesheet" type="text/css" href="css/doctum.css">
+ <link rel="stylesheet" type="text/css" href="fonts/doctum-font.css">
+ <script src="js/jquery-3.5.1.slim.min.js"></script>
+ <script async defer src="doctum.js"></script>
+ <script async defer src="js/bootstrap.min.js"></script>
+ <script async defer src="js/autocomplete.min.js"></script>
+ <meta name="MobileOptimized" content="width">
+ <meta name="HandheldFriendly" content="true">
+ <meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1">
+
+ <link rel="search"
+ type="application/opensearchdescription+xml"
+ href="https://phpredis.github.io/opensearch.xml"
+ title="PhpRedis API (develop)" />
+ </head>
+
+ <body id="doc-index" data-name="" data-root-path="" data-search-index-url="doctum-search.json">
+ <div id="content">
+ <div id="left-column">
+ <div id="control-panel">
+ <div class="search-bar hidden" id="search-progress-bar-container">
+ <div class="progress">
+ <div class="progress-bar" role="progressbar" id="search-progress-bar"
+ aria-valuenow="0" aria-valuemin="0" aria-valuemax="100" style="width: 0%"></div>
+ </div>
+ </div>
+ <form id="search-form" action="search.html">
+ <span class="icon icon-search"></span>
+ <input name="search"
+ id="doctum-search-auto-complete"
+ class="typeahead form-control"
+ type="search"
+ placeholder="Search"
+ spellcheck="false"
+ autocorrect="off"
+ autocomplete="off"
+ autocapitalize="off">
+ <div class="auto-complete-results" id="auto-complete-results"></div>
+ </form>
+ </div>
+
+ <div id="api-tree"></div>
+
+ </div>
+ <div id="right-column">
+ <nav id="site-nav" class="navbar navbar-default" role="navigation">
+ <div class="container-fluid">
+ <div class="navbar-header">
+ <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#navbar-elements">
+ <span class="sr-only">Toggle navigation</span>
+ <span class="icon-bar"></span>
+ <span class="icon-bar"></span>
+ <span class="icon-bar"></span>
+ </button>
+ <a class="navbar-brand" href="index.html">PhpRedis API</a>
+ </div>
+ <div class="collapse navbar-collapse" id="navbar-elements">
+ <ul class="nav navbar-nav">
+ <li><a href="classes.html">Classes</a></li>
+ <li><a href="interfaces.html">Interfaces</a></li>
+ <li><a href="traits.html">Traits</a></li>
+ <li><a href="doc-index.html">Index</a></li>
+ <li><a href="search.html">Search</a></li>
+ </ul>
+ </div>
+ </div>
+ </nav>
+
+ <div id="page-content">
+ <div class="page-header">
+ <h1>Index</h1>
+ </div>
+
+ <ul class="pagination">
+ <li><a href="#letterA">A</a></li>
+ <li><a href="#letterB">B</a></li>
+ <li><a href="#letterC">C</a></li>
+ <li><a href="#letterD">D</a></li>
+ <li><a href="#letterE">E</a></li>
+ <li><a href="#letterF">F</a></li>
+ <li><a href="#letterG">G</a></li>
+ <li><a href="#letterH">H</a></li>
+ <li><a href="#letterI">I</a></li>
+ <li class="disabled"><a href="#letterJ">J</a></li>
+ <li><a href="#letterK">K</a></li>
+ <li><a href="#letterL">L</a></li>
+ <li><a href="#letterM">M</a></li>
+ <li class="disabled"><a href="#letterN">N</a></li>
+ <li><a href="#letterO">O</a></li>
+ <li><a href="#letterP">P</a></li>
+ <li class="disabled"><a href="#letterQ">Q</a></li>
+ <li><a href="#letterR">R</a></li>
+ <li><a href="#letterS">S</a></li>
+ <li><a href="#letterT">T</a></li>
+ <li><a href="#letterU">U</a></li>
+ <li class="disabled"><a href="#letterV">V</a></li>
+ <li><a href="#letterW">W</a></li>
+ <li><a href="#letterX">X</a></li>
+ <li class="disabled"><a href="#letterY">Y</a></li>
+ <li><a href="#letterZ">Z</a></li>
+ </ul>
+
+ <h2 id="letterA">A</h2>
+ <dl id="indexA"><dt><a href="Redis.html#method_acl">
+Redis::acl</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd></dd><dt><a href="Redis.html#method_append">
+Redis::append</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>Append data to a Redis STRING key.</p></dd><dt><a href="Redis.html#method_auth">
+Redis::auth</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>Authenticate a Redis connection after its been established.</p></dd><dt><a href="RedisCluster.html#method_acl">
+RedisCluster::acl</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_append">
+RedisCluster::append</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd> </dl><h2 id="letterB">B</h2>
+ <dl id="indexB"><dt><a href="Redis.html#method_bgSave">
+Redis::bgSave</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>Execute a save of the Redis database in the background.</p></dd><dt><a href="Redis.html#method_bgrewriteaof">
+Redis::bgrewriteaof</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>Asynchronously rewrite Redis' append-only file</p></dd><dt><a href="Redis.html#method_bitcount">
+Redis::bitcount</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>Count the number of set bits in a Redis string.</p></dd><dt><a href="Redis.html#method_bitop">
+Redis::bitop</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd></dd><dt><a href="Redis.html#method_bitpos">
+Redis::bitpos</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>Return the position of the first bit set to 0 or 1 in a string.</p></dd><dt><a href="Redis.html#method_blPop">
+Redis::blPop</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>Pop an element off the beginning of a Redis list or lists, potentially blocking up to a specified
+timeout. This method may be called in two distinct ways, of which examples are provided below.</p></dd><dt><a href="Redis.html#method_brPop">
+Redis::brPop</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>Pop an element off of the end of a Redis list or lists, potentially blocking up to a specified timeout.</p></dd><dt><a href="Redis.html#method_brpoplpush">
+Redis::brpoplpush</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>Pop an element from the end of a Redis list, pushing it to the beginning of another Redis list,
+optionally blocking up to a specified timeout.</p></dd><dt><a href="Redis.html#method_bzPopMax">
+Redis::bzPopMax</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>POP the maximum scoring element off of one or more sorted sets, blocking up to a specified
+timeout if no elements are available.</p></dd><dt><a href="Redis.html#method_bzPopMin">
+Redis::bzPopMin</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>POP the minimum scoring element off of one or more sorted sets, blocking up to a specified timeout
+if no elements are available</p></dd><dt><a href="Redis.html#method_bzmpop">
+Redis::bzmpop</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>POP one or more elements from one or more sorted sets, blocking up to a specified amount of time
+when no elements are available.</p></dd><dt><a href="Redis.html#method_blmpop">
+Redis::blmpop</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>Pop one or more elements from one or more Redis LISTs, blocking up to a specified timeout when
+no elements are available.</p></dd><dt><a href="RedisArray.html#method_bgsave">
+RedisArray::bgsave</a>() &mdash; <em>Method in class <a href="RedisArray.html">RedisArray</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_bgrewriteaof">
+RedisCluster::bgrewriteaof</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_bgsave">
+RedisCluster::bgsave</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_bitcount">
+RedisCluster::bitcount</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_bitop">
+RedisCluster::bitop</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_bitpos">
+RedisCluster::bitpos</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd><p>Return the position of the first bit set to 0 or 1 in a string.</p></dd><dt><a href="RedisCluster.html#method_blpop">
+RedisCluster::blpop</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd><p>See Redis::blpop()</p></dd><dt><a href="RedisCluster.html#method_brpop">
+RedisCluster::brpop</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd><p>See Redis::brpop()</p></dd><dt><a href="RedisCluster.html#method_brpoplpush">
+RedisCluster::brpoplpush</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd><p>See Redis::brpoplpush()</p></dd><dt><a href="RedisCluster.html#method_bzpopmax">
+RedisCluster::bzpopmax</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_bzpopmin">
+RedisCluster::bzpopmin</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_bzmpop">
+RedisCluster::bzmpop</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_blmpop">
+RedisCluster::blmpop</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd> </dl><h2 id="letterC">C</h2>
+ <dl id="indexC"><dt><a href="Redis.html#method_clearLastError">
+Redis::clearLastError</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>Reset any last error on the connection to NULL</p></dd><dt><a href="Redis.html#method_client">
+Redis::client</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd></dd><dt><a href="Redis.html#method_close">
+Redis::close</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd></dd><dt><a href="Redis.html#method_command">
+Redis::command</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd></dd><dt><a href="Redis.html#method_config">
+Redis::config</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>Execute the Redis CONFIG command in a variety of ways. What the command does in particular depends
+on the <code>$operation</code> qualifier.</p></dd><dt><a href="Redis.html#method_connect">
+Redis::connect</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd></dd><dt><a href="Redis.html#method_copy">
+Redis::copy</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>Make a copy of a redis key.</p></dd><dt><a href="RedisCluster.html#method_clearlasterror">
+RedisCluster::clearlasterror</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_client">
+RedisCluster::client</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_close">
+RedisCluster::close</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_cluster">
+RedisCluster::cluster</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_command">
+RedisCluster::command</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_config">
+RedisCluster::config</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisSentinel.html#method_ckquorum">
+RedisSentinel::ckquorum</a>() &mdash; <em>Method in class <a href="RedisSentinel.html">RedisSentinel</a></em></dt>
+ <dd></dd> </dl><h2 id="letterD">D</h2>
+ <dl id="indexD"><dt><a href="Redis.html#method_dbSize">
+Redis::dbSize</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>Return the number of keys in the currently selected Redis database.</p></dd><dt><a href="Redis.html#method_debug">
+Redis::debug</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd></dd><dt><a href="Redis.html#method_decr">
+Redis::decr</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>Decrement a Redis integer by 1 or a provided value.</p></dd><dt><a href="Redis.html#method_decrBy">
+Redis::decrBy</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>Decrement a redis integer by a value</p></dd><dt><a href="Redis.html#method_del">
+Redis::del</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>Delete one or more keys from Redis.</p></dd><dt><a href="Redis.html#method_delete">
+Redis::delete</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd></dd><dt><a href="Redis.html#method_discard">
+Redis::discard</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>Discard a transaction currently in progress.</p></dd><dt><a href="Redis.html#method_dump">
+Redis::dump</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>Dump Redis' internal binary representation of a key.</p></dd><dt><a href="RedisArray.html#method_del">
+RedisArray::del</a>() &mdash; <em>Method in class <a href="RedisArray.html">RedisArray</a></em></dt>
+ <dd></dd><dt><a href="RedisArray.html#method_discard">
+RedisArray::discard</a>() &mdash; <em>Method in class <a href="RedisArray.html">RedisArray</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_dbsize">
+RedisCluster::dbsize</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_decr">
+RedisCluster::decr</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_decrby">
+RedisCluster::decrby</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_decrbyfloat">
+RedisCluster::decrbyfloat</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_del">
+RedisCluster::del</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_discard">
+RedisCluster::discard</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_dump">
+RedisCluster::dump</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd> </dl><h2 id="letterE">E</h2>
+ <dl id="indexE"><dt><a href="Redis.html#method_echo">
+Redis::echo</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>Have Redis repeat back an arbitrary string to the client.</p></dd><dt><a href="Redis.html#method_eval">
+Redis::eval</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>Execute a LUA script on the redis server.</p></dd><dt><a href="Redis.html#method_eval_ro">
+Redis::eval_ro</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>This is simply the read-only variant of eval, meaning the underlying script
+may not modify data in redis.</p></dd><dt><a href="Redis.html#method_evalsha">
+Redis::evalsha</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>Execute a LUA script on the server but instead of sending the script, send
+the SHA1 hash of the script.</p></dd><dt><a href="Redis.html#method_evalsha_ro">
+Redis::evalsha_ro</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>This is simply the read-only variant of evalsha, meaning the underlying script
+may not modify data in redis.</p></dd><dt><a href="Redis.html#method_exec">
+Redis::exec</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>Execute either a MULTI or PIPELINE block and return the array of replies.</p></dd><dt><a href="Redis.html#method_exists">
+Redis::exists</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>Test if one or more keys exist.</p></dd><dt><a href="Redis.html#method_expire">
+Redis::expire</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>Sets an expiration in seconds on the key in question. If connected to
+redis-server &gt;= 7.0.0 you may send an additional &quot;mode&quot; argument which
+modifies how the command will execute.</p></dd><dt><a href="Redis.html#method_expireAt">
+Redis::expireAt</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>Set a key's expiration to a specific Unix timestamp in seconds. If
+connected to Redis &gt;= 7.0.0 you can pass an optional 'mode' argument.</p></dd><dt><a href="Redis.html#method_expiretime">
+Redis::expiretime</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>Get the expiration of a given key as a unix timestamp</p></dd><dt><a href="RedisArray.html#method_exec">
+RedisArray::exec</a>() &mdash; <em>Method in class <a href="RedisArray.html">RedisArray</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_echo">
+RedisCluster::echo</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_eval">
+RedisCluster::eval</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_eval_ro">
+RedisCluster::eval_ro</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_evalsha">
+RedisCluster::evalsha</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_evalsha_ro">
+RedisCluster::evalsha_ro</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_exec">
+RedisCluster::exec</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_exists">
+RedisCluster::exists</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_expire">
+RedisCluster::expire</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_expireat">
+RedisCluster::expireat</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_expiretime">
+RedisCluster::expiretime</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd> </dl><h2 id="letterF">F</h2>
+ <dl id="indexF"><dt><a href="Redis.html#method_failover">
+Redis::failover</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd></dd><dt><a href="Redis.html#method_flushAll">
+Redis::flushAll</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>Deletes every key in all Redis databases</p></dd><dt><a href="Redis.html#method_flushDB">
+Redis::flushDB</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>Deletes all the keys of the currently selected database.</p></dd><dt><a href="RedisArray.html#method_flushall">
+RedisArray::flushall</a>() &mdash; <em>Method in class <a href="RedisArray.html">RedisArray</a></em></dt>
+ <dd></dd><dt><a href="RedisArray.html#method_flushdb">
+RedisArray::flushdb</a>() &mdash; <em>Method in class <a href="RedisArray.html">RedisArray</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_flushall">
+RedisCluster::flushall</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_flushdb">
+RedisCluster::flushdb</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisSentinel.html#method_failover">
+RedisSentinel::failover</a>() &mdash; <em>Method in class <a href="RedisSentinel.html">RedisSentinel</a></em></dt>
+ <dd></dd><dt><a href="RedisSentinel.html#method_flushconfig">
+RedisSentinel::flushconfig</a>() &mdash; <em>Method in class <a href="RedisSentinel.html">RedisSentinel</a></em></dt>
+ <dd></dd> </dl><h2 id="letterG">G</h2>
+ <dl id="indexG"><dt><a href="Redis.html#method_geoadd">
+Redis::geoadd</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd></dd><dt><a href="Redis.html#method_geodist">
+Redis::geodist</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd></dd><dt><a href="Redis.html#method_geohash">
+Redis::geohash</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd></dd><dt><a href="Redis.html#method_geopos">
+Redis::geopos</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd></dd><dt><a href="Redis.html#method_georadius">
+Redis::georadius</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd></dd><dt><a href="Redis.html#method_georadius_ro">
+Redis::georadius_ro</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd></dd><dt><a href="Redis.html#method_georadiusbymember">
+Redis::georadiusbymember</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd></dd><dt><a href="Redis.html#method_georadiusbymember_ro">
+Redis::georadiusbymember_ro</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd></dd><dt><a href="Redis.html#method_geosearch">
+Redis::geosearch</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd></dd><dt><a href="Redis.html#method_geosearchstore">
+Redis::geosearchstore</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd></dd><dt><a href="Redis.html#method_get">
+Redis::get</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd></dd><dt><a href="Redis.html#method_getAuth">
+Redis::getAuth</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>Get the authentication information on the connection, if any.</p></dd><dt><a href="Redis.html#method_getBit">
+Redis::getBit</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd></dd><dt><a href="Redis.html#method_getEx">
+Redis::getEx</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd></dd><dt><a href="Redis.html#method_getDBNum">
+Redis::getDBNum</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd></dd><dt><a href="Redis.html#method_getDel">
+Redis::getDel</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd></dd><dt><a href="Redis.html#method_getHost">
+Redis::getHost</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>Return the host or Unix socket we are connected to.</p></dd><dt><a href="Redis.html#method_getLastError">
+Redis::getLastError</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>Get the last error returned to us from Redis, if any.</p></dd><dt><a href="Redis.html#method_getMode">
+Redis::getMode</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>Returns whether the connection is in ATOMIC, MULTI, or PIPELINE mode</p></dd><dt><a href="Redis.html#method_getOption">
+Redis::getOption</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>Retrieve the value of a configuration setting as set by Redis::setOption()</p></dd><dt><a href="Redis.html#method_getPersistentID">
+Redis::getPersistentID</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>Get the persistent connection ID, if there is one.</p></dd><dt><a href="Redis.html#method_getPort">
+Redis::getPort</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>Get the port we are connected to. This number will be zero if we are connected to a unix socket.</p></dd><dt><a href="Redis.html#method_getRange">
+Redis::getRange</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>Retrieve a substring of a string by index.</p></dd><dt><a href="Redis.html#method_getReadTimeout">
+Redis::getReadTimeout</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>Get the currently set read timeout on the connection.</p></dd><dt><a href="Redis.html#method_getset">
+Redis::getset</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>Sets a key and returns any previously set value, if the key already existed.</p></dd><dt><a href="Redis.html#method_getTimeout">
+Redis::getTimeout</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>Retrieve any set connection timeout</p></dd><dt><a href="Redis.html#method_getTransferredBytes">
+Redis::getTransferredBytes</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd></dd><dt><a href="RedisArray.html#method_getOption">
+RedisArray::getOption</a>() &mdash; <em>Method in class <a href="RedisArray.html">RedisArray</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_geoadd">
+RedisCluster::geoadd</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_geodist">
+RedisCluster::geodist</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_geohash">
+RedisCluster::geohash</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_geopos">
+RedisCluster::geopos</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_georadius">
+RedisCluster::georadius</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_georadius_ro">
+RedisCluster::georadius_ro</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_georadiusbymember">
+RedisCluster::georadiusbymember</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_georadiusbymember_ro">
+RedisCluster::georadiusbymember_ro</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_get">
+RedisCluster::get</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_getbit">
+RedisCluster::getbit</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_getlasterror">
+RedisCluster::getlasterror</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_getmode">
+RedisCluster::getmode</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_getoption">
+RedisCluster::getoption</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_getrange">
+RedisCluster::getrange</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_getset">
+RedisCluster::getset</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_gettransferredbytes">
+RedisCluster::gettransferredbytes</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisSentinel.html#method_getMasterAddrByName">
+RedisSentinel::getMasterAddrByName</a>() &mdash; <em>Method in class <a href="RedisSentinel.html">RedisSentinel</a></em></dt>
+ <dd></dd> </dl><h2 id="letterH">H</h2>
+ <dl id="indexH"><dt><a href="Redis.html#method_hDel">
+Redis::hDel</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>Remove one or more fields from a hash.</p></dd><dt><a href="Redis.html#method_hExists">
+Redis::hExists</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>Checks whether a field exists in a hash.</p></dd><dt><a href="Redis.html#method_hGet">
+Redis::hGet</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd></dd><dt><a href="Redis.html#method_hGetAll">
+Redis::hGetAll</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>Read every field and value from a hash.</p></dd><dt><a href="Redis.html#method_hIncrBy">
+Redis::hIncrBy</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>Increment a hash field's value by an integer</p></dd><dt><a href="Redis.html#method_hIncrByFloat">
+Redis::hIncrByFloat</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>Increment a hash field by a floating point value</p></dd><dt><a href="Redis.html#method_hKeys">
+Redis::hKeys</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>Retrieve all of the fields of a hash.</p></dd><dt><a href="Redis.html#method_hLen">
+Redis::hLen</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>Get the number of fields in a hash.</p></dd><dt><a href="Redis.html#method_hMget">
+Redis::hMget</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>Get one or more fields from a hash.</p></dd><dt><a href="Redis.html#method_hMset">
+Redis::hMset</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>Add or update one or more hash fields and values</p></dd><dt><a href="Redis.html#method_hRandField">
+Redis::hRandField</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>Get one or more random field from a hash.</p></dd><dt><a href="Redis.html#method_hSet">
+Redis::hSet</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd></dd><dt><a href="Redis.html#method_hSetNx">
+Redis::hSetNx</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>Set a hash field and value, but only if that field does not exist</p></dd><dt><a href="Redis.html#method_hStrLen">
+Redis::hStrLen</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>Get the string length of a hash field</p></dd><dt><a href="Redis.html#method_hVals">
+Redis::hVals</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>Get all of the values from a hash.</p></dd><dt><a href="Redis.html#method_hscan">
+Redis::hscan</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>Iterate over the fields and values of a hash in an incremental fashion.</p></dd><dt><a href="RedisArray.html#method_hscan">
+RedisArray::hscan</a>() &mdash; <em>Method in class <a href="RedisArray.html">RedisArray</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_hdel">
+RedisCluster::hdel</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_hexists">
+RedisCluster::hexists</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_hget">
+RedisCluster::hget</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_hgetall">
+RedisCluster::hgetall</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_hincrby">
+RedisCluster::hincrby</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_hincrbyfloat">
+RedisCluster::hincrbyfloat</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_hkeys">
+RedisCluster::hkeys</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_hlen">
+RedisCluster::hlen</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_hmget">
+RedisCluster::hmget</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_hmset">
+RedisCluster::hmset</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_hscan">
+RedisCluster::hscan</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_hset">
+RedisCluster::hset</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_hsetnx">
+RedisCluster::hsetnx</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_hstrlen">
+RedisCluster::hstrlen</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_hvals">
+RedisCluster::hvals</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd> </dl><h2 id="letterI">I</h2>
+ <dl id="indexI"><dt><a href="Redis.html#method_incr">
+Redis::incr</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>Increment a key's value, optionally by a specifc amount.</p></dd><dt><a href="Redis.html#method_incrBy">
+Redis::incrBy</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>Increment a key by a specific integer value</p></dd><dt><a href="Redis.html#method_incrByFloat">
+Redis::incrByFloat</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>Increment a numeric key by a floating point value.</p></dd><dt><a href="Redis.html#method_info">
+Redis::info</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>Retrieve information about the connected redis-server. If no arguments are passed to
+this function, redis will return every info field. Alternatively you may pass a specific
+section you want returned (e.g. 'server', or 'memory') to receive only information pertaining
+to that section.</p></dd><dt><a href="Redis.html#method_isConnected">
+Redis::isConnected</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>Check if we are currently connected to a Redis instance.</p></dd><dt><a href="RedisArray.html#method_info">
+RedisArray::info</a>() &mdash; <em>Method in class <a href="RedisArray.html">RedisArray</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_incr">
+RedisCluster::incr</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_incrby">
+RedisCluster::incrby</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_incrbyfloat">
+RedisCluster::incrbyfloat</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_info">
+RedisCluster::info</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd><p>Retrieve information about the connected redis-server. If no arguments are passed to
+this function, redis will return every info field. Alternatively you may pass a specific
+section you want returned (e.g. 'server', or 'memory') to receive only information pertaining
+to that section.</p></dd> </dl><h2 id="letterK">K</h2>
+ <dl id="indexK"><dt><a href="Redis.html#method_keys">
+Redis::keys</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd></dd><dt><a href="RedisArray.html#method_keys">
+RedisArray::keys</a>() &mdash; <em>Method in class <a href="RedisArray.html">RedisArray</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_keys">
+RedisCluster::keys</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd> </dl><h2 id="letterL">L</h2>
+ <dl id="indexL"><dt><a href="Redis.html#method_lmpop">
+Redis::lmpop</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>Pop one or more elements off of one or more Redis LISTs.</p></dd><dt><a href="Redis.html#method_lcs">
+Redis::lcs</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>Get the longest common subsequence between two string keys.</p></dd><dt><a href="Redis.html#method_lInsert">
+Redis::lInsert</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd></dd><dt><a href="Redis.html#method_lLen">
+Redis::lLen</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd></dd><dt><a href="Redis.html#method_lMove">
+Redis::lMove</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd></dd><dt><a href="Redis.html#method_lPop">
+Redis::lPop</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd></dd><dt><a href="Redis.html#method_lPos">
+Redis::lPos</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd></dd><dt><a href="Redis.html#method_lPush">
+Redis::lPush</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd></dd><dt><a href="Redis.html#method_lPushx">
+Redis::lPushx</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd></dd><dt><a href="Redis.html#method_lSet">
+Redis::lSet</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd></dd><dt><a href="Redis.html#method_lastSave">
+Redis::lastSave</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd></dd><dt><a href="Redis.html#method_lindex">
+Redis::lindex</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd></dd><dt><a href="Redis.html#method_lrange">
+Redis::lrange</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd></dd><dt><a href="Redis.html#method_lrem">
+Redis::lrem</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd></dd><dt><a href="Redis.html#method_ltrim">
+Redis::ltrim</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_lmpop">
+RedisCluster::lmpop</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_lcs">
+RedisCluster::lcs</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_lastsave">
+RedisCluster::lastsave</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_lget">
+RedisCluster::lget</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_lindex">
+RedisCluster::lindex</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_linsert">
+RedisCluster::linsert</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_llen">
+RedisCluster::llen</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_lpop">
+RedisCluster::lpop</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_lpush">
+RedisCluster::lpush</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_lpushx">
+RedisCluster::lpushx</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_lrange">
+RedisCluster::lrange</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_lrem">
+RedisCluster::lrem</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_lset">
+RedisCluster::lset</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_ltrim">
+RedisCluster::ltrim</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd> </dl><h2 id="letterM">M</h2>
+ <dl id="indexM"><dt><a href="Redis.html#method_mget">
+Redis::mget</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd></dd><dt><a href="Redis.html#method_migrate">
+Redis::migrate</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd></dd><dt><a href="Redis.html#method_move">
+Redis::move</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd></dd><dt><a href="Redis.html#method_mset">
+Redis::mset</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd></dd><dt><a href="Redis.html#method_msetnx">
+Redis::msetnx</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd></dd><dt><a href="Redis.html#method_multi">
+Redis::multi</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd></dd><dt><a href="RedisArray.html#method_mget">
+RedisArray::mget</a>() &mdash; <em>Method in class <a href="RedisArray.html">RedisArray</a></em></dt>
+ <dd></dd><dt><a href="RedisArray.html#method_mset">
+RedisArray::mset</a>() &mdash; <em>Method in class <a href="RedisArray.html">RedisArray</a></em></dt>
+ <dd></dd><dt><a href="RedisArray.html#method_multi">
+RedisArray::multi</a>() &mdash; <em>Method in class <a href="RedisArray.html">RedisArray</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_mget">
+RedisCluster::mget</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_mset">
+RedisCluster::mset</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_msetnx">
+RedisCluster::msetnx</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_multi">
+RedisCluster::multi</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisSentinel.html#method_master">
+RedisSentinel::master</a>() &mdash; <em>Method in class <a href="RedisSentinel.html">RedisSentinel</a></em></dt>
+ <dd></dd><dt><a href="RedisSentinel.html#method_masters">
+RedisSentinel::masters</a>() &mdash; <em>Method in class <a href="RedisSentinel.html">RedisSentinel</a></em></dt>
+ <dd></dd><dt><a href="RedisSentinel.html#method_myid">
+RedisSentinel::myid</a>() &mdash; <em>Method in class <a href="RedisSentinel.html">RedisSentinel</a></em></dt>
+ <dd></dd> </dl><h2 id="letterO">O</h2>
+ <dl id="indexO"><dt><a href="Redis.html#method_object">
+Redis::object</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd></dd><dt><a href="Redis.html#method_open">
+Redis::open</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_object">
+RedisCluster::object</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd> </dl><h2 id="letterP">P</h2>
+ <dl id="indexP"><dt><a href="Redis.html#method_pexpiretime">
+Redis::pexpiretime</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>Get the expriation timestamp of a given Redis key but in milliseconds.</p></dd><dt><a href="Redis.html#method_pconnect">
+Redis::pconnect</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd></dd><dt><a href="Redis.html#method_persist">
+Redis::persist</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd></dd><dt><a href="Redis.html#method_pexpire">
+Redis::pexpire</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>Sets an expiration in milliseconds on a given key. If connected to Redis &gt;= 7.0.0
+you can pass an optional mode argument that modifies how the command will execute.</p></dd><dt><a href="Redis.html#method_pexpireAt">
+Redis::pexpireAt</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>Set a key's expiration to a specific Unix Timestamp in milliseconds. If connected to
+Redis &gt;= 7.0.0 you can pass an optional 'mode' argument.</p></dd><dt><a href="Redis.html#method_pfadd">
+Redis::pfadd</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>Add one or more elements to a Redis HyperLogLog key</p></dd><dt><a href="Redis.html#method_pfcount">
+Redis::pfcount</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>Retrieve the cardinality of a Redis HyperLogLog key.</p></dd><dt><a href="Redis.html#method_pfmerge">
+Redis::pfmerge</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>Merge one or more source HyperLogLog sets into a destination set.</p></dd><dt><a href="Redis.html#method_ping">
+Redis::ping</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>PING the redis server with an optional string argument.</p></dd><dt><a href="Redis.html#method_pipeline">
+Redis::pipeline</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>Enter into pipeline mode.</p></dd><dt><a href="Redis.html#method_popen">
+Redis::popen</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd></dd><dt><a href="Redis.html#method_psetex">
+Redis::psetex</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd></dd><dt><a href="Redis.html#method_psubscribe">
+Redis::psubscribe</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>Subscribe to one or more glob-style patterns</p></dd><dt><a href="Redis.html#method_pttl">
+Redis::pttl</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>Get a keys time to live in milliseconds.</p></dd><dt><a href="Redis.html#method_publish">
+Redis::publish</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>Publish a message to a pubsub channel</p></dd><dt><a href="Redis.html#method_pubsub">
+Redis::pubsub</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd></dd><dt><a href="Redis.html#method_punsubscribe">
+Redis::punsubscribe</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>Unsubscribe from one or more channels by pattern</p></dd><dt><a href="RedisArray.html#method_ping">
+RedisArray::ping</a>() &mdash; <em>Method in class <a href="RedisArray.html">RedisArray</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_pexpiretime">
+RedisCluster::pexpiretime</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_persist">
+RedisCluster::persist</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_pexpire">
+RedisCluster::pexpire</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_pexpireat">
+RedisCluster::pexpireat</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_pfadd">
+RedisCluster::pfadd</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_pfcount">
+RedisCluster::pfcount</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_pfmerge">
+RedisCluster::pfmerge</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_ping">
+RedisCluster::ping</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd><p>PING an instance in the redis cluster.</p></dd><dt><a href="RedisCluster.html#method_psetex">
+RedisCluster::psetex</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_psubscribe">
+RedisCluster::psubscribe</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_pttl">
+RedisCluster::pttl</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_publish">
+RedisCluster::publish</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_pubsub">
+RedisCluster::pubsub</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_punsubscribe">
+RedisCluster::punsubscribe</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisSentinel.html#method_ping">
+RedisSentinel::ping</a>() &mdash; <em>Method in class <a href="RedisSentinel.html">RedisSentinel</a></em></dt>
+ <dd></dd> </dl><h2 id="letterR">R</h2>
+ <dl id="indexR"><dt><a href="Redis.html">Redis</a></em></dt>
+ <dd></dd><dt><a href="Redis.html#method_rPush">
+Redis::rPush</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd></dd><dt><a href="Redis.html#method_rPushx">
+Redis::rPushx</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd></dd><dt><a href="Redis.html#method_rPop">
+Redis::rPop</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>Pop one or more elements from the end of a list.</p></dd><dt><a href="Redis.html#method_randomKey">
+Redis::randomKey</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>Return a random key from the current database</p></dd><dt><a href="Redis.html#method_rawcommand">
+Redis::rawcommand</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>Execute any arbitrary Redis command by name.</p></dd><dt><a href="Redis.html#method_rename">
+Redis::rename</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>Unconditionally rename a key from $old_name to $new_name</p></dd><dt><a href="Redis.html#method_renameNx">
+Redis::renameNx</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>Renames $key_src to $key_dst but only if newkey does not exist.</p></dd><dt><a href="Redis.html#method_reset">
+Redis::reset</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>Reset the state of the connection.</p></dd><dt><a href="Redis.html#method_restore">
+Redis::restore</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>Restore a key by the binary payload generated by the DUMP command.</p></dd><dt><a href="Redis.html#method_role">
+Redis::role</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>Query whether the connected instance is a primary or replica</p></dd><dt><a href="Redis.html#method_rpoplpush">
+Redis::rpoplpush</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>Atomically pop an element off the end of a Redis LIST and push it to the beginning of
+another.</p></dd><dt><a href="Redis.html#method_replicaof">
+Redis::replicaof</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>Used to turn a Redis instance into a replica of another, or to remove
+replica status promoting the instance to a primary.</p></dd><dt><a href="RedisArray.html">RedisArray</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_randomkey">
+RedisCluster::randomkey</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_rawcommand">
+RedisCluster::rawcommand</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_rename">
+RedisCluster::rename</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_renamenx">
+RedisCluster::renamenx</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_restore">
+RedisCluster::restore</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_role">
+RedisCluster::role</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_rpop">
+RedisCluster::rpop</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_rpoplpush">
+RedisCluster::rpoplpush</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_rpush">
+RedisCluster::rpush</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_rpushx">
+RedisCluster::rpushx</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisClusterException.html">RedisClusterException</a></em></dt>
+ <dd></dd><dt><a href="RedisException.html">RedisException</a></em></dt>
+ <dd></dd><dt><a href="RedisSentinel.html">RedisSentinel</a></em></dt>
+ <dd></dd><dt><a href="RedisSentinel.html#method_reset">
+RedisSentinel::reset</a>() &mdash; <em>Method in class <a href="RedisSentinel.html">RedisSentinel</a></em></dt>
+ <dd></dd> </dl><h2 id="letterS">S</h2>
+ <dl id="indexS"><dt><a href="Redis.html#method_sAdd">
+Redis::sAdd</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>Add one or more values to a Redis SET key.</p></dd><dt><a href="Redis.html#method_sAddArray">
+Redis::sAddArray</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>Add one ore more values to a Redis SET key. This is an alternative to Redis::sadd() but
+instead of being variadic, takes a single array of values.</p></dd><dt><a href="Redis.html#method_sDiff">
+Redis::sDiff</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>Given one or more Redis SETS, this command returns all of the members from the first
+set that are not in any subsequent set.</p></dd><dt><a href="Redis.html#method_sDiffStore">
+Redis::sDiffStore</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>This method performs the same operation as SDIFF except it stores the resulting diff
+values in a specified destination key.</p></dd><dt><a href="Redis.html#method_sInter">
+Redis::sInter</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>Given one or more Redis SET keys, this command will return all of the elements that are
+in every one.</p></dd><dt><a href="Redis.html#method_sintercard">
+Redis::sintercard</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>Compute the intersection of one or more sets and return the cardinality of the result.</p></dd><dt><a href="Redis.html#method_sInterStore">
+Redis::sInterStore</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>Perform the intersection of one or more Redis SETs, storing the result in a destination
+key, rather than returning them.</p></dd><dt><a href="Redis.html#method_sMembers">
+Redis::sMembers</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>Retrieve every member from a set key.</p></dd><dt><a href="Redis.html#method_sMisMember">
+Redis::sMisMember</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>Check if one or more values are members of a set.</p></dd><dt><a href="Redis.html#method_sMove">
+Redis::sMove</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>Pop a member from one set and push it onto another. This command will create the
+destination set if it does not currently exist.</p></dd><dt><a href="Redis.html#method_sPop">
+Redis::sPop</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>Remove one or more elements from a set.</p></dd><dt><a href="Redis.html#method_sRandMember">
+Redis::sRandMember</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>Retrieve one or more random members of a set.</p></dd><dt><a href="Redis.html#method_sUnion">
+Redis::sUnion</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>Returns the union of one or more Redis SET keys.</p></dd><dt><a href="Redis.html#method_sUnionStore">
+Redis::sUnionStore</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>Perform a union of one or more Redis SET keys and store the result in a new set</p></dd><dt><a href="Redis.html#method_save">
+Redis::save</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>Persist the Redis database to disk. This command will block the server until the save is
+completed. For a nonblocking alternative, see Redis::bgsave().</p></dd><dt><a href="Redis.html#method_scan">
+Redis::scan</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>Incrementally scan the Redis keyspace, with optional pattern and type matching.</p></dd><dt><a href="Redis.html#method_scard">
+Redis::scard</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>Retrieve the number of members in a Redis set.</p></dd><dt><a href="Redis.html#method_script">
+Redis::script</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>An administrative command used to interact with LUA scripts stored on the server.</p></dd><dt><a href="Redis.html#method_select">
+Redis::select</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>Select a specific Redis database.</p></dd><dt><a href="Redis.html#method_set">
+Redis::set</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>Create or set a Redis STRING key to a value.</p></dd><dt><a href="Redis.html#method_setBit">
+Redis::setBit</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>Set a specific bit in a Redis string to zero or one</p></dd><dt><a href="Redis.html#method_setRange">
+Redis::setRange</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>Update or append to a Redis string at a specific starting index</p></dd><dt><a href="Redis.html#method_setOption">
+Redis::setOption</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>Set a configurable option on the Redis object.</p></dd><dt><a href="Redis.html#method_setex">
+Redis::setex</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>Set a Redis STRING key with a specific expiration in seconds.</p></dd><dt><a href="Redis.html#method_setnx">
+Redis::setnx</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>Set a key to a value, but only if that key does not already exist.</p></dd><dt><a href="Redis.html#method_sismember">
+Redis::sismember</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>Check whether a given value is the member of a Redis SET.</p></dd><dt><a href="Redis.html#method_slaveof">
+Redis::slaveof</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>Turn a redis instance into a replica of another or promote a replica
+to a primary.</p></dd><dt><a href="Redis.html#method_slowlog">
+Redis::slowlog</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>Interact with Redis' slowlog functionality in various ways, depending
+on the value of 'operation'.</p></dd><dt><a href="Redis.html#method_sort">
+Redis::sort</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>Sort the contents of a Redis key in various ways.</p></dd><dt><a href="Redis.html#method_sort_ro">
+Redis::sort_ro</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>This is simply a read-only variant of the sort command</p></dd><dt><a href="Redis.html#method_sortAsc">
+Redis::sortAsc</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd></dd><dt><a href="Redis.html#method_sortAscAlpha">
+Redis::sortAscAlpha</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd></dd><dt><a href="Redis.html#method_sortDesc">
+Redis::sortDesc</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd></dd><dt><a href="Redis.html#method_sortDescAlpha">
+Redis::sortDescAlpha</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd></dd><dt><a href="Redis.html#method_srem">
+Redis::srem</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>Remove one or more values from a Redis SET key.</p></dd><dt><a href="Redis.html#method_sscan">
+Redis::sscan</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>Scan the members of a redis SET key.</p></dd><dt><a href="Redis.html#method_strlen">
+Redis::strlen</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>Retrieve the length of a Redis STRING key.</p></dd><dt><a href="Redis.html#method_subscribe">
+Redis::subscribe</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>Subscribe to one or more Redis pubsub channels.</p></dd><dt><a href="Redis.html#method_swapdb">
+Redis::swapdb</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>Atomically swap two Redis databases so that all of the keys in the source database will
+now be in the destination database and vice-versa.</p></dd><dt><a href="RedisArray.html#method_save">
+RedisArray::save</a>() &mdash; <em>Method in class <a href="RedisArray.html">RedisArray</a></em></dt>
+ <dd></dd><dt><a href="RedisArray.html#method_scan">
+RedisArray::scan</a>() &mdash; <em>Method in class <a href="RedisArray.html">RedisArray</a></em></dt>
+ <dd></dd><dt><a href="RedisArray.html#method_select">
+RedisArray::select</a>() &mdash; <em>Method in class <a href="RedisArray.html">RedisArray</a></em></dt>
+ <dd></dd><dt><a href="RedisArray.html#method_setOption">
+RedisArray::setOption</a>() &mdash; <em>Method in class <a href="RedisArray.html">RedisArray</a></em></dt>
+ <dd></dd><dt><a href="RedisArray.html#method_sscan">
+RedisArray::sscan</a>() &mdash; <em>Method in class <a href="RedisArray.html">RedisArray</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_sadd">
+RedisCluster::sadd</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_saddarray">
+RedisCluster::saddarray</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_save">
+RedisCluster::save</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_scan">
+RedisCluster::scan</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_scard">
+RedisCluster::scard</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_script">
+RedisCluster::script</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_sdiff">
+RedisCluster::sdiff</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_sdiffstore">
+RedisCluster::sdiffstore</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_set">
+RedisCluster::set</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_setbit">
+RedisCluster::setbit</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_setex">
+RedisCluster::setex</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_setnx">
+RedisCluster::setnx</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_setoption">
+RedisCluster::setoption</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_setrange">
+RedisCluster::setrange</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_sinter">
+RedisCluster::sinter</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_sintercard">
+RedisCluster::sintercard</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_sinterstore">
+RedisCluster::sinterstore</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_sismember">
+RedisCluster::sismember</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_slowlog">
+RedisCluster::slowlog</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_smembers">
+RedisCluster::smembers</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_smove">
+RedisCluster::smove</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_sort">
+RedisCluster::sort</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_sort_ro">
+RedisCluster::sort_ro</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_spop">
+RedisCluster::spop</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_srandmember">
+RedisCluster::srandmember</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_srem">
+RedisCluster::srem</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_sscan">
+RedisCluster::sscan</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_strlen">
+RedisCluster::strlen</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_subscribe">
+RedisCluster::subscribe</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_sunion">
+RedisCluster::sunion</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_sunionstore">
+RedisCluster::sunionstore</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisSentinel.html#method_sentinels">
+RedisSentinel::sentinels</a>() &mdash; <em>Method in class <a href="RedisSentinel.html">RedisSentinel</a></em></dt>
+ <dd></dd><dt><a href="RedisSentinel.html#method_slaves">
+RedisSentinel::slaves</a>() &mdash; <em>Method in class <a href="RedisSentinel.html">RedisSentinel</a></em></dt>
+ <dd></dd> </dl><h2 id="letterT">T</h2>
+ <dl id="indexT"><dt><a href="Redis.html#method_touch">
+Redis::touch</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>Update one or more keys last modified metadata.</p></dd><dt><a href="Redis.html#method_time">
+Redis::time</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>Retrieve the server time from the connected Redis instance.</p></dd><dt><a href="Redis.html#method_ttl">
+Redis::ttl</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>Get the amount of time a Redis key has before it will expire, in seconds.</p></dd><dt><a href="Redis.html#method_type">
+Redis::type</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>Get the type of a given Redis key.</p></dd><dt><a href="RedisCluster.html#method_touch">
+RedisCluster::touch</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_time">
+RedisCluster::time</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_ttl">
+RedisCluster::ttl</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_type">
+RedisCluster::type</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd> </dl><h2 id="letterU">U</h2>
+ <dl id="indexU"><dt><a href="Redis.html#method_unlink">
+Redis::unlink</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>Delete one or more keys from the Redis database. Unlike this operation, the actual
+deletion is asynchronous, meaning it is safe to delete large keys without fear of
+Redis blocking for a long period of time.</p></dd><dt><a href="Redis.html#method_unsubscribe">
+Redis::unsubscribe</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>Unsubscribe from one or more subscribed channels.</p></dd><dt><a href="Redis.html#method_unwatch">
+Redis::unwatch</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>Remove any previously WATCH'ed keys in a transaction.</p></dd><dt><a href="RedisArray.html#method_unlink">
+RedisArray::unlink</a>() &mdash; <em>Method in class <a href="RedisArray.html">RedisArray</a></em></dt>
+ <dd></dd><dt><a href="RedisArray.html#method_unwatch">
+RedisArray::unwatch</a>() &mdash; <em>Method in class <a href="RedisArray.html">RedisArray</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_unsubscribe">
+RedisCluster::unsubscribe</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_unlink">
+RedisCluster::unlink</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_unwatch">
+RedisCluster::unwatch</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd> </dl><h2 id="letterW">W</h2>
+ <dl id="indexW"><dt><a href="Redis.html#method_watch">
+Redis::watch</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd></dd><dt><a href="Redis.html#method_wait">
+Redis::wait</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>Block the client up to the provided timeout until a certain number of replicas have confirmed
+recieving them.</p></dd><dt><a href="RedisCluster.html#method_watch">
+RedisCluster::watch</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd> </dl><h2 id="letterX">X</h2>
+ <dl id="indexX"><dt><a href="Redis.html#method_xack">
+Redis::xack</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd></dd><dt><a href="Redis.html#method_xadd">
+Redis::xadd</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>Append a message to a stream.</p></dd><dt><a href="Redis.html#method_xautoclaim">
+Redis::xautoclaim</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd></dd><dt><a href="Redis.html#method_xclaim">
+Redis::xclaim</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd></dd><dt><a href="Redis.html#method_xdel">
+Redis::xdel</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>Remove one or more specific IDs from a stream.</p></dd><dt><a href="Redis.html#method_xgroup">
+Redis::xgroup</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd>XGROUP</dd><dt><a href="Redis.html#method_xinfo">
+Redis::xinfo</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>Retrieve information about a stream key.</p></dd><dt><a href="Redis.html#method_xlen">
+Redis::xlen</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>Get the number of messages in a Redis STREAM key.</p></dd><dt><a href="Redis.html#method_xpending">
+Redis::xpending</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>Interact with stream messages that have been consumed by a consumer group but not yet
+acknowledged with XACK.</p></dd><dt><a href="Redis.html#method_xrange">
+Redis::xrange</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>Get a range of entries from a STREAM key.</p></dd><dt><a href="Redis.html#method_xread">
+Redis::xread</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>Consume one or more unconsumed elements in one or more streams.</p></dd><dt><a href="Redis.html#method_xreadgroup">
+Redis::xreadgroup</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>Read one or more messages using a consumer group.</p></dd><dt><a href="Redis.html#method_xrevrange">
+Redis::xrevrange</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>Get a range of entries from a STREAM ke in reverse cronological order.</p></dd><dt><a href="Redis.html#method_xtrim">
+Redis::xtrim</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>Truncate a STREAM key in various ways.</p></dd><dt><a href="RedisCluster.html#method_xack">
+RedisCluster::xack</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_xadd">
+RedisCluster::xadd</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_xclaim">
+RedisCluster::xclaim</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_xdel">
+RedisCluster::xdel</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_xgroup">
+RedisCluster::xgroup</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_xinfo">
+RedisCluster::xinfo</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_xlen">
+RedisCluster::xlen</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_xpending">
+RedisCluster::xpending</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_xrange">
+RedisCluster::xrange</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_xread">
+RedisCluster::xread</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_xreadgroup">
+RedisCluster::xreadgroup</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_xrevrange">
+RedisCluster::xrevrange</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_xtrim">
+RedisCluster::xtrim</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd> </dl><h2 id="letterZ">Z</h2>
+ <dl id="indexZ"><dt><a href="Redis.html#method_zmpop">
+Redis::zmpop</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>POP one or more of the highest or lowest scoring elements from one or more sorted sets.</p></dd><dt><a href="Redis.html#method_zAdd">
+Redis::zAdd</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>Add one or more elements and scores to a Redis sorted set.</p></dd><dt><a href="Redis.html#method_zCard">
+Redis::zCard</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>Return the number of elements in a sorted set.</p></dd><dt><a href="Redis.html#method_zCount">
+Redis::zCount</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>Count the number of members in a sorted set with scores inside a provided range.</p></dd><dt><a href="Redis.html#method_zIncrBy">
+Redis::zIncrBy</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>Create or increment the score of a member in a Redis sorted set</p></dd><dt><a href="Redis.html#method_zLexCount">
+Redis::zLexCount</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>Count the number of elements in a sorted set whos members fall within the provided
+lexographical range.</p></dd><dt><a href="Redis.html#method_zMscore">
+Redis::zMscore</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>Retrieve the score of one or more members in a sorted set.</p></dd><dt><a href="Redis.html#method_zPopMax">
+Redis::zPopMax</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>Pop one or more of the highest scoring elements from a sorted set.</p></dd><dt><a href="Redis.html#method_zPopMin">
+Redis::zPopMin</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>Pop one or more of the lowest scoring elements from a sorted set.</p></dd><dt><a href="Redis.html#method_zRange">
+Redis::zRange</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>Retrieve a range of elements of a sorted set between a start and end point.</p></dd><dt><a href="Redis.html#method_zRangeByLex">
+Redis::zRangeByLex</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>Retrieve a range of elements from a sorted set by legographical range.</p></dd><dt><a href="Redis.html#method_zRangeByScore">
+Redis::zRangeByScore</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>Retrieve a range of members from a sorted set by their score.</p></dd><dt><a href="Redis.html#method_zrangestore">
+Redis::zrangestore</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>This command is similar to ZRANGE except that instead of returning the values directly
+it will store them in a destination key provided by the user</p></dd><dt><a href="Redis.html#method_zRandMember">
+Redis::zRandMember</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>Retrieve one or more random members from a Redis sorted set.</p></dd><dt><a href="Redis.html#method_zRank">
+Redis::zRank</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>Get the rank of a member of a sorted set, by score.</p></dd><dt><a href="Redis.html#method_zRem">
+Redis::zRem</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>Remove one or more members from a Redis sorted set.</p></dd><dt><a href="Redis.html#method_zRemRangeByLex">
+Redis::zRemRangeByLex</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>Remove zero or more elements from a Redis sorted set by legographical range.</p></dd><dt><a href="Redis.html#method_zRemRangeByRank">
+Redis::zRemRangeByRank</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>Remove one or more members of a sorted set by their rank.</p></dd><dt><a href="Redis.html#method_zRemRangeByScore">
+Redis::zRemRangeByScore</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>Remove one or more members of a sorted set by their score.</p></dd><dt><a href="Redis.html#method_zRevRange">
+Redis::zRevRange</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>List the members of a Redis sorted set in reverse order</p></dd><dt><a href="Redis.html#method_zRevRangeByLex">
+Redis::zRevRangeByLex</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>List members of a Redis sorted set within a legographical range, in reverse order.</p></dd><dt><a href="Redis.html#method_zRevRangeByScore">
+Redis::zRevRangeByScore</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>List elements from a Redis sorted set by score, highest to lowest</p></dd><dt><a href="Redis.html#method_zRevRank">
+Redis::zRevRank</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>Retrieve a member of a sorted set by reverse rank.</p></dd><dt><a href="Redis.html#method_zScore">
+Redis::zScore</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>Get the score of a member of a sorted set.</p></dd><dt><a href="Redis.html#method_zdiff">
+Redis::zdiff</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>Given one or more sorted set key names, return every element that is in the first
+set but not any of the others.</p></dd><dt><a href="Redis.html#method_zdiffstore">
+Redis::zdiffstore</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>Store the difference of one or more sorted sets in a destination sorted set.</p></dd><dt><a href="Redis.html#method_zinter">
+Redis::zinter</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>Compute the intersection of one or more sorted sets and return the members</p></dd><dt><a href="Redis.html#method_zintercard">
+Redis::zintercard</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>Similar to ZINTER but instead of returning the intersected values, this command returns the
+cardinality of the intersected set.</p></dd><dt><a href="Redis.html#method_zinterstore">
+Redis::zinterstore</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>Compute the intersection of one ore more sorted sets storing the result in a new sorted set.</p></dd><dt><a href="Redis.html#method_zscan">
+Redis::zscan</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>Scan the members of a sorted set incrementally, using a cursor</p></dd><dt><a href="Redis.html#method_zunion">
+Redis::zunion</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>Retrieve the union of one or more sorted sets</p></dd><dt><a href="Redis.html#method_zunionstore">
+Redis::zunionstore</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>Perform a union on one or more Redis sets and store the result in a destination sorted set.</p></dd><dt><a href="RedisArray.html#method_zscan">
+RedisArray::zscan</a>() &mdash; <em>Method in class <a href="RedisArray.html">RedisArray</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_zmpop">
+RedisCluster::zmpop</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_zadd">
+RedisCluster::zadd</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_zcard">
+RedisCluster::zcard</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_zcount">
+RedisCluster::zcount</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_zincrby">
+RedisCluster::zincrby</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_zinterstore">
+RedisCluster::zinterstore</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_zintercard">
+RedisCluster::zintercard</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_zlexcount">
+RedisCluster::zlexcount</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_zpopmax">
+RedisCluster::zpopmax</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_zpopmin">
+RedisCluster::zpopmin</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_zrange">
+RedisCluster::zrange</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_zrangestore">
+RedisCluster::zrangestore</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_zrangebylex">
+RedisCluster::zrangebylex</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_zrangebyscore">
+RedisCluster::zrangebyscore</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_zrank">
+RedisCluster::zrank</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_zrem">
+RedisCluster::zrem</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_zremrangebylex">
+RedisCluster::zremrangebylex</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_zremrangebyrank">
+RedisCluster::zremrangebyrank</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_zremrangebyscore">
+RedisCluster::zremrangebyscore</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_zrevrange">
+RedisCluster::zrevrange</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_zrevrangebylex">
+RedisCluster::zrevrangebylex</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_zrevrangebyscore">
+RedisCluster::zrevrangebyscore</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_zrevrank">
+RedisCluster::zrevrank</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_zscan">
+RedisCluster::zscan</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_zscore">
+RedisCluster::zscore</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method_zunionstore">
+RedisCluster::zunionstore</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd> </dl><h2 id="letter_">_</h2>
+ <dl id="index_"><dt><a href="Redis.html#method___construct">
+Redis::__construct</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>Create a new Redis instance. If passed sufficient information in the
+options array it is also possible to connect to an instance at the same
+time.</p></dd><dt><a href="Redis.html#method___destruct">
+Redis::__destruct</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd></dd><dt><a href="Redis.html#method__compress">
+Redis::_compress</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>Compress a value with the currently configured compressor as set with
+Redis::setOption().</p></dd><dt><a href="Redis.html#method__uncompress">
+Redis::_uncompress</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>Uncompress the provided argument that has been compressed with the
+currently configured compressor as set with Redis::setOption().</p></dd><dt><a href="Redis.html#method__prefix">
+Redis::_prefix</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>Prefix the passed argument with the currently set key prefix as set
+with Redis::setOption().</p></dd><dt><a href="Redis.html#method__serialize">
+Redis::_serialize</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>Serialize the provided value with the currently set serializer as set
+with Redis::setOption().</p></dd><dt><a href="Redis.html#method__unserialize">
+Redis::_unserialize</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>Unserialize the passed argument with the currently set serializer as set
+with Redis::setOption().</p></dd><dt><a href="Redis.html#method__pack">
+Redis::_pack</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>Pack the provided value with the configured serializer and compressor
+as set with Redis::setOption().</p></dd><dt><a href="Redis.html#method__unpack">
+Redis::_unpack</a>() &mdash; <em>Method in class <a href="Redis.html">Redis</a></em></dt>
+ <dd><p>Unpack the provided value with the configured compressor and serializer
+as set with Redis::setOption().</p></dd><dt><a href="RedisArray.html#method___call">
+RedisArray::__call</a>() &mdash; <em>Method in class <a href="RedisArray.html">RedisArray</a></em></dt>
+ <dd></dd><dt><a href="RedisArray.html#method___construct">
+RedisArray::__construct</a>() &mdash; <em>Method in class <a href="RedisArray.html">RedisArray</a></em></dt>
+ <dd></dd><dt><a href="RedisArray.html#method__continuum">
+RedisArray::_continuum</a>() &mdash; <em>Method in class <a href="RedisArray.html">RedisArray</a></em></dt>
+ <dd></dd><dt><a href="RedisArray.html#method__distributor">
+RedisArray::_distributor</a>() &mdash; <em>Method in class <a href="RedisArray.html">RedisArray</a></em></dt>
+ <dd></dd><dt><a href="RedisArray.html#method__function">
+RedisArray::_function</a>() &mdash; <em>Method in class <a href="RedisArray.html">RedisArray</a></em></dt>
+ <dd></dd><dt><a href="RedisArray.html#method__hosts">
+RedisArray::_hosts</a>() &mdash; <em>Method in class <a href="RedisArray.html">RedisArray</a></em></dt>
+ <dd></dd><dt><a href="RedisArray.html#method__instance">
+RedisArray::_instance</a>() &mdash; <em>Method in class <a href="RedisArray.html">RedisArray</a></em></dt>
+ <dd></dd><dt><a href="RedisArray.html#method__rehash">
+RedisArray::_rehash</a>() &mdash; <em>Method in class <a href="RedisArray.html">RedisArray</a></em></dt>
+ <dd></dd><dt><a href="RedisArray.html#method__target">
+RedisArray::_target</a>() &mdash; <em>Method in class <a href="RedisArray.html">RedisArray</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method___construct">
+RedisCluster::__construct</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method__compress">
+RedisCluster::_compress</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method__uncompress">
+RedisCluster::_uncompress</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method__serialize">
+RedisCluster::_serialize</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method__unserialize">
+RedisCluster::_unserialize</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method__pack">
+RedisCluster::_pack</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method__unpack">
+RedisCluster::_unpack</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method__prefix">
+RedisCluster::_prefix</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method__masters">
+RedisCluster::_masters</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisCluster.html#method__redir">
+RedisCluster::_redir</a>() &mdash; <em>Method in class <a href="RedisCluster.html">RedisCluster</a></em></dt>
+ <dd></dd><dt><a href="RedisSentinel.html#method___construct">
+RedisSentinel::__construct</a>() &mdash; <em>Method in class <a href="RedisSentinel.html">RedisSentinel</a></em></dt>
+ <dd></dd> </dl></div><div id="footer">
+ Generated by <a href="https://github.com/code-lts/doctum">Doctum, a API Documentation generator and fork of Sami</a>.</div></div>
+ </div>
+ </body>
+
+</html>
diff --git a/docs/doctum-search.json b/docs/doctum-search.json
new file mode 100644
index 00000000..23b29afb
--- /dev/null
+++ b/docs/doctum-search.json
@@ -0,0 +1 @@
+{"items":[{"t":"C","n":"Redis","p":"Redis.html","d":"","f":{"n":"[Global Namespace]","p":"[Global_Namespace].html"}},{"t":"C","n":"RedisArray","p":"RedisArray.html","d":"","f":{"n":"[Global Namespace]","p":"[Global_Namespace].html"}},{"t":"C","n":"RedisCluster","p":"RedisCluster.html","d":"","f":{"n":"[Global Namespace]","p":"[Global_Namespace].html"}},{"t":"C","n":"RedisClusterException","p":"RedisClusterException.html","d":null,"f":{"n":"[Global Namespace]","p":"[Global_Namespace].html"}},{"t":"C","n":"RedisException","p":"RedisException.html","d":null,"f":{"n":"[Global Namespace]","p":"[Global_Namespace].html"}},{"t":"C","n":"RedisSentinel","p":"RedisSentinel.html","d":"","f":{"n":"[Global Namespace]","p":"[Global_Namespace].html"}},{"t":"M","n":"Redis::__construct","p":"Redis.html#method___construct","d":"<p>Create a new Redis instance. If passed sufficient information in the\noptions array it is also possible to connect to an instance at the same\ntime.</p>"},{"t":"M","n":"Redis::__destruct","p":"Redis.html#method___destruct","d":null},{"t":"M","n":"Redis::_compress","p":"Redis.html#method__compress","d":"<p>Compress a value with the currently configured compressor as set with\nRedis::setOption().</p>"},{"t":"M","n":"Redis::_uncompress","p":"Redis.html#method__uncompress","d":"<p>Uncompress the provided argument that has been compressed with the\ncurrently configured compressor as set with Redis::setOption().</p>"},{"t":"M","n":"Redis::_prefix","p":"Redis.html#method__prefix","d":"<p>Prefix the passed argument with the currently set key prefix as set\nwith Redis::setOption().</p>"},{"t":"M","n":"Redis::_serialize","p":"Redis.html#method__serialize","d":"<p>Serialize the provided value with the currently set serializer as set\nwith Redis::setOption().</p>"},{"t":"M","n":"Redis::_unserialize","p":"Redis.html#method__unserialize","d":"<p>Unserialize the passed argument with the currently set serializer as set\nwith Redis::setOption().</p>"},{"t":"M","n":"Redis::_pack","p":"Redis.html#method__pack","d":"<p>Pack the provided value with the configured serializer and compressor\nas set with Redis::setOption().</p>"},{"t":"M","n":"Redis::_unpack","p":"Redis.html#method__unpack","d":"<p>Unpack the provided value with the configured compressor and serializer\nas set with Redis::setOption().</p>"},{"t":"M","n":"Redis::acl","p":"Redis.html#method_acl","d":null},{"t":"M","n":"Redis::append","p":"Redis.html#method_append","d":"<p>Append data to a Redis STRING key.</p>"},{"t":"M","n":"Redis::auth","p":"Redis.html#method_auth","d":"<p>Authenticate a Redis connection after its been established.</p>"},{"t":"M","n":"Redis::bgSave","p":"Redis.html#method_bgSave","d":"<p>Execute a save of the Redis database in the background.</p>"},{"t":"M","n":"Redis::bgrewriteaof","p":"Redis.html#method_bgrewriteaof","d":"<p>Asynchronously rewrite Redis' append-only file</p>"},{"t":"M","n":"Redis::bitcount","p":"Redis.html#method_bitcount","d":"<p>Count the number of set bits in a Redis string.</p>"},{"t":"M","n":"Redis::bitop","p":"Redis.html#method_bitop","d":null},{"t":"M","n":"Redis::bitpos","p":"Redis.html#method_bitpos","d":"<p>Return the position of the first bit set to 0 or 1 in a string.</p>"},{"t":"M","n":"Redis::blPop","p":"Redis.html#method_blPop","d":"<p>Pop an element off the beginning of a Redis list or lists, potentially blocking up to a specified\ntimeout. This method may be called in two distinct ways, of which examples are provided below.</p>"},{"t":"M","n":"Redis::brPop","p":"Redis.html#method_brPop","d":"<p>Pop an element off of the end of a Redis list or lists, potentially blocking up to a specified timeout.</p>"},{"t":"M","n":"Redis::brpoplpush","p":"Redis.html#method_brpoplpush","d":"<p>Pop an element from the end of a Redis list, pushing it to the beginning of another Redis list,\noptionally blocking up to a specified timeout.</p>"},{"t":"M","n":"Redis::bzPopMax","p":"Redis.html#method_bzPopMax","d":"<p>POP the maximum scoring element off of one or more sorted sets, blocking up to a specified\ntimeout if no elements are available.</p>"},{"t":"M","n":"Redis::bzPopMin","p":"Redis.html#method_bzPopMin","d":"<p>POP the minimum scoring element off of one or more sorted sets, blocking up to a specified timeout\nif no elements are available</p>"},{"t":"M","n":"Redis::bzmpop","p":"Redis.html#method_bzmpop","d":"<p>POP one or more elements from one or more sorted sets, blocking up to a specified amount of time\nwhen no elements are available.</p>"},{"t":"M","n":"Redis::zmpop","p":"Redis.html#method_zmpop","d":"<p>POP one or more of the highest or lowest scoring elements from one or more sorted sets.</p>"},{"t":"M","n":"Redis::blmpop","p":"Redis.html#method_blmpop","d":"<p>Pop one or more elements from one or more Redis LISTs, blocking up to a specified timeout when\nno elements are available.</p>"},{"t":"M","n":"Redis::lmpop","p":"Redis.html#method_lmpop","d":"<p>Pop one or more elements off of one or more Redis LISTs.</p>"},{"t":"M","n":"Redis::clearLastError","p":"Redis.html#method_clearLastError","d":"<p>Reset any last error on the connection to NULL</p>"},{"t":"M","n":"Redis::client","p":"Redis.html#method_client","d":null},{"t":"M","n":"Redis::close","p":"Redis.html#method_close","d":null},{"t":"M","n":"Redis::command","p":"Redis.html#method_command","d":null},{"t":"M","n":"Redis::config","p":"Redis.html#method_config","d":"<p>Execute the Redis CONFIG command in a variety of ways. What the command does in particular depends\non the <code>$operation</code> qualifier.</p>"},{"t":"M","n":"Redis::connect","p":"Redis.html#method_connect","d":null},{"t":"M","n":"Redis::copy","p":"Redis.html#method_copy","d":"<p>Make a copy of a redis key.</p>"},{"t":"M","n":"Redis::dbSize","p":"Redis.html#method_dbSize","d":"<p>Return the number of keys in the currently selected Redis database.</p>"},{"t":"M","n":"Redis::debug","p":"Redis.html#method_debug","d":null},{"t":"M","n":"Redis::decr","p":"Redis.html#method_decr","d":"<p>Decrement a Redis integer by 1 or a provided value.</p>"},{"t":"M","n":"Redis::decrBy","p":"Redis.html#method_decrBy","d":"<p>Decrement a redis integer by a value</p>"},{"t":"M","n":"Redis::del","p":"Redis.html#method_del","d":"<p>Delete one or more keys from Redis.</p>"},{"t":"M","n":"Redis::delete","p":"Redis.html#method_delete","d":""},{"t":"M","n":"Redis::discard","p":"Redis.html#method_discard","d":"<p>Discard a transaction currently in progress.</p>"},{"t":"M","n":"Redis::dump","p":"Redis.html#method_dump","d":"<p>Dump Redis' internal binary representation of a key.</p>"},{"t":"M","n":"Redis::echo","p":"Redis.html#method_echo","d":"<p>Have Redis repeat back an arbitrary string to the client.</p>"},{"t":"M","n":"Redis::eval","p":"Redis.html#method_eval","d":"<p>Execute a LUA script on the redis server.</p>"},{"t":"M","n":"Redis::eval_ro","p":"Redis.html#method_eval_ro","d":"<p>This is simply the read-only variant of eval, meaning the underlying script\nmay not modify data in redis.</p>"},{"t":"M","n":"Redis::evalsha","p":"Redis.html#method_evalsha","d":"<p>Execute a LUA script on the server but instead of sending the script, send\nthe SHA1 hash of the script.</p>"},{"t":"M","n":"Redis::evalsha_ro","p":"Redis.html#method_evalsha_ro","d":"<p>This is simply the read-only variant of evalsha, meaning the underlying script\nmay not modify data in redis.</p>"},{"t":"M","n":"Redis::exec","p":"Redis.html#method_exec","d":"<p>Execute either a MULTI or PIPELINE block and return the array of replies.</p>"},{"t":"M","n":"Redis::exists","p":"Redis.html#method_exists","d":"<p>Test if one or more keys exist.</p>"},{"t":"M","n":"Redis::expire","p":"Redis.html#method_expire","d":"<p>Sets an expiration in seconds on the key in question. If connected to\nredis-server &gt;= 7.0.0 you may send an additional &quot;mode&quot; argument which\nmodifies how the command will execute.</p>"},{"t":"M","n":"Redis::expireAt","p":"Redis.html#method_expireAt","d":"<p>Set a key's expiration to a specific Unix timestamp in seconds. If\nconnected to Redis &gt;= 7.0.0 you can pass an optional 'mode' argument.</p>"},{"t":"M","n":"Redis::failover","p":"Redis.html#method_failover","d":null},{"t":"M","n":"Redis::expiretime","p":"Redis.html#method_expiretime","d":"<p>Get the expiration of a given key as a unix timestamp</p>"},{"t":"M","n":"Redis::pexpiretime","p":"Redis.html#method_pexpiretime","d":"<p>Get the expriation timestamp of a given Redis key but in milliseconds.</p>"},{"t":"M","n":"Redis::flushAll","p":"Redis.html#method_flushAll","d":"<p>Deletes every key in all Redis databases</p>"},{"t":"M","n":"Redis::flushDB","p":"Redis.html#method_flushDB","d":"<p>Deletes all the keys of the currently selected database.</p>"},{"t":"M","n":"Redis::geoadd","p":"Redis.html#method_geoadd","d":null},{"t":"M","n":"Redis::geodist","p":"Redis.html#method_geodist","d":null},{"t":"M","n":"Redis::geohash","p":"Redis.html#method_geohash","d":null},{"t":"M","n":"Redis::geopos","p":"Redis.html#method_geopos","d":null},{"t":"M","n":"Redis::georadius","p":"Redis.html#method_georadius","d":null},{"t":"M","n":"Redis::georadius_ro","p":"Redis.html#method_georadius_ro","d":null},{"t":"M","n":"Redis::georadiusbymember","p":"Redis.html#method_georadiusbymember","d":null},{"t":"M","n":"Redis::georadiusbymember_ro","p":"Redis.html#method_georadiusbymember_ro","d":null},{"t":"M","n":"Redis::geosearch","p":"Redis.html#method_geosearch","d":null},{"t":"M","n":"Redis::geosearchstore","p":"Redis.html#method_geosearchstore","d":null},{"t":"M","n":"Redis::get","p":"Redis.html#method_get","d":null},{"t":"M","n":"Redis::getAuth","p":"Redis.html#method_getAuth","d":"<p>Get the authentication information on the connection, if any.</p>"},{"t":"M","n":"Redis::getBit","p":"Redis.html#method_getBit","d":null},{"t":"M","n":"Redis::getEx","p":"Redis.html#method_getEx","d":null},{"t":"M","n":"Redis::getDBNum","p":"Redis.html#method_getDBNum","d":null},{"t":"M","n":"Redis::getDel","p":"Redis.html#method_getDel","d":null},{"t":"M","n":"Redis::getHost","p":"Redis.html#method_getHost","d":"<p>Return the host or Unix socket we are connected to.</p>"},{"t":"M","n":"Redis::getLastError","p":"Redis.html#method_getLastError","d":"<p>Get the last error returned to us from Redis, if any.</p>"},{"t":"M","n":"Redis::getMode","p":"Redis.html#method_getMode","d":"<p>Returns whether the connection is in ATOMIC, MULTI, or PIPELINE mode</p>"},{"t":"M","n":"Redis::getOption","p":"Redis.html#method_getOption","d":"<p>Retrieve the value of a configuration setting as set by Redis::setOption()</p>"},{"t":"M","n":"Redis::getPersistentID","p":"Redis.html#method_getPersistentID","d":"<p>Get the persistent connection ID, if there is one.</p>"},{"t":"M","n":"Redis::getPort","p":"Redis.html#method_getPort","d":"<p>Get the port we are connected to. This number will be zero if we are connected to a unix socket.</p>"},{"t":"M","n":"Redis::getRange","p":"Redis.html#method_getRange","d":"<p>Retrieve a substring of a string by index.</p>"},{"t":"M","n":"Redis::lcs","p":"Redis.html#method_lcs","d":"<p>Get the longest common subsequence between two string keys.</p>"},{"t":"M","n":"Redis::getReadTimeout","p":"Redis.html#method_getReadTimeout","d":"<p>Get the currently set read timeout on the connection.</p>"},{"t":"M","n":"Redis::getset","p":"Redis.html#method_getset","d":"<p>Sets a key and returns any previously set value, if the key already existed.</p>"},{"t":"M","n":"Redis::getTimeout","p":"Redis.html#method_getTimeout","d":"<p>Retrieve any set connection timeout</p>"},{"t":"M","n":"Redis::getTransferredBytes","p":"Redis.html#method_getTransferredBytes","d":null},{"t":"M","n":"Redis::hDel","p":"Redis.html#method_hDel","d":"<p>Remove one or more fields from a hash.</p>"},{"t":"M","n":"Redis::hExists","p":"Redis.html#method_hExists","d":"<p>Checks whether a field exists in a hash.</p>"},{"t":"M","n":"Redis::hGet","p":"Redis.html#method_hGet","d":null},{"t":"M","n":"Redis::hGetAll","p":"Redis.html#method_hGetAll","d":"<p>Read every field and value from a hash.</p>"},{"t":"M","n":"Redis::hIncrBy","p":"Redis.html#method_hIncrBy","d":"<p>Increment a hash field's value by an integer</p>"},{"t":"M","n":"Redis::hIncrByFloat","p":"Redis.html#method_hIncrByFloat","d":"<p>Increment a hash field by a floating point value</p>"},{"t":"M","n":"Redis::hKeys","p":"Redis.html#method_hKeys","d":"<p>Retrieve all of the fields of a hash.</p>"},{"t":"M","n":"Redis::hLen","p":"Redis.html#method_hLen","d":"<p>Get the number of fields in a hash.</p>"},{"t":"M","n":"Redis::hMget","p":"Redis.html#method_hMget","d":"<p>Get one or more fields from a hash.</p>"},{"t":"M","n":"Redis::hMset","p":"Redis.html#method_hMset","d":"<p>Add or update one or more hash fields and values</p>"},{"t":"M","n":"Redis::hRandField","p":"Redis.html#method_hRandField","d":"<p>Get one or more random field from a hash.</p>"},{"t":"M","n":"Redis::hSet","p":"Redis.html#method_hSet","d":null},{"t":"M","n":"Redis::hSetNx","p":"Redis.html#method_hSetNx","d":"<p>Set a hash field and value, but only if that field does not exist</p>"},{"t":"M","n":"Redis::hStrLen","p":"Redis.html#method_hStrLen","d":"<p>Get the string length of a hash field</p>"},{"t":"M","n":"Redis::hVals","p":"Redis.html#method_hVals","d":"<p>Get all of the values from a hash.</p>"},{"t":"M","n":"Redis::hscan","p":"Redis.html#method_hscan","d":"<p>Iterate over the fields and values of a hash in an incremental fashion.</p>"},{"t":"M","n":"Redis::incr","p":"Redis.html#method_incr","d":"<p>Increment a key's value, optionally by a specifc amount.</p>"},{"t":"M","n":"Redis::incrBy","p":"Redis.html#method_incrBy","d":"<p>Increment a key by a specific integer value</p>"},{"t":"M","n":"Redis::incrByFloat","p":"Redis.html#method_incrByFloat","d":"<p>Increment a numeric key by a floating point value.</p>"},{"t":"M","n":"Redis::info","p":"Redis.html#method_info","d":"<p>Retrieve information about the connected redis-server. If no arguments are passed to\nthis function, redis will return every info field. Alternatively you may pass a specific\nsection you want returned (e.g. 'server', or 'memory') to receive only information pertaining\nto that section.</p>"},{"t":"M","n":"Redis::isConnected","p":"Redis.html#method_isConnected","d":"<p>Check if we are currently connected to a Redis instance.</p>"},{"t":"M","n":"Redis::keys","p":"Redis.html#method_keys","d":""},{"t":"M","n":"Redis::lInsert","p":"Redis.html#method_lInsert","d":""},{"t":"M","n":"Redis::lLen","p":"Redis.html#method_lLen","d":null},{"t":"M","n":"Redis::lMove","p":"Redis.html#method_lMove","d":null},{"t":"M","n":"Redis::lPop","p":"Redis.html#method_lPop","d":null},{"t":"M","n":"Redis::lPos","p":"Redis.html#method_lPos","d":null},{"t":"M","n":"Redis::lPush","p":"Redis.html#method_lPush","d":""},{"t":"M","n":"Redis::rPush","p":"Redis.html#method_rPush","d":""},{"t":"M","n":"Redis::lPushx","p":"Redis.html#method_lPushx","d":""},{"t":"M","n":"Redis::rPushx","p":"Redis.html#method_rPushx","d":""},{"t":"M","n":"Redis::lSet","p":"Redis.html#method_lSet","d":null},{"t":"M","n":"Redis::lastSave","p":"Redis.html#method_lastSave","d":null},{"t":"M","n":"Redis::lindex","p":"Redis.html#method_lindex","d":null},{"t":"M","n":"Redis::lrange","p":"Redis.html#method_lrange","d":null},{"t":"M","n":"Redis::lrem","p":"Redis.html#method_lrem","d":""},{"t":"M","n":"Redis::ltrim","p":"Redis.html#method_ltrim","d":null},{"t":"M","n":"Redis::mget","p":"Redis.html#method_mget","d":""},{"t":"M","n":"Redis::migrate","p":"Redis.html#method_migrate","d":null},{"t":"M","n":"Redis::move","p":"Redis.html#method_move","d":null},{"t":"M","n":"Redis::mset","p":"Redis.html#method_mset","d":null},{"t":"M","n":"Redis::msetnx","p":"Redis.html#method_msetnx","d":null},{"t":"M","n":"Redis::multi","p":"Redis.html#method_multi","d":null},{"t":"M","n":"Redis::object","p":"Redis.html#method_object","d":null},{"t":"M","n":"Redis::open","p":"Redis.html#method_open","d":""},{"t":"M","n":"Redis::pconnect","p":"Redis.html#method_pconnect","d":null},{"t":"M","n":"Redis::persist","p":"Redis.html#method_persist","d":null},{"t":"M","n":"Redis::pexpire","p":"Redis.html#method_pexpire","d":"<p>Sets an expiration in milliseconds on a given key. If connected to Redis &gt;= 7.0.0\nyou can pass an optional mode argument that modifies how the command will execute.</p>"},{"t":"M","n":"Redis::pexpireAt","p":"Redis.html#method_pexpireAt","d":"<p>Set a key's expiration to a specific Unix Timestamp in milliseconds. If connected to\nRedis &gt;= 7.0.0 you can pass an optional 'mode' argument.</p>"},{"t":"M","n":"Redis::pfadd","p":"Redis.html#method_pfadd","d":"<p>Add one or more elements to a Redis HyperLogLog key</p>"},{"t":"M","n":"Redis::pfcount","p":"Redis.html#method_pfcount","d":"<p>Retrieve the cardinality of a Redis HyperLogLog key.</p>"},{"t":"M","n":"Redis::pfmerge","p":"Redis.html#method_pfmerge","d":"<p>Merge one or more source HyperLogLog sets into a destination set.</p>"},{"t":"M","n":"Redis::ping","p":"Redis.html#method_ping","d":"<p>PING the redis server with an optional string argument.</p>"},{"t":"M","n":"Redis::pipeline","p":"Redis.html#method_pipeline","d":"<p>Enter into pipeline mode.</p>"},{"t":"M","n":"Redis::popen","p":"Redis.html#method_popen","d":""},{"t":"M","n":"Redis::psetex","p":"Redis.html#method_psetex","d":""},{"t":"M","n":"Redis::psubscribe","p":"Redis.html#method_psubscribe","d":"<p>Subscribe to one or more glob-style patterns</p>"},{"t":"M","n":"Redis::pttl","p":"Redis.html#method_pttl","d":"<p>Get a keys time to live in milliseconds.</p>"},{"t":"M","n":"Redis::publish","p":"Redis.html#method_publish","d":"<p>Publish a message to a pubsub channel</p>"},{"t":"M","n":"Redis::pubsub","p":"Redis.html#method_pubsub","d":null},{"t":"M","n":"Redis::punsubscribe","p":"Redis.html#method_punsubscribe","d":"<p>Unsubscribe from one or more channels by pattern</p>"},{"t":"M","n":"Redis::rPop","p":"Redis.html#method_rPop","d":"<p>Pop one or more elements from the end of a list.</p>"},{"t":"M","n":"Redis::randomKey","p":"Redis.html#method_randomKey","d":"<p>Return a random key from the current database</p>"},{"t":"M","n":"Redis::rawcommand","p":"Redis.html#method_rawcommand","d":"<p>Execute any arbitrary Redis command by name.</p>"},{"t":"M","n":"Redis::rename","p":"Redis.html#method_rename","d":"<p>Unconditionally rename a key from $old_name to $new_name</p>"},{"t":"M","n":"Redis::renameNx","p":"Redis.html#method_renameNx","d":"<p>Renames $key_src to $key_dst but only if newkey does not exist.</p>"},{"t":"M","n":"Redis::reset","p":"Redis.html#method_reset","d":"<p>Reset the state of the connection.</p>"},{"t":"M","n":"Redis::restore","p":"Redis.html#method_restore","d":"<p>Restore a key by the binary payload generated by the DUMP command.</p>"},{"t":"M","n":"Redis::role","p":"Redis.html#method_role","d":"<p>Query whether the connected instance is a primary or replica</p>"},{"t":"M","n":"Redis::rpoplpush","p":"Redis.html#method_rpoplpush","d":"<p>Atomically pop an element off the end of a Redis LIST and push it to the beginning of\nanother.</p>"},{"t":"M","n":"Redis::sAdd","p":"Redis.html#method_sAdd","d":"<p>Add one or more values to a Redis SET key.</p>"},{"t":"M","n":"Redis::sAddArray","p":"Redis.html#method_sAddArray","d":"<p>Add one ore more values to a Redis SET key. This is an alternative to Redis::sadd() but\ninstead of being variadic, takes a single array of values.</p>"},{"t":"M","n":"Redis::sDiff","p":"Redis.html#method_sDiff","d":"<p>Given one or more Redis SETS, this command returns all of the members from the first\nset that are not in any subsequent set.</p>"},{"t":"M","n":"Redis::sDiffStore","p":"Redis.html#method_sDiffStore","d":"<p>This method performs the same operation as SDIFF except it stores the resulting diff\nvalues in a specified destination key.</p>"},{"t":"M","n":"Redis::sInter","p":"Redis.html#method_sInter","d":"<p>Given one or more Redis SET keys, this command will return all of the elements that are\nin every one.</p>"},{"t":"M","n":"Redis::sintercard","p":"Redis.html#method_sintercard","d":"<p>Compute the intersection of one or more sets and return the cardinality of the result.</p>"},{"t":"M","n":"Redis::sInterStore","p":"Redis.html#method_sInterStore","d":"<p>Perform the intersection of one or more Redis SETs, storing the result in a destination\nkey, rather than returning them.</p>"},{"t":"M","n":"Redis::sMembers","p":"Redis.html#method_sMembers","d":"<p>Retrieve every member from a set key.</p>"},{"t":"M","n":"Redis::sMisMember","p":"Redis.html#method_sMisMember","d":"<p>Check if one or more values are members of a set.</p>"},{"t":"M","n":"Redis::sMove","p":"Redis.html#method_sMove","d":"<p>Pop a member from one set and push it onto another. This command will create the\ndestination set if it does not currently exist.</p>"},{"t":"M","n":"Redis::sPop","p":"Redis.html#method_sPop","d":"<p>Remove one or more elements from a set.</p>"},{"t":"M","n":"Redis::sRandMember","p":"Redis.html#method_sRandMember","d":"<p>Retrieve one or more random members of a set.</p>"},{"t":"M","n":"Redis::sUnion","p":"Redis.html#method_sUnion","d":"<p>Returns the union of one or more Redis SET keys.</p>"},{"t":"M","n":"Redis::sUnionStore","p":"Redis.html#method_sUnionStore","d":"<p>Perform a union of one or more Redis SET keys and store the result in a new set</p>"},{"t":"M","n":"Redis::save","p":"Redis.html#method_save","d":"<p>Persist the Redis database to disk. This command will block the server until the save is\ncompleted. For a nonblocking alternative, see Redis::bgsave().</p>"},{"t":"M","n":"Redis::scan","p":"Redis.html#method_scan","d":"<p>Incrementally scan the Redis keyspace, with optional pattern and type matching.</p>"},{"t":"M","n":"Redis::scard","p":"Redis.html#method_scard","d":"<p>Retrieve the number of members in a Redis set.</p>"},{"t":"M","n":"Redis::script","p":"Redis.html#method_script","d":"<p>An administrative command used to interact with LUA scripts stored on the server.</p>"},{"t":"M","n":"Redis::select","p":"Redis.html#method_select","d":"<p>Select a specific Redis database.</p>"},{"t":"M","n":"Redis::set","p":"Redis.html#method_set","d":"<p>Create or set a Redis STRING key to a value.</p>"},{"t":"M","n":"Redis::setBit","p":"Redis.html#method_setBit","d":"<p>Set a specific bit in a Redis string to zero or one</p>"},{"t":"M","n":"Redis::setRange","p":"Redis.html#method_setRange","d":"<p>Update or append to a Redis string at a specific starting index</p>"},{"t":"M","n":"Redis::setOption","p":"Redis.html#method_setOption","d":"<p>Set a configurable option on the Redis object.</p>"},{"t":"M","n":"Redis::setex","p":"Redis.html#method_setex","d":"<p>Set a Redis STRING key with a specific expiration in seconds.</p>"},{"t":"M","n":"Redis::setnx","p":"Redis.html#method_setnx","d":"<p>Set a key to a value, but only if that key does not already exist.</p>"},{"t":"M","n":"Redis::sismember","p":"Redis.html#method_sismember","d":"<p>Check whether a given value is the member of a Redis SET.</p>"},{"t":"M","n":"Redis::slaveof","p":"Redis.html#method_slaveof","d":"<p>Turn a redis instance into a replica of another or promote a replica\nto a primary.</p>"},{"t":"M","n":"Redis::replicaof","p":"Redis.html#method_replicaof","d":"<p>Used to turn a Redis instance into a replica of another, or to remove\nreplica status promoting the instance to a primary.</p>"},{"t":"M","n":"Redis::touch","p":"Redis.html#method_touch","d":"<p>Update one or more keys last modified metadata.</p>"},{"t":"M","n":"Redis::slowlog","p":"Redis.html#method_slowlog","d":"<p>Interact with Redis' slowlog functionality in various ways, depending\non the value of 'operation'.</p>"},{"t":"M","n":"Redis::sort","p":"Redis.html#method_sort","d":"<p>Sort the contents of a Redis key in various ways.</p>"},{"t":"M","n":"Redis::sort_ro","p":"Redis.html#method_sort_ro","d":"<p>This is simply a read-only variant of the sort command</p>"},{"t":"M","n":"Redis::sortAsc","p":"Redis.html#method_sortAsc","d":""},{"t":"M","n":"Redis::sortAscAlpha","p":"Redis.html#method_sortAscAlpha","d":""},{"t":"M","n":"Redis::sortDesc","p":"Redis.html#method_sortDesc","d":""},{"t":"M","n":"Redis::sortDescAlpha","p":"Redis.html#method_sortDescAlpha","d":""},{"t":"M","n":"Redis::srem","p":"Redis.html#method_srem","d":"<p>Remove one or more values from a Redis SET key.</p>"},{"t":"M","n":"Redis::sscan","p":"Redis.html#method_sscan","d":"<p>Scan the members of a redis SET key.</p>"},{"t":"M","n":"Redis::strlen","p":"Redis.html#method_strlen","d":"<p>Retrieve the length of a Redis STRING key.</p>"},{"t":"M","n":"Redis::subscribe","p":"Redis.html#method_subscribe","d":"<p>Subscribe to one or more Redis pubsub channels.</p>"},{"t":"M","n":"Redis::swapdb","p":"Redis.html#method_swapdb","d":"<p>Atomically swap two Redis databases so that all of the keys in the source database will\nnow be in the destination database and vice-versa.</p>"},{"t":"M","n":"Redis::time","p":"Redis.html#method_time","d":"<p>Retrieve the server time from the connected Redis instance.</p>"},{"t":"M","n":"Redis::ttl","p":"Redis.html#method_ttl","d":"<p>Get the amount of time a Redis key has before it will expire, in seconds.</p>"},{"t":"M","n":"Redis::type","p":"Redis.html#method_type","d":"<p>Get the type of a given Redis key.</p>"},{"t":"M","n":"Redis::unlink","p":"Redis.html#method_unlink","d":"<p>Delete one or more keys from the Redis database. Unlike this operation, the actual\ndeletion is asynchronous, meaning it is safe to delete large keys without fear of\nRedis blocking for a long period of time.</p>"},{"t":"M","n":"Redis::unsubscribe","p":"Redis.html#method_unsubscribe","d":"<p>Unsubscribe from one or more subscribed channels.</p>"},{"t":"M","n":"Redis::unwatch","p":"Redis.html#method_unwatch","d":"<p>Remove any previously WATCH'ed keys in a transaction.</p>"},{"t":"M","n":"Redis::watch","p":"Redis.html#method_watch","d":""},{"t":"M","n":"Redis::wait","p":"Redis.html#method_wait","d":"<p>Block the client up to the provided timeout until a certain number of replicas have confirmed\nrecieving them.</p>"},{"t":"M","n":"Redis::xack","p":"Redis.html#method_xack","d":null},{"t":"M","n":"Redis::xadd","p":"Redis.html#method_xadd","d":"<p>Append a message to a stream.</p>"},{"t":"M","n":"Redis::xautoclaim","p":"Redis.html#method_xautoclaim","d":null},{"t":"M","n":"Redis::xclaim","p":"Redis.html#method_xclaim","d":null},{"t":"M","n":"Redis::xdel","p":"Redis.html#method_xdel","d":"<p>Remove one or more specific IDs from a stream.</p>"},{"t":"M","n":"Redis::xgroup","p":"Redis.html#method_xgroup","d":"XGROUP"},{"t":"M","n":"Redis::xinfo","p":"Redis.html#method_xinfo","d":"<p>Retrieve information about a stream key.</p>"},{"t":"M","n":"Redis::xlen","p":"Redis.html#method_xlen","d":"<p>Get the number of messages in a Redis STREAM key.</p>"},{"t":"M","n":"Redis::xpending","p":"Redis.html#method_xpending","d":"<p>Interact with stream messages that have been consumed by a consumer group but not yet\nacknowledged with XACK.</p>"},{"t":"M","n":"Redis::xrange","p":"Redis.html#method_xrange","d":"<p>Get a range of entries from a STREAM key.</p>"},{"t":"M","n":"Redis::xread","p":"Redis.html#method_xread","d":"<p>Consume one or more unconsumed elements in one or more streams.</p>"},{"t":"M","n":"Redis::xreadgroup","p":"Redis.html#method_xreadgroup","d":"<p>Read one or more messages using a consumer group.</p>"},{"t":"M","n":"Redis::xrevrange","p":"Redis.html#method_xrevrange","d":"<p>Get a range of entries from a STREAM ke in reverse cronological order.</p>"},{"t":"M","n":"Redis::xtrim","p":"Redis.html#method_xtrim","d":"<p>Truncate a STREAM key in various ways.</p>"},{"t":"M","n":"Redis::zAdd","p":"Redis.html#method_zAdd","d":"<p>Add one or more elements and scores to a Redis sorted set.</p>"},{"t":"M","n":"Redis::zCard","p":"Redis.html#method_zCard","d":"<p>Return the number of elements in a sorted set.</p>"},{"t":"M","n":"Redis::zCount","p":"Redis.html#method_zCount","d":"<p>Count the number of members in a sorted set with scores inside a provided range.</p>"},{"t":"M","n":"Redis::zIncrBy","p":"Redis.html#method_zIncrBy","d":"<p>Create or increment the score of a member in a Redis sorted set</p>"},{"t":"M","n":"Redis::zLexCount","p":"Redis.html#method_zLexCount","d":"<p>Count the number of elements in a sorted set whos members fall within the provided\nlexographical range.</p>"},{"t":"M","n":"Redis::zMscore","p":"Redis.html#method_zMscore","d":"<p>Retrieve the score of one or more members in a sorted set.</p>"},{"t":"M","n":"Redis::zPopMax","p":"Redis.html#method_zPopMax","d":"<p>Pop one or more of the highest scoring elements from a sorted set.</p>"},{"t":"M","n":"Redis::zPopMin","p":"Redis.html#method_zPopMin","d":"<p>Pop one or more of the lowest scoring elements from a sorted set.</p>"},{"t":"M","n":"Redis::zRange","p":"Redis.html#method_zRange","d":"<p>Retrieve a range of elements of a sorted set between a start and end point.</p>"},{"t":"M","n":"Redis::zRangeByLex","p":"Redis.html#method_zRangeByLex","d":"<p>Retrieve a range of elements from a sorted set by legographical range.</p>"},{"t":"M","n":"Redis::zRangeByScore","p":"Redis.html#method_zRangeByScore","d":"<p>Retrieve a range of members from a sorted set by their score.</p>"},{"t":"M","n":"Redis::zrangestore","p":"Redis.html#method_zrangestore","d":"<p>This command is similar to ZRANGE except that instead of returning the values directly\nit will store them in a destination key provided by the user</p>"},{"t":"M","n":"Redis::zRandMember","p":"Redis.html#method_zRandMember","d":"<p>Retrieve one or more random members from a Redis sorted set.</p>"},{"t":"M","n":"Redis::zRank","p":"Redis.html#method_zRank","d":"<p>Get the rank of a member of a sorted set, by score.</p>"},{"t":"M","n":"Redis::zRem","p":"Redis.html#method_zRem","d":"<p>Remove one or more members from a Redis sorted set.</p>"},{"t":"M","n":"Redis::zRemRangeByLex","p":"Redis.html#method_zRemRangeByLex","d":"<p>Remove zero or more elements from a Redis sorted set by legographical range.</p>"},{"t":"M","n":"Redis::zRemRangeByRank","p":"Redis.html#method_zRemRangeByRank","d":"<p>Remove one or more members of a sorted set by their rank.</p>"},{"t":"M","n":"Redis::zRemRangeByScore","p":"Redis.html#method_zRemRangeByScore","d":"<p>Remove one or more members of a sorted set by their score.</p>"},{"t":"M","n":"Redis::zRevRange","p":"Redis.html#method_zRevRange","d":"<p>List the members of a Redis sorted set in reverse order</p>"},{"t":"M","n":"Redis::zRevRangeByLex","p":"Redis.html#method_zRevRangeByLex","d":"<p>List members of a Redis sorted set within a legographical range, in reverse order.</p>"},{"t":"M","n":"Redis::zRevRangeByScore","p":"Redis.html#method_zRevRangeByScore","d":"<p>List elements from a Redis sorted set by score, highest to lowest</p>"},{"t":"M","n":"Redis::zRevRank","p":"Redis.html#method_zRevRank","d":"<p>Retrieve a member of a sorted set by reverse rank.</p>"},{"t":"M","n":"Redis::zScore","p":"Redis.html#method_zScore","d":"<p>Get the score of a member of a sorted set.</p>"},{"t":"M","n":"Redis::zdiff","p":"Redis.html#method_zdiff","d":"<p>Given one or more sorted set key names, return every element that is in the first\nset but not any of the others.</p>"},{"t":"M","n":"Redis::zdiffstore","p":"Redis.html#method_zdiffstore","d":"<p>Store the difference of one or more sorted sets in a destination sorted set.</p>"},{"t":"M","n":"Redis::zinter","p":"Redis.html#method_zinter","d":"<p>Compute the intersection of one or more sorted sets and return the members</p>"},{"t":"M","n":"Redis::zintercard","p":"Redis.html#method_zintercard","d":"<p>Similar to ZINTER but instead of returning the intersected values, this command returns the\ncardinality of the intersected set.</p>"},{"t":"M","n":"Redis::zinterstore","p":"Redis.html#method_zinterstore","d":"<p>Compute the intersection of one ore more sorted sets storing the result in a new sorted set.</p>"},{"t":"M","n":"Redis::zscan","p":"Redis.html#method_zscan","d":"<p>Scan the members of a sorted set incrementally, using a cursor</p>"},{"t":"M","n":"Redis::zunion","p":"Redis.html#method_zunion","d":"<p>Retrieve the union of one or more sorted sets</p>"},{"t":"M","n":"Redis::zunionstore","p":"Redis.html#method_zunionstore","d":"<p>Perform a union on one or more Redis sets and store the result in a destination sorted set.</p>"},{"t":"M","n":"RedisArray::__call","p":"RedisArray.html#method___call","d":null},{"t":"M","n":"RedisArray::__construct","p":"RedisArray.html#method___construct","d":null},{"t":"M","n":"RedisArray::_continuum","p":"RedisArray.html#method__continuum","d":null},{"t":"M","n":"RedisArray::_distributor","p":"RedisArray.html#method__distributor","d":null},{"t":"M","n":"RedisArray::_function","p":"RedisArray.html#method__function","d":null},{"t":"M","n":"RedisArray::_hosts","p":"RedisArray.html#method__hosts","d":null},{"t":"M","n":"RedisArray::_instance","p":"RedisArray.html#method__instance","d":null},{"t":"M","n":"RedisArray::_rehash","p":"RedisArray.html#method__rehash","d":null},{"t":"M","n":"RedisArray::_target","p":"RedisArray.html#method__target","d":null},{"t":"M","n":"RedisArray::bgsave","p":"RedisArray.html#method_bgsave","d":null},{"t":"M","n":"RedisArray::del","p":"RedisArray.html#method_del","d":null},{"t":"M","n":"RedisArray::discard","p":"RedisArray.html#method_discard","d":null},{"t":"M","n":"RedisArray::exec","p":"RedisArray.html#method_exec","d":null},{"t":"M","n":"RedisArray::flushall","p":"RedisArray.html#method_flushall","d":null},{"t":"M","n":"RedisArray::flushdb","p":"RedisArray.html#method_flushdb","d":null},{"t":"M","n":"RedisArray::getOption","p":"RedisArray.html#method_getOption","d":null},{"t":"M","n":"RedisArray::hscan","p":"RedisArray.html#method_hscan","d":null},{"t":"M","n":"RedisArray::info","p":"RedisArray.html#method_info","d":null},{"t":"M","n":"RedisArray::keys","p":"RedisArray.html#method_keys","d":null},{"t":"M","n":"RedisArray::mget","p":"RedisArray.html#method_mget","d":null},{"t":"M","n":"RedisArray::mset","p":"RedisArray.html#method_mset","d":null},{"t":"M","n":"RedisArray::multi","p":"RedisArray.html#method_multi","d":null},{"t":"M","n":"RedisArray::ping","p":"RedisArray.html#method_ping","d":null},{"t":"M","n":"RedisArray::save","p":"RedisArray.html#method_save","d":null},{"t":"M","n":"RedisArray::scan","p":"RedisArray.html#method_scan","d":null},{"t":"M","n":"RedisArray::select","p":"RedisArray.html#method_select","d":null},{"t":"M","n":"RedisArray::setOption","p":"RedisArray.html#method_setOption","d":null},{"t":"M","n":"RedisArray::sscan","p":"RedisArray.html#method_sscan","d":null},{"t":"M","n":"RedisArray::unlink","p":"RedisArray.html#method_unlink","d":null},{"t":"M","n":"RedisArray::unwatch","p":"RedisArray.html#method_unwatch","d":null},{"t":"M","n":"RedisArray::zscan","p":"RedisArray.html#method_zscan","d":null},{"t":"M","n":"RedisCluster::__construct","p":"RedisCluster.html#method___construct","d":null},{"t":"M","n":"RedisCluster::_compress","p":"RedisCluster.html#method__compress","d":""},{"t":"M","n":"RedisCluster::_uncompress","p":"RedisCluster.html#method__uncompress","d":""},{"t":"M","n":"RedisCluster::_serialize","p":"RedisCluster.html#method__serialize","d":""},{"t":"M","n":"RedisCluster::_unserialize","p":"RedisCluster.html#method__unserialize","d":""},{"t":"M","n":"RedisCluster::_pack","p":"RedisCluster.html#method__pack","d":""},{"t":"M","n":"RedisCluster::_unpack","p":"RedisCluster.html#method__unpack","d":""},{"t":"M","n":"RedisCluster::_prefix","p":"RedisCluster.html#method__prefix","d":""},{"t":"M","n":"RedisCluster::_masters","p":"RedisCluster.html#method__masters","d":null},{"t":"M","n":"RedisCluster::_redir","p":"RedisCluster.html#method__redir","d":null},{"t":"M","n":"RedisCluster::acl","p":"RedisCluster.html#method_acl","d":""},{"t":"M","n":"RedisCluster::append","p":"RedisCluster.html#method_append","d":""},{"t":"M","n":"RedisCluster::bgrewriteaof","p":"RedisCluster.html#method_bgrewriteaof","d":""},{"t":"M","n":"RedisCluster::bgsave","p":"RedisCluster.html#method_bgsave","d":""},{"t":"M","n":"RedisCluster::bitcount","p":"RedisCluster.html#method_bitcount","d":""},{"t":"M","n":"RedisCluster::bitop","p":"RedisCluster.html#method_bitop","d":""},{"t":"M","n":"RedisCluster::bitpos","p":"RedisCluster.html#method_bitpos","d":"<p>Return the position of the first bit set to 0 or 1 in a string.</p>"},{"t":"M","n":"RedisCluster::blpop","p":"RedisCluster.html#method_blpop","d":"<p>See Redis::blpop()</p>"},{"t":"M","n":"RedisCluster::brpop","p":"RedisCluster.html#method_brpop","d":"<p>See Redis::brpop()</p>"},{"t":"M","n":"RedisCluster::brpoplpush","p":"RedisCluster.html#method_brpoplpush","d":"<p>See Redis::brpoplpush()</p>"},{"t":"M","n":"RedisCluster::bzpopmax","p":"RedisCluster.html#method_bzpopmax","d":""},{"t":"M","n":"RedisCluster::bzpopmin","p":"RedisCluster.html#method_bzpopmin","d":""},{"t":"M","n":"RedisCluster::bzmpop","p":"RedisCluster.html#method_bzmpop","d":""},{"t":"M","n":"RedisCluster::zmpop","p":"RedisCluster.html#method_zmpop","d":""},{"t":"M","n":"RedisCluster::blmpop","p":"RedisCluster.html#method_blmpop","d":""},{"t":"M","n":"RedisCluster::lmpop","p":"RedisCluster.html#method_lmpop","d":""},{"t":"M","n":"RedisCluster::clearlasterror","p":"RedisCluster.html#method_clearlasterror","d":""},{"t":"M","n":"RedisCluster::client","p":"RedisCluster.html#method_client","d":""},{"t":"M","n":"RedisCluster::close","p":"RedisCluster.html#method_close","d":""},{"t":"M","n":"RedisCluster::cluster","p":"RedisCluster.html#method_cluster","d":""},{"t":"M","n":"RedisCluster::command","p":"RedisCluster.html#method_command","d":""},{"t":"M","n":"RedisCluster::config","p":"RedisCluster.html#method_config","d":""},{"t":"M","n":"RedisCluster::dbsize","p":"RedisCluster.html#method_dbsize","d":""},{"t":"M","n":"RedisCluster::decr","p":"RedisCluster.html#method_decr","d":""},{"t":"M","n":"RedisCluster::decrby","p":"RedisCluster.html#method_decrby","d":""},{"t":"M","n":"RedisCluster::decrbyfloat","p":"RedisCluster.html#method_decrbyfloat","d":""},{"t":"M","n":"RedisCluster::del","p":"RedisCluster.html#method_del","d":""},{"t":"M","n":"RedisCluster::discard","p":"RedisCluster.html#method_discard","d":""},{"t":"M","n":"RedisCluster::dump","p":"RedisCluster.html#method_dump","d":""},{"t":"M","n":"RedisCluster::echo","p":"RedisCluster.html#method_echo","d":""},{"t":"M","n":"RedisCluster::eval","p":"RedisCluster.html#method_eval","d":""},{"t":"M","n":"RedisCluster::eval_ro","p":"RedisCluster.html#method_eval_ro","d":""},{"t":"M","n":"RedisCluster::evalsha","p":"RedisCluster.html#method_evalsha","d":""},{"t":"M","n":"RedisCluster::evalsha_ro","p":"RedisCluster.html#method_evalsha_ro","d":""},{"t":"M","n":"RedisCluster::exec","p":"RedisCluster.html#method_exec","d":""},{"t":"M","n":"RedisCluster::exists","p":"RedisCluster.html#method_exists","d":""},{"t":"M","n":"RedisCluster::touch","p":"RedisCluster.html#method_touch","d":""},{"t":"M","n":"RedisCluster::expire","p":"RedisCluster.html#method_expire","d":""},{"t":"M","n":"RedisCluster::expireat","p":"RedisCluster.html#method_expireat","d":""},{"t":"M","n":"RedisCluster::expiretime","p":"RedisCluster.html#method_expiretime","d":""},{"t":"M","n":"RedisCluster::pexpiretime","p":"RedisCluster.html#method_pexpiretime","d":""},{"t":"M","n":"RedisCluster::flushall","p":"RedisCluster.html#method_flushall","d":""},{"t":"M","n":"RedisCluster::flushdb","p":"RedisCluster.html#method_flushdb","d":""},{"t":"M","n":"RedisCluster::geoadd","p":"RedisCluster.html#method_geoadd","d":""},{"t":"M","n":"RedisCluster::geodist","p":"RedisCluster.html#method_geodist","d":""},{"t":"M","n":"RedisCluster::geohash","p":"RedisCluster.html#method_geohash","d":""},{"t":"M","n":"RedisCluster::geopos","p":"RedisCluster.html#method_geopos","d":""},{"t":"M","n":"RedisCluster::georadius","p":"RedisCluster.html#method_georadius","d":""},{"t":"M","n":"RedisCluster::georadius_ro","p":"RedisCluster.html#method_georadius_ro","d":""},{"t":"M","n":"RedisCluster::georadiusbymember","p":"RedisCluster.html#method_georadiusbymember","d":""},{"t":"M","n":"RedisCluster::georadiusbymember_ro","p":"RedisCluster.html#method_georadiusbymember_ro","d":""},{"t":"M","n":"RedisCluster::get","p":"RedisCluster.html#method_get","d":""},{"t":"M","n":"RedisCluster::getbit","p":"RedisCluster.html#method_getbit","d":""},{"t":"M","n":"RedisCluster::getlasterror","p":"RedisCluster.html#method_getlasterror","d":""},{"t":"M","n":"RedisCluster::getmode","p":"RedisCluster.html#method_getmode","d":""},{"t":"M","n":"RedisCluster::getoption","p":"RedisCluster.html#method_getoption","d":""},{"t":"M","n":"RedisCluster::getrange","p":"RedisCluster.html#method_getrange","d":""},{"t":"M","n":"RedisCluster::lcs","p":"RedisCluster.html#method_lcs","d":""},{"t":"M","n":"RedisCluster::getset","p":"RedisCluster.html#method_getset","d":""},{"t":"M","n":"RedisCluster::gettransferredbytes","p":"RedisCluster.html#method_gettransferredbytes","d":""},{"t":"M","n":"RedisCluster::hdel","p":"RedisCluster.html#method_hdel","d":""},{"t":"M","n":"RedisCluster::hexists","p":"RedisCluster.html#method_hexists","d":""},{"t":"M","n":"RedisCluster::hget","p":"RedisCluster.html#method_hget","d":""},{"t":"M","n":"RedisCluster::hgetall","p":"RedisCluster.html#method_hgetall","d":""},{"t":"M","n":"RedisCluster::hincrby","p":"RedisCluster.html#method_hincrby","d":""},{"t":"M","n":"RedisCluster::hincrbyfloat","p":"RedisCluster.html#method_hincrbyfloat","d":""},{"t":"M","n":"RedisCluster::hkeys","p":"RedisCluster.html#method_hkeys","d":""},{"t":"M","n":"RedisCluster::hlen","p":"RedisCluster.html#method_hlen","d":""},{"t":"M","n":"RedisCluster::hmget","p":"RedisCluster.html#method_hmget","d":""},{"t":"M","n":"RedisCluster::hmset","p":"RedisCluster.html#method_hmset","d":""},{"t":"M","n":"RedisCluster::hscan","p":"RedisCluster.html#method_hscan","d":""},{"t":"M","n":"RedisCluster::hset","p":"RedisCluster.html#method_hset","d":""},{"t":"M","n":"RedisCluster::hsetnx","p":"RedisCluster.html#method_hsetnx","d":""},{"t":"M","n":"RedisCluster::hstrlen","p":"RedisCluster.html#method_hstrlen","d":""},{"t":"M","n":"RedisCluster::hvals","p":"RedisCluster.html#method_hvals","d":""},{"t":"M","n":"RedisCluster::incr","p":"RedisCluster.html#method_incr","d":""},{"t":"M","n":"RedisCluster::incrby","p":"RedisCluster.html#method_incrby","d":""},{"t":"M","n":"RedisCluster::incrbyfloat","p":"RedisCluster.html#method_incrbyfloat","d":""},{"t":"M","n":"RedisCluster::info","p":"RedisCluster.html#method_info","d":"<p>Retrieve information about the connected redis-server. If no arguments are passed to\nthis function, redis will return every info field. Alternatively you may pass a specific\nsection you want returned (e.g. 'server', or 'memory') to receive only information pertaining\nto that section.</p>"},{"t":"M","n":"RedisCluster::keys","p":"RedisCluster.html#method_keys","d":""},{"t":"M","n":"RedisCluster::lastsave","p":"RedisCluster.html#method_lastsave","d":""},{"t":"M","n":"RedisCluster::lget","p":"RedisCluster.html#method_lget","d":""},{"t":"M","n":"RedisCluster::lindex","p":"RedisCluster.html#method_lindex","d":""},{"t":"M","n":"RedisCluster::linsert","p":"RedisCluster.html#method_linsert","d":""},{"t":"M","n":"RedisCluster::llen","p":"RedisCluster.html#method_llen","d":""},{"t":"M","n":"RedisCluster::lpop","p":"RedisCluster.html#method_lpop","d":""},{"t":"M","n":"RedisCluster::lpush","p":"RedisCluster.html#method_lpush","d":""},{"t":"M","n":"RedisCluster::lpushx","p":"RedisCluster.html#method_lpushx","d":""},{"t":"M","n":"RedisCluster::lrange","p":"RedisCluster.html#method_lrange","d":""},{"t":"M","n":"RedisCluster::lrem","p":"RedisCluster.html#method_lrem","d":""},{"t":"M","n":"RedisCluster::lset","p":"RedisCluster.html#method_lset","d":""},{"t":"M","n":"RedisCluster::ltrim","p":"RedisCluster.html#method_ltrim","d":""},{"t":"M","n":"RedisCluster::mget","p":"RedisCluster.html#method_mget","d":""},{"t":"M","n":"RedisCluster::mset","p":"RedisCluster.html#method_mset","d":""},{"t":"M","n":"RedisCluster::msetnx","p":"RedisCluster.html#method_msetnx","d":""},{"t":"M","n":"RedisCluster::multi","p":"RedisCluster.html#method_multi","d":null},{"t":"M","n":"RedisCluster::object","p":"RedisCluster.html#method_object","d":""},{"t":"M","n":"RedisCluster::persist","p":"RedisCluster.html#method_persist","d":""},{"t":"M","n":"RedisCluster::pexpire","p":"RedisCluster.html#method_pexpire","d":""},{"t":"M","n":"RedisCluster::pexpireat","p":"RedisCluster.html#method_pexpireat","d":""},{"t":"M","n":"RedisCluster::pfadd","p":"RedisCluster.html#method_pfadd","d":""},{"t":"M","n":"RedisCluster::pfcount","p":"RedisCluster.html#method_pfcount","d":""},{"t":"M","n":"RedisCluster::pfmerge","p":"RedisCluster.html#method_pfmerge","d":""},{"t":"M","n":"RedisCluster::ping","p":"RedisCluster.html#method_ping","d":"<p>PING an instance in the redis cluster.</p>"},{"t":"M","n":"RedisCluster::psetex","p":"RedisCluster.html#method_psetex","d":""},{"t":"M","n":"RedisCluster::psubscribe","p":"RedisCluster.html#method_psubscribe","d":""},{"t":"M","n":"RedisCluster::pttl","p":"RedisCluster.html#method_pttl","d":""},{"t":"M","n":"RedisCluster::publish","p":"RedisCluster.html#method_publish","d":""},{"t":"M","n":"RedisCluster::pubsub","p":"RedisCluster.html#method_pubsub","d":""},{"t":"M","n":"RedisCluster::punsubscribe","p":"RedisCluster.html#method_punsubscribe","d":""},{"t":"M","n":"RedisCluster::randomkey","p":"RedisCluster.html#method_randomkey","d":""},{"t":"M","n":"RedisCluster::rawcommand","p":"RedisCluster.html#method_rawcommand","d":""},{"t":"M","n":"RedisCluster::rename","p":"RedisCluster.html#method_rename","d":""},{"t":"M","n":"RedisCluster::renamenx","p":"RedisCluster.html#method_renamenx","d":""},{"t":"M","n":"RedisCluster::restore","p":"RedisCluster.html#method_restore","d":""},{"t":"M","n":"RedisCluster::role","p":"RedisCluster.html#method_role","d":""},{"t":"M","n":"RedisCluster::rpop","p":"RedisCluster.html#method_rpop","d":""},{"t":"M","n":"RedisCluster::rpoplpush","p":"RedisCluster.html#method_rpoplpush","d":""},{"t":"M","n":"RedisCluster::rpush","p":"RedisCluster.html#method_rpush","d":""},{"t":"M","n":"RedisCluster::rpushx","p":"RedisCluster.html#method_rpushx","d":""},{"t":"M","n":"RedisCluster::sadd","p":"RedisCluster.html#method_sadd","d":""},{"t":"M","n":"RedisCluster::saddarray","p":"RedisCluster.html#method_saddarray","d":""},{"t":"M","n":"RedisCluster::save","p":"RedisCluster.html#method_save","d":""},{"t":"M","n":"RedisCluster::scan","p":"RedisCluster.html#method_scan","d":""},{"t":"M","n":"RedisCluster::scard","p":"RedisCluster.html#method_scard","d":""},{"t":"M","n":"RedisCluster::script","p":"RedisCluster.html#method_script","d":""},{"t":"M","n":"RedisCluster::sdiff","p":"RedisCluster.html#method_sdiff","d":""},{"t":"M","n":"RedisCluster::sdiffstore","p":"RedisCluster.html#method_sdiffstore","d":""},{"t":"M","n":"RedisCluster::set","p":"RedisCluster.html#method_set","d":""},{"t":"M","n":"RedisCluster::setbit","p":"RedisCluster.html#method_setbit","d":""},{"t":"M","n":"RedisCluster::setex","p":"RedisCluster.html#method_setex","d":""},{"t":"M","n":"RedisCluster::setnx","p":"RedisCluster.html#method_setnx","d":""},{"t":"M","n":"RedisCluster::setoption","p":"RedisCluster.html#method_setoption","d":""},{"t":"M","n":"RedisCluster::setrange","p":"RedisCluster.html#method_setrange","d":""},{"t":"M","n":"RedisCluster::sinter","p":"RedisCluster.html#method_sinter","d":""},{"t":"M","n":"RedisCluster::sintercard","p":"RedisCluster.html#method_sintercard","d":""},{"t":"M","n":"RedisCluster::sinterstore","p":"RedisCluster.html#method_sinterstore","d":""},{"t":"M","n":"RedisCluster::sismember","p":"RedisCluster.html#method_sismember","d":""},{"t":"M","n":"RedisCluster::slowlog","p":"RedisCluster.html#method_slowlog","d":""},{"t":"M","n":"RedisCluster::smembers","p":"RedisCluster.html#method_smembers","d":""},{"t":"M","n":"RedisCluster::smove","p":"RedisCluster.html#method_smove","d":""},{"t":"M","n":"RedisCluster::sort","p":"RedisCluster.html#method_sort","d":""},{"t":"M","n":"RedisCluster::sort_ro","p":"RedisCluster.html#method_sort_ro","d":""},{"t":"M","n":"RedisCluster::spop","p":"RedisCluster.html#method_spop","d":""},{"t":"M","n":"RedisCluster::srandmember","p":"RedisCluster.html#method_srandmember","d":""},{"t":"M","n":"RedisCluster::srem","p":"RedisCluster.html#method_srem","d":""},{"t":"M","n":"RedisCluster::sscan","p":"RedisCluster.html#method_sscan","d":""},{"t":"M","n":"RedisCluster::strlen","p":"RedisCluster.html#method_strlen","d":""},{"t":"M","n":"RedisCluster::subscribe","p":"RedisCluster.html#method_subscribe","d":""},{"t":"M","n":"RedisCluster::sunion","p":"RedisCluster.html#method_sunion","d":""},{"t":"M","n":"RedisCluster::sunionstore","p":"RedisCluster.html#method_sunionstore","d":""},{"t":"M","n":"RedisCluster::time","p":"RedisCluster.html#method_time","d":""},{"t":"M","n":"RedisCluster::ttl","p":"RedisCluster.html#method_ttl","d":""},{"t":"M","n":"RedisCluster::type","p":"RedisCluster.html#method_type","d":""},{"t":"M","n":"RedisCluster::unsubscribe","p":"RedisCluster.html#method_unsubscribe","d":""},{"t":"M","n":"RedisCluster::unlink","p":"RedisCluster.html#method_unlink","d":""},{"t":"M","n":"RedisCluster::unwatch","p":"RedisCluster.html#method_unwatch","d":""},{"t":"M","n":"RedisCluster::watch","p":"RedisCluster.html#method_watch","d":""},{"t":"M","n":"RedisCluster::xack","p":"RedisCluster.html#method_xack","d":""},{"t":"M","n":"RedisCluster::xadd","p":"RedisCluster.html#method_xadd","d":""},{"t":"M","n":"RedisCluster::xclaim","p":"RedisCluster.html#method_xclaim","d":""},{"t":"M","n":"RedisCluster::xdel","p":"RedisCluster.html#method_xdel","d":""},{"t":"M","n":"RedisCluster::xgroup","p":"RedisCluster.html#method_xgroup","d":""},{"t":"M","n":"RedisCluster::xinfo","p":"RedisCluster.html#method_xinfo","d":""},{"t":"M","n":"RedisCluster::xlen","p":"RedisCluster.html#method_xlen","d":""},{"t":"M","n":"RedisCluster::xpending","p":"RedisCluster.html#method_xpending","d":""},{"t":"M","n":"RedisCluster::xrange","p":"RedisCluster.html#method_xrange","d":""},{"t":"M","n":"RedisCluster::xread","p":"RedisCluster.html#method_xread","d":""},{"t":"M","n":"RedisCluster::xreadgroup","p":"RedisCluster.html#method_xreadgroup","d":""},{"t":"M","n":"RedisCluster::xrevrange","p":"RedisCluster.html#method_xrevrange","d":""},{"t":"M","n":"RedisCluster::xtrim","p":"RedisCluster.html#method_xtrim","d":""},{"t":"M","n":"RedisCluster::zadd","p":"RedisCluster.html#method_zadd","d":""},{"t":"M","n":"RedisCluster::zcard","p":"RedisCluster.html#method_zcard","d":""},{"t":"M","n":"RedisCluster::zcount","p":"RedisCluster.html#method_zcount","d":""},{"t":"M","n":"RedisCluster::zincrby","p":"RedisCluster.html#method_zincrby","d":""},{"t":"M","n":"RedisCluster::zinterstore","p":"RedisCluster.html#method_zinterstore","d":""},{"t":"M","n":"RedisCluster::zintercard","p":"RedisCluster.html#method_zintercard","d":""},{"t":"M","n":"RedisCluster::zlexcount","p":"RedisCluster.html#method_zlexcount","d":""},{"t":"M","n":"RedisCluster::zpopmax","p":"RedisCluster.html#method_zpopmax","d":""},{"t":"M","n":"RedisCluster::zpopmin","p":"RedisCluster.html#method_zpopmin","d":""},{"t":"M","n":"RedisCluster::zrange","p":"RedisCluster.html#method_zrange","d":""},{"t":"M","n":"RedisCluster::zrangestore","p":"RedisCluster.html#method_zrangestore","d":""},{"t":"M","n":"RedisCluster::zrangebylex","p":"RedisCluster.html#method_zrangebylex","d":""},{"t":"M","n":"RedisCluster::zrangebyscore","p":"RedisCluster.html#method_zrangebyscore","d":""},{"t":"M","n":"RedisCluster::zrank","p":"RedisCluster.html#method_zrank","d":""},{"t":"M","n":"RedisCluster::zrem","p":"RedisCluster.html#method_zrem","d":""},{"t":"M","n":"RedisCluster::zremrangebylex","p":"RedisCluster.html#method_zremrangebylex","d":""},{"t":"M","n":"RedisCluster::zremrangebyrank","p":"RedisCluster.html#method_zremrangebyrank","d":""},{"t":"M","n":"RedisCluster::zremrangebyscore","p":"RedisCluster.html#method_zremrangebyscore","d":""},{"t":"M","n":"RedisCluster::zrevrange","p":"RedisCluster.html#method_zrevrange","d":""},{"t":"M","n":"RedisCluster::zrevrangebylex","p":"RedisCluster.html#method_zrevrangebylex","d":""},{"t":"M","n":"RedisCluster::zrevrangebyscore","p":"RedisCluster.html#method_zrevrangebyscore","d":""},{"t":"M","n":"RedisCluster::zrevrank","p":"RedisCluster.html#method_zrevrank","d":""},{"t":"M","n":"RedisCluster::zscan","p":"RedisCluster.html#method_zscan","d":""},{"t":"M","n":"RedisCluster::zscore","p":"RedisCluster.html#method_zscore","d":""},{"t":"M","n":"RedisCluster::zunionstore","p":"RedisCluster.html#method_zunionstore","d":""},{"t":"M","n":"RedisSentinel::__construct","p":"RedisSentinel.html#method___construct","d":null},{"t":"M","n":"RedisSentinel::ckquorum","p":"RedisSentinel.html#method_ckquorum","d":""},{"t":"M","n":"RedisSentinel::failover","p":"RedisSentinel.html#method_failover","d":""},{"t":"M","n":"RedisSentinel::flushconfig","p":"RedisSentinel.html#method_flushconfig","d":""},{"t":"M","n":"RedisSentinel::getMasterAddrByName","p":"RedisSentinel.html#method_getMasterAddrByName","d":""},{"t":"M","n":"RedisSentinel::master","p":"RedisSentinel.html#method_master","d":""},{"t":"M","n":"RedisSentinel::masters","p":"RedisSentinel.html#method_masters","d":""},{"t":"M","n":"RedisSentinel::myid","p":"RedisSentinel.html#method_myid","d":null},{"t":"M","n":"RedisSentinel::ping","p":"RedisSentinel.html#method_ping","d":""},{"t":"M","n":"RedisSentinel::reset","p":"RedisSentinel.html#method_reset","d":""},{"t":"M","n":"RedisSentinel::sentinels","p":"RedisSentinel.html#method_sentinels","d":""},{"t":"M","n":"RedisSentinel::slaves","p":"RedisSentinel.html#method_slaves","d":""},{"t":"N","n":"","p":"[Global_Namespace].html"}]}
diff --git a/docs/doctum.js b/docs/doctum.js
new file mode 100644
index 00000000..d4873865
--- /dev/null
+++ b/docs/doctum.js
@@ -0,0 +1,316 @@
+var Doctum = {
+ treeJson: {"tree":{"l":0,"n":"","p":"","c":[{"l":1,"n":"[Global Namespace]","p":"[Global_Namespace]","c":[{"l":2,"n":"Redis","p":"Redis"},{"l":2,"n":"RedisArray","p":"RedisArray"},{"l":2,"n":"RedisCluster","p":"RedisCluster"},{"l":2,"n":"RedisClusterException","p":"RedisClusterException"},{"l":2,"n":"RedisException","p":"RedisException"},{"l":2,"n":"RedisSentinel","p":"RedisSentinel"}]}]},"treeOpenLevel":2},
+ /** @var boolean */
+ treeLoaded: false,
+ /** @var boolean */
+ listenersRegistered: false,
+ autoCompleteData: null,
+ /** @var boolean */
+ autoCompleteLoading: false,
+ /** @var boolean */
+ autoCompleteLoaded: false,
+ /** @var string|null */
+ rootPath: null,
+ /** @var string|null */
+ autoCompleteDataUrl: null,
+ /** @var HTMLElement|null */
+ doctumSearchAutoComplete: null,
+ /** @var HTMLElement|null */
+ doctumSearchAutoCompleteProgressBarContainer: null,
+ /** @var HTMLElement|null */
+ doctumSearchAutoCompleteProgressBar: null,
+ /** @var number */
+ doctumSearchAutoCompleteProgressBarPercent: 0,
+ /** @var autoComplete|null */
+ autoCompleteJS: null,
+ querySearchSecurityRegex: /([^0-9a-zA-Z:\\\\_\s])/gi,
+ buildTreeNode: function (treeNode, htmlNode, treeOpenLevel) {
+ var ulNode = document.createElement('ul');
+ for (var childKey in treeNode.c) {
+ var child = treeNode.c[childKey];
+ var liClass = document.createElement('li');
+ var hasChildren = child.hasOwnProperty('c');
+ var nodeSpecialName = (hasChildren ? 'namespace:' : 'class:') + child.p.replace(/\//g, '_');
+ liClass.setAttribute('data-name', nodeSpecialName);
+
+ // Create the node that will have the text
+ var divHd = document.createElement('div');
+ var levelCss = child.l - 1;
+ divHd.className = hasChildren ? 'hd' : 'hd leaf';
+ divHd.style.paddingLeft = (hasChildren ? (levelCss * 18) : (8 + (levelCss * 18))) + 'px';
+ if (hasChildren) {
+ if (child.l <= treeOpenLevel) {
+ liClass.className = 'opened';
+ }
+ var spanIcon = document.createElement('span');
+ spanIcon.className = 'icon icon-play';
+ divHd.appendChild(spanIcon);
+ }
+ var aLink = document.createElement('a');
+
+ // Edit the HTML link to work correctly based on the current depth
+ aLink.href = Doctum.rootPath + child.p + '.html';
+ aLink.innerText = child.n;
+ divHd.appendChild(aLink);
+ liClass.appendChild(divHd);
+
+ // It has children
+ if (hasChildren) {
+ var divBd = document.createElement('div');
+ divBd.className = 'bd';
+ Doctum.buildTreeNode(child, divBd, treeOpenLevel);
+ liClass.appendChild(divBd);
+ }
+ ulNode.appendChild(liClass);
+ }
+ htmlNode.appendChild(ulNode);
+ },
+ initListeners: function () {
+ if (Doctum.listenersRegistered) {
+ // Quick exit, already registered
+ return;
+ }
+ Doctum.listenersRegistered = true;
+ },
+ loadTree: function () {
+ if (Doctum.treeLoaded) {
+ // Quick exit, already registered
+ return;
+ }
+ Doctum.rootPath = document.body.getAttribute('data-root-path');
+ Doctum.buildTreeNode(Doctum.treeJson.tree, document.getElementById('api-tree'), Doctum.treeJson.treeOpenLevel);
+
+ // Toggle left-nav divs on click
+ $('#api-tree .hd span').on('click', function () {
+ $(this).parent().parent().toggleClass('opened');
+ });
+
+ // Expand the parent namespaces of the current page.
+ var expected = $('body').attr('data-name');
+
+ if (expected) {
+ // Open the currently selected node and its parents.
+ var container = $('#api-tree');
+ var node = $('#api-tree li[data-name="' + expected + '"]');
+ // Node might not be found when simulating namespaces
+ if (node.length > 0) {
+ node.addClass('active').addClass('opened');
+ node.parents('li').addClass('opened');
+ var scrollPos = node.offset().top - container.offset().top + container.scrollTop();
+ // Position the item nearer to the top of the screen.
+ scrollPos -= 200;
+ container.scrollTop(scrollPos);
+ }
+ }
+ Doctum.treeLoaded = true;
+ },
+ pagePartiallyLoaded: function (event) {
+ Doctum.initListeners();
+ Doctum.loadTree();
+ Doctum.loadAutoComplete();
+ },
+ pageFullyLoaded: function (event) {
+ // it may not have received DOMContentLoaded event
+ Doctum.initListeners();
+ Doctum.loadTree();
+ Doctum.loadAutoComplete();
+ // Fire the event in the search page too
+ if (typeof DoctumSearch === 'object') {
+ DoctumSearch.pageFullyLoaded();
+ }
+ },
+ loadAutoComplete: function () {
+ if (Doctum.autoCompleteLoaded) {
+ // Quick exit, already loaded
+ return;
+ }
+ Doctum.autoCompleteDataUrl = document.body.getAttribute('data-search-index-url');
+ Doctum.doctumSearchAutoComplete = document.getElementById('doctum-search-auto-complete');
+ Doctum.doctumSearchAutoCompleteProgressBarContainer = document.getElementById('search-progress-bar-container');
+ Doctum.doctumSearchAutoCompleteProgressBar = document.getElementById('search-progress-bar');
+ if (Doctum.doctumSearchAutoComplete !== null) {
+ // Wait for it to be loaded
+ Doctum.doctumSearchAutoComplete.addEventListener('init', function (_) {
+ Doctum.autoCompleteLoaded = true;
+ Doctum.doctumSearchAutoComplete.addEventListener('selection', function (event) {
+ // Go to selection page
+ window.location = Doctum.rootPath + event.detail.selection.value.p;
+ });
+ Doctum.doctumSearchAutoComplete.addEventListener('navigate', function (event) {
+ // Set selection in text box
+ if (typeof event.detail.selection.value === 'object') {
+ Doctum.doctumSearchAutoComplete.value = event.detail.selection.value.n;
+ }
+ });
+ Doctum.doctumSearchAutoComplete.addEventListener('results', function (event) {
+ Doctum.markProgressFinished();
+ });
+ });
+ }
+ // Check if the lib is loaded
+ if (typeof autoComplete === 'function') {
+ Doctum.bootAutoComplete();
+ }
+ },
+ markInProgress: function () {
+ Doctum.doctumSearchAutoCompleteProgressBarContainer.className = 'search-bar';
+ Doctum.doctumSearchAutoCompleteProgressBar.className = 'progress-bar indeterminate';
+ if (typeof DoctumSearch === 'object' && DoctumSearch.pageFullyLoaded) {
+ DoctumSearch.doctumSearchPageAutoCompleteProgressBarContainer.className = 'search-bar';
+ DoctumSearch.doctumSearchPageAutoCompleteProgressBar.className = 'progress-bar indeterminate';
+ }
+ },
+ markProgressFinished: function () {
+ Doctum.doctumSearchAutoCompleteProgressBarContainer.className = 'search-bar hidden';
+ Doctum.doctumSearchAutoCompleteProgressBar.className = 'progress-bar';
+ if (typeof DoctumSearch === 'object' && DoctumSearch.pageFullyLoaded) {
+ DoctumSearch.doctumSearchPageAutoCompleteProgressBarContainer.className = 'search-bar hidden';
+ DoctumSearch.doctumSearchPageAutoCompleteProgressBar.className = 'progress-bar';
+ }
+ },
+ makeProgess: function () {
+ Doctum.makeProgressOnProgressBar(
+ Doctum.doctumSearchAutoCompleteProgressBarPercent,
+ Doctum.doctumSearchAutoCompleteProgressBar
+ );
+ if (typeof DoctumSearch === 'object' && DoctumSearch.pageFullyLoaded) {
+ Doctum.makeProgressOnProgressBar(
+ Doctum.doctumSearchAutoCompleteProgressBarPercent,
+ DoctumSearch.doctumSearchPageAutoCompleteProgressBar
+ );
+ }
+ },
+ loadAutoCompleteData: function (query) {
+ return new Promise(function (resolve, reject) {
+ if (Doctum.autoCompleteData !== null) {
+ resolve(Doctum.autoCompleteData);
+ return;
+ }
+ Doctum.markInProgress();
+ function reqListener() {
+ Doctum.autoCompleteLoading = false;
+ Doctum.autoCompleteData = JSON.parse(this.responseText).items;
+ Doctum.markProgressFinished();
+
+ setTimeout(function () {
+ resolve(Doctum.autoCompleteData);
+ }, 50);// Let the UI render once before sending the results for processing. This gives time to the progress bar to hide
+ }
+ function reqError(err) {
+ Doctum.autoCompleteLoading = false;
+ Doctum.autoCompleteData = null;
+ console.error(err);
+ reject(err);
+ }
+
+ var oReq = new XMLHttpRequest();
+ oReq.onload = reqListener;
+ oReq.onerror = reqError;
+ oReq.onprogress = function (pe) {
+ if (pe.lengthComputable) {
+ Doctum.doctumSearchAutoCompleteProgressBarPercent = parseInt(pe.loaded / pe.total * 100, 10);
+ Doctum.makeProgess();
+ }
+ };
+ oReq.onloadend = function (_) {
+ Doctum.markProgressFinished();
+ };
+ oReq.open('get', Doctum.autoCompleteDataUrl, true);
+ oReq.send();
+ });
+ },
+ /**
+ * Make some progress on a progress bar
+ *
+ * @param number percentage
+ * @param HTMLElement progressBar
+ * @return void
+ */
+ makeProgressOnProgressBar: function(percentage, progressBar) {
+ progressBar.className = 'progress-bar';
+ progressBar.style.width = percentage + '%';
+ progressBar.setAttribute(
+ 'aria-valuenow', percentage
+ );
+ },
+ searchEngine: function (query, record) {
+ if (typeof query !== 'string') {
+ return '';
+ }
+ // replace all (mode = g) spaces and non breaking spaces (\s) by pipes
+ // g = global mode to mark also the second word searched
+ // i = case insensitive
+ // how this function works:
+ // First: search if the query has the keywords in sequence
+ // Second: replace the keywords by a mark and leave all the text in between non marked
+
+ if (record.match(new RegExp('(' + query.replace(/\s/g, ').*(') + ')', 'gi')) === null) {
+ return '';// Does not match
+ }
+
+ var replacedRecord = record.replace(new RegExp('(' + query.replace(/\s/g, '|') + ')', 'gi'), function (group) {
+ return '<mark class="auto-complete-highlight">' + group + '</mark>';
+ });
+
+ if (replacedRecord !== record) {
+ return replacedRecord;// This should not happen but just in case there was no match done
+ }
+
+ return '';
+ },
+ /**
+ * Clean the search query
+ *
+ * @param string query
+ * @return string
+ */
+ cleanSearchQuery: function (query) {
+ // replace any chars that could lead to injecting code in our regex
+ // remove start or end spaces
+ // replace backslashes by an escaped version, use case in search: \myRootFunction
+ return query.replace(Doctum.querySearchSecurityRegex, '').trim().replace(/\\/g, '\\\\');
+ },
+ bootAutoComplete: function () {
+ Doctum.autoCompleteJS = new autoComplete(
+ {
+ selector: '#doctum-search-auto-complete',
+ searchEngine: function (query, record) {
+ return Doctum.searchEngine(query, record);
+ },
+ submit: true,
+ data: {
+ src: function (q) {
+ Doctum.markInProgress();
+ return Doctum.loadAutoCompleteData(q);
+ },
+ keys: ['n'],// Data 'Object' key to be searched
+ cache: false, // Is not compatible with async fetch of data
+ },
+ query: (input) => {
+ return Doctum.cleanSearchQuery(input);
+ },
+ trigger: (query) => {
+ return Doctum.cleanSearchQuery(query).length > 0;
+ },
+ resultsList: {
+ tag: 'ul',
+ class: 'auto-complete-dropdown-menu',
+ destination: '#auto-complete-results',
+ position: 'afterbegin',
+ maxResults: 500,
+ noResults: false,
+ },
+ resultItem: {
+ tag: 'li',
+ class: 'auto-complete-result',
+ highlight: 'auto-complete-highlight',
+ selected: 'auto-complete-selected'
+ },
+ }
+ );
+ }
+};
+
+
+document.addEventListener('DOMContentLoaded', Doctum.pagePartiallyLoaded, false);
+window.addEventListener('load', Doctum.pageFullyLoaded, false);
diff --git a/docs/fonts/doctum-font.css b/docs/fonts/doctum-font.css
new file mode 100644
index 00000000..d022b4c3
--- /dev/null
+++ b/docs/fonts/doctum-font.css
@@ -0,0 +1,61 @@
+@font-face {
+ font-family: "doctum";
+ src: url("./doctum.eot?39101248");
+ src: url("./doctum.eot?39101248#iefix") format("embedded-opentype"),
+ url("./doctum.woff2?39101248") format("woff2"), url("./doctum.woff?39101248") format("woff"),
+ url("./doctum.ttf?39101248") format("truetype"), url("./doctum.svg?39101248#doctum") format("svg");
+ font-weight: normal;
+ font-style: normal;
+}
+/* Chrome hack: SVG is rendered more smooth in Windozze. 100% magic, uncomment if you need it. */
+/* Note, that will break hinting! In other OS-es font will be not as sharp as it could be */
+/*
+@media screen and (-webkit-min-device-pixel-ratio:0) {
+ @font-face {
+ font-family: 'doctum';
+ src: url('./doctum.svg?39101248#doctum') format('svg');
+ }
+}
+*/
+
+.icon {
+ font-family: "doctum";
+ font-style: normal;
+ font-weight: normal;
+ speak: never;
+
+ display: inline-block;
+ text-decoration: inherit;
+ width: 1em;
+ margin-right: 0.2em;
+ text-align: center;
+ /* opacity: .8; */
+
+ /* For safety - reset parent styles, that can break glyph codes*/
+ font-variant: normal;
+ text-transform: none;
+
+ /* fix buttons height, for twitter bootstrap */
+ line-height: 1em;
+
+ /* Animation center compensation - margins should be symmetric */
+ /* remove if not needed */
+ margin-left: 0.2em;
+
+ /* you can be more comfortable with increased icons size */
+ /* font-size: 120%; */
+
+ /* Font smoothing. That was taken from TWBS */
+ -webkit-font-smoothing: antialiased;
+ -moz-osx-font-smoothing: grayscale;
+
+ /* Uncomment for 3D effect */
+ /* text-shadow: 1px 1px 1px rgba(127, 127, 127, 0.3); */
+}
+
+.icon-search:before {
+ content: "\e800";
+} /* '' */
+.icon-play:before {
+ content: "\e801";
+} /* '' */
diff --git a/docs/fonts/doctum.eot b/docs/fonts/doctum.eot
new file mode 100644
index 00000000..0daf464c
--- /dev/null
+++ b/docs/fonts/doctum.eot
Binary files differ
diff --git a/docs/fonts/doctum.svg b/docs/fonts/doctum.svg
new file mode 100644
index 00000000..341469b6
--- /dev/null
+++ b/docs/fonts/doctum.svg
@@ -0,0 +1,14 @@
+<?xml version="1.0" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg xmlns="http://www.w3.org/2000/svg">
+<metadata>Material Design Icons</metadata>
+<defs>
+<font id="doctum" horiz-adv-x="1000" >
+<font-face font-family="doctum" font-weight="400" font-stretch="normal" units-per-em="1000" ascent="850" descent="-150" />
+<missing-glyph horiz-adv-x="1000" />
+<glyph glyph-name="search" unicode="&#xe800;" d="M396 725c149 0 271-121 271-271 0-67-25-129-65-176l11-11h33l208-209-62-62-209 208v33l-11 11c-47-40-109-65-176-65-150 0-271 122-271 271 0 150 121 271 271 271m0-83c-104 0-188-84-188-188 0-104 84-187 188-187 104 0 187 83 187 187 0 104-83 188-187 188z" horiz-adv-x="1000" />
+
+<glyph glyph-name="play" unicode="&#xe801;" d="M333 636v-583l459 291-459 292z" horiz-adv-x="1000" />
+</font>
+</defs>
+</svg> \ No newline at end of file
diff --git a/docs/fonts/doctum.ttf b/docs/fonts/doctum.ttf
new file mode 100644
index 00000000..cf3f8162
--- /dev/null
+++ b/docs/fonts/doctum.ttf
Binary files differ
diff --git a/docs/fonts/doctum.woff b/docs/fonts/doctum.woff
new file mode 100644
index 00000000..6e1ca3b5
--- /dev/null
+++ b/docs/fonts/doctum.woff
Binary files differ
diff --git a/docs/fonts/doctum.woff2 b/docs/fonts/doctum.woff2
new file mode 100644
index 00000000..e7b1a3e8
--- /dev/null
+++ b/docs/fonts/doctum.woff2
Binary files differ
diff --git a/docs/index.html b/docs/index.html
new file mode 100644
index 00000000..f048b2e6
--- /dev/null
+++ b/docs/index.html
@@ -0,0 +1,120 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+ <meta charset="UTF-8" />
+ <meta name="robots" content="index, follow, all" />
+ <title>All Classes | PhpRedis API</title>
+
+ <link rel="stylesheet" type="text/css" href="css/bootstrap.min.css">
+ <link rel="stylesheet" type="text/css" href="css/bootstrap-theme.min.css">
+ <link rel="stylesheet" type="text/css" href="css/doctum.css">
+ <link rel="stylesheet" type="text/css" href="fonts/doctum-font.css">
+ <script src="js/jquery-3.5.1.slim.min.js"></script>
+ <script async defer src="doctum.js"></script>
+ <script async defer src="js/bootstrap.min.js"></script>
+ <script async defer src="js/autocomplete.min.js"></script>
+ <meta name="MobileOptimized" content="width">
+ <meta name="HandheldFriendly" content="true">
+ <meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1">
+
+ <link rel="search"
+ type="application/opensearchdescription+xml"
+ href="https://phpredis.github.io/opensearch.xml"
+ title="PhpRedis API (develop)" />
+ </head>
+
+ <body id="index" data-name="" data-root-path="" data-search-index-url="doctum-search.json">
+ <div id="content">
+ <div id="left-column">
+ <div id="control-panel">
+ <div class="search-bar hidden" id="search-progress-bar-container">
+ <div class="progress">
+ <div class="progress-bar" role="progressbar" id="search-progress-bar"
+ aria-valuenow="0" aria-valuemin="0" aria-valuemax="100" style="width: 0%"></div>
+ </div>
+ </div>
+ <form id="search-form" action="search.html">
+ <span class="icon icon-search"></span>
+ <input name="search"
+ id="doctum-search-auto-complete"
+ class="typeahead form-control"
+ type="search"
+ placeholder="Search"
+ spellcheck="false"
+ autocorrect="off"
+ autocomplete="off"
+ autocapitalize="off">
+ <div class="auto-complete-results" id="auto-complete-results"></div>
+ </form>
+ </div>
+
+ <div id="api-tree"></div>
+
+ </div>
+ <div id="right-column">
+ <nav id="site-nav" class="navbar navbar-default" role="navigation">
+ <div class="container-fluid">
+ <div class="navbar-header">
+ <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#navbar-elements">
+ <span class="sr-only">Toggle navigation</span>
+ <span class="icon-bar"></span>
+ <span class="icon-bar"></span>
+ <span class="icon-bar"></span>
+ </button>
+ <a class="navbar-brand" href="index.html">PhpRedis API</a>
+ </div>
+ <div class="collapse navbar-collapse" id="navbar-elements">
+ <ul class="nav navbar-nav">
+ <li><a href="classes.html">Classes</a></li>
+ <li><a href="interfaces.html">Interfaces</a></li>
+ <li><a href="traits.html">Traits</a></li>
+ <li><a href="doc-index.html">Index</a></li>
+ <li><a href="search.html">Search</a></li>
+ </ul>
+ </div>
+ </div>
+ </nav>
+
+ <div id="page-content"> <div class="page-header">
+ <h1>Classes</h1>
+ </div>
+
+
+ <div class="container-fluid underlined">
+ <div class="row">
+ <div class="col-md-6">
+ <a href="Redis.html"><abbr title="Redis">Redis</abbr></a> </div>
+ <div class="col-md-6"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-6">
+ <a href="RedisArray.html"><abbr title="RedisArray">RedisArray</abbr></a> </div>
+ <div class="col-md-6"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-6">
+ <a href="RedisCluster.html"><abbr title="RedisCluster">RedisCluster</abbr></a> </div>
+ <div class="col-md-6"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-6">
+ <a href="RedisClusterException.html"><abbr title="RedisClusterException">RedisClusterException</abbr></a> </div>
+ <div class="col-md-6"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-6">
+ <a href="RedisException.html"><abbr title="RedisException">RedisException</abbr></a> </div>
+ <div class="col-md-6"></div>
+ </div>
+ <div class="row">
+ <div class="col-md-6">
+ <a href="RedisSentinel.html"><abbr title="RedisSentinel">RedisSentinel</abbr></a> </div>
+ <div class="col-md-6"></div>
+ </div>
+ </div>
+</div><div id="footer">
+ Generated by <a href="https://github.com/code-lts/doctum">Doctum, a API Documentation generator and fork of Sami</a>.</div></div>
+ </div>
+ </body>
+
+</html>
diff --git a/docs/interfaces.html b/docs/interfaces.html
new file mode 100644
index 00000000..804c07ef
--- /dev/null
+++ b/docs/interfaces.html
@@ -0,0 +1,90 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+ <meta charset="UTF-8" />
+ <meta name="robots" content="index, follow, all" />
+ <title>Interfaces | PhpRedis API</title>
+
+ <link rel="stylesheet" type="text/css" href="css/bootstrap.min.css">
+ <link rel="stylesheet" type="text/css" href="css/bootstrap-theme.min.css">
+ <link rel="stylesheet" type="text/css" href="css/doctum.css">
+ <link rel="stylesheet" type="text/css" href="fonts/doctum-font.css">
+ <script src="js/jquery-3.5.1.slim.min.js"></script>
+ <script async defer src="doctum.js"></script>
+ <script async defer src="js/bootstrap.min.js"></script>
+ <script async defer src="js/autocomplete.min.js"></script>
+ <meta name="MobileOptimized" content="width">
+ <meta name="HandheldFriendly" content="true">
+ <meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1">
+
+ <link rel="search"
+ type="application/opensearchdescription+xml"
+ href="https://phpredis.github.io/opensearch.xml"
+ title="PhpRedis API (develop)" />
+ </head>
+
+ <body id="interfaces" data-name="" data-root-path="" data-search-index-url="doctum-search.json">
+ <div id="content">
+ <div id="left-column">
+ <div id="control-panel">
+ <div class="search-bar hidden" id="search-progress-bar-container">
+ <div class="progress">
+ <div class="progress-bar" role="progressbar" id="search-progress-bar"
+ aria-valuenow="0" aria-valuemin="0" aria-valuemax="100" style="width: 0%"></div>
+ </div>
+ </div>
+ <form id="search-form" action="search.html">
+ <span class="icon icon-search"></span>
+ <input name="search"
+ id="doctum-search-auto-complete"
+ class="typeahead form-control"
+ type="search"
+ placeholder="Search"
+ spellcheck="false"
+ autocorrect="off"
+ autocomplete="off"
+ autocapitalize="off">
+ <div class="auto-complete-results" id="auto-complete-results"></div>
+ </form>
+ </div>
+
+ <div id="api-tree"></div>
+
+ </div>
+ <div id="right-column">
+ <nav id="site-nav" class="navbar navbar-default" role="navigation">
+ <div class="container-fluid">
+ <div class="navbar-header">
+ <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#navbar-elements">
+ <span class="sr-only">Toggle navigation</span>
+ <span class="icon-bar"></span>
+ <span class="icon-bar"></span>
+ <span class="icon-bar"></span>
+ </button>
+ <a class="navbar-brand" href="index.html">PhpRedis API</a>
+ </div>
+ <div class="collapse navbar-collapse" id="navbar-elements">
+ <ul class="nav navbar-nav">
+ <li><a href="classes.html">Classes</a></li>
+ <li><a href="interfaces.html">Interfaces</a></li>
+ <li><a href="traits.html">Traits</a></li>
+ <li><a href="doc-index.html">Index</a></li>
+ <li><a href="search.html">Search</a></li>
+ </ul>
+ </div>
+ </div>
+ </nav>
+
+ <div id="page-content"> <div class="page-header">
+ <h1>Interfaces</h1>
+ </div>
+
+
+ <div class="container-fluid underlined">
+ </div>
+</div><div id="footer">
+ Generated by <a href="https://github.com/code-lts/doctum">Doctum, a API Documentation generator and fork of Sami</a>.</div></div>
+ </div>
+ </body>
+
+</html>
diff --git a/docs/js/autocomplete.min.js b/docs/js/autocomplete.min.js
new file mode 100644
index 00000000..f7a5838e
--- /dev/null
+++ b/docs/js/autocomplete.min.js
@@ -0,0 +1,5 @@
+/*!
+ * AutoComplete.js v10.2.6 (https://github.com/TarekRaafat/autoComplete.js)
+ * Licensed under the Apache 2.0 license
+ */
+var t,e;t=this,e=function(){"use strict";function t(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function e(e){for(var n=1;n<arguments.length;n++){var i=null!=arguments[n]?arguments[n]:{};n%2?t(Object(i),!0).forEach((function(t){r(e,t,i[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(i)):t(Object(i)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(i,t))}))}return e}function n(t){return(n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function r(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function i(t){return function(t){if(Array.isArray(t))return s(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||o(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function o(t,e){if(t){if("string"==typeof t)return s(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?s(t,e):void 0}}function s(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n<e;n++)r[n]=t[n];return r}var u=function(t){return"string"==typeof t?document.querySelector(t):t()},a=function(t,e){var n="string"==typeof t?document.createElement(t):t;for(var r in e){var i=e[r];if("inside"===r)i.append(n);else if("dest"===r)u(i[0]).insertAdjacentElement(i[1],n);else if("around"===r){var o=i;o.parentNode.insertBefore(n,o),n.append(o),null!=o.getAttribute("autofocus")&&o.focus()}else r in n?n[r]=i:n.setAttribute(r,i)}return n},c=function(t,e){return t=t.toString().toLowerCase(),e?t.normalize("NFD").replace(/[\u0300-\u036f]/g,"").normalize("NFC"):t},l=function(t,n){return a("mark",e({innerHTML:t},"string"==typeof n&&{class:n})).outerHTML},f=function(t,e){e.input.dispatchEvent(new CustomEvent(t,{bubbles:!0,detail:e.feedback,cancelable:!0}))},p=function(t,e,n){var r=n||{},i=r.mode,o=r.diacritics,s=r.highlight,u=c(e,o);if(e=e.toString(),t=c(t,o),"loose"===i){var a=(t=t.replace(/ /g,"")).length,f=0,p=Array.from(e).map((function(e,n){return f<a&&u[n]===t[f]&&(e=s?l(e,s):e,f++),e})).join("");if(f===a)return p}else{var d=u.indexOf(t);if(~d)return t=e.substring(d,d+t.length),d=s?e.replace(t,l(t,s)):e}},d=function(t,e){return new Promise((function(n,r){var i;return(i=t.data).cache&&i.store?n():new Promise((function(t,n){return"function"==typeof i.src?i.src(e).then(t,n):t(i.src)})).then((function(e){try{return t.feedback=i.store=e,f("response",t),n()}catch(t){return r(t)}}),r)}))},h=function(t,e){var n=e.data,r=e.searchEngine,i=[];n.store.forEach((function(s,u){var a=function(n){var o=n?s[n]:s,u="function"==typeof r?r(t,o):p(t,o,{mode:r,diacritics:e.diacritics,highlight:e.resultItem.highlight});if(u){var a={match:u,value:s};n&&(a.key=n),i.push(a)}};if(n.keys){var c,l=function(t,e){var n="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!n){if(Array.isArray(t)||(n=o(t))||e&&t&&"number"==typeof t.length){n&&(t=n);var r=0,i=function(){};return{s:i,n:function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var s,u=!0,a=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return u=t.done,t},e:function(t){a=!0,s=t},f:function(){try{u||null==n.return||n.return()}finally{if(a)throw s}}}}(n.keys);try{for(l.s();!(c=l.n()).done;)a(c.value)}catch(t){l.e(t)}finally{l.f()}}else a()})),n.filter&&(i=n.filter(i));var s=i.slice(0,e.resultsList.maxResults);e.feedback={query:t,matches:i,results:s},f("results",e)},m="aria-expanded",b="aria-activedescendant",y="aria-selected",v=function(t,n){t.feedback.selection=e({index:n},t.feedback.results[n])},g=function(t){t.isOpen||((t.wrapper||t.input).setAttribute(m,!0),t.list.removeAttribute("hidden"),t.isOpen=!0,f("open",t))},w=function(t){t.isOpen&&((t.wrapper||t.input).setAttribute(m,!1),t.input.setAttribute(b,""),t.list.setAttribute("hidden",""),t.isOpen=!1,f("close",t))},O=function(t,e){var n=e.resultItem,r=e.list.getElementsByTagName(n.tag),o=!!n.selected&&n.selected.split(" ");if(e.isOpen&&r.length){var s,u,a=e.cursor;t>=r.length&&(t=0),t<0&&(t=r.length-1),e.cursor=t,a>-1&&(r[a].removeAttribute(y),o&&(u=r[a].classList).remove.apply(u,i(o))),r[t].setAttribute(y,!0),o&&(s=r[t].classList).add.apply(s,i(o)),e.input.setAttribute(b,r[e.cursor].id),e.list.scrollTop=r[t].offsetTop-e.list.clientHeight+r[t].clientHeight+5,e.feedback.cursor=e.cursor,v(e,t),f("navigate",e)}},A=function(t){O(t.cursor+1,t)},k=function(t){O(t.cursor-1,t)},L=function(t,e,n){(n=n>=0?n:t.cursor)<0||(t.feedback.event=e,v(t,n),f("selection",t),w(t))};function j(t,n){var r=this;return new Promise((function(i,o){var s,u;return s=n||((u=t.input)instanceof HTMLInputElement||u instanceof HTMLTextAreaElement?u.value:u.innerHTML),function(t,e,n){return e?e(t):t.length>=n}(s=t.query?t.query(s):s,t.trigger,t.threshold)?d(t,s).then((function(n){try{return t.feedback instanceof Error?i():(h(s,t),t.resultsList&&function(t){var n=t.resultsList,r=t.list,i=t.resultItem,o=t.feedback,s=o.matches,u=o.results;if(t.cursor=-1,r.innerHTML="",s.length||n.noResults){var c=new DocumentFragment;u.forEach((function(t,n){var r=a(i.tag,e({id:"".concat(i.id,"_").concat(n),role:"option",innerHTML:t.match,inside:c},i.class&&{class:i.class}));i.element&&i.element(r,t)})),r.append(c),n.element&&n.element(r,o),g(t)}else w(t)}(t),c.call(r))}catch(t){return o(t)}}),o):(w(t),c.call(r));function c(){return i()}}))}var S=function(t,e){for(var n in t)for(var r in t[n])e(n,r)},T=function(t){var n,r,i,o=t.events,s=(n=function(){return j(t)},r=t.debounce,function(){clearTimeout(i),i=setTimeout((function(){return n()}),r)}),u=t.events=e({input:e({},o&&o.input)},t.resultsList&&{list:o?e({},o.list):{}}),a={input:{input:function(){s()},keydown:function(e){!function(t,e){switch(t.keyCode){case 40:case 38:t.preventDefault(),40===t.keyCode?A(e):k(e);break;case 13:e.submit||t.preventDefault(),e.cursor>=0&&L(e,t);break;case 9:e.resultsList.tabSelect&&e.cursor>=0&&L(e,t);break;case 27:e.input.value="",w(e)}}(e,t)},blur:function(){w(t)}},list:{mousedown:function(t){t.preventDefault()},click:function(e){!function(t,e){var n=e.resultItem.tag.toUpperCase(),r=Array.from(e.list.querySelectorAll(n)),i=t.target.closest(n);i&&i.nodeName===n&&L(e,t,r.indexOf(i))}(e,t)}}};S(a,(function(e,n){(t.resultsList||"input"===n)&&(u[e][n]||(u[e][n]=a[e][n]))})),S(u,(function(e,n){t[e].addEventListener(n,u[e][n])}))};function E(t){var n=this;return new Promise((function(r,i){var o,s,u;if(o=t.placeHolder,u={role:"combobox","aria-owns":(s=t.resultsList).id,"aria-haspopup":!0,"aria-expanded":!1},a(t.input,e(e({"aria-controls":s.id,"aria-autocomplete":"both"},o&&{placeholder:o}),!t.wrapper&&e({},u))),t.wrapper&&(t.wrapper=a("div",e({around:t.input,class:t.name+"_wrapper"},u))),s&&(t.list=a(s.tag,e({dest:[s.destination,s.position],id:s.id,role:"listbox",hidden:"hidden"},s.class&&{class:s.class}))),T(t),t.data.cache)return d(t).then((function(t){try{return c.call(n)}catch(t){return i(t)}}),i);function c(){return f("init",t),r()}return c.call(n)}))}function x(t){var e=t.prototype;e.init=function(){E(this)},e.start=function(t){j(this,t)},e.unInit=function(){if(this.wrapper){var t=this.wrapper.parentNode;t.insertBefore(this.input,this.wrapper),t.removeChild(this.wrapper)}var e;S((e=this).events,(function(t,n){e[t].removeEventListener(n,e.events[t][n])}))},e.open=function(){g(this)},e.close=function(){w(this)},e.goTo=function(t){O(t,this)},e.next=function(){A(this)},e.previous=function(){k(this)},e.select=function(t){L(this,null,t)},e.search=function(t,e,n){return p(t,e,n)}}return function t(e){this.options=e,this.id=t.instances=(t.instances||0)+1,this.name="autoComplete",this.wrapper=1,this.threshold=1,this.debounce=0,this.resultsList={position:"afterend",tag:"ul",maxResults:5},this.resultItem={tag:"li"},function(t){var e=t.name,r=t.options,i=t.resultsList,o=t.resultItem;for(var s in r)if("object"===n(r[s]))for(var a in t[s]||(t[s]={}),r[s])t[s][a]=r[s][a];else t[s]=r[s];t.selector=t.selector||"#"+e,i.destination=i.destination||t.selector,i.id=i.id||e+"_list_"+t.id,o.id=o.id||e+"_result",t.input=u(t.selector)}(this),x.call(this,t),E(this)}},"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).autoComplete=e();
diff --git a/docs/js/bootstrap.min.js b/docs/js/bootstrap.min.js
new file mode 100644
index 00000000..5c8647b1
--- /dev/null
+++ b/docs/js/bootstrap.min.js
@@ -0,0 +1,11 @@
+/*!
+ * Generated using the Bootstrap Customizer (https://getbootstrap.com/docs/3.4/customize/)
+ */
+
+/*!
+ * Bootstrap v3.4.1 (https://getbootstrap.com/)
+ * Copyright 2011-2021 Twitter, Inc.
+ * Licensed under the MIT license
+ */
+
+if("undefined"==typeof jQuery)throw new Error("Bootstrap's JavaScript requires jQuery");+function(t){"use strict";var e=t.fn.jquery.split(" ")[0].split(".");if(e[0]<2&&e[1]<9||1==e[0]&&9==e[1]&&e[2]<1||e[0]>3)throw new Error("Bootstrap's JavaScript requires jQuery version 1.9.1 or higher, but lower than version 4")}(jQuery),+function(t){"use strict";function e(e){var a=e.attr("data-target");a||(a=e.attr("href"),a=a&&/#[A-Za-z]/.test(a)&&a.replace(/.*(?=#[^\s]*$)/,""));var n="#"!==a?t(document).find(a):null;return n&&n.length?n:e.parent()}function a(a){a&&3===a.which||(t(i).remove(),t(s).each(function(){var n=t(this),i=e(n),s={relatedTarget:this};i.hasClass("open")&&(a&&"click"==a.type&&/input|textarea/i.test(a.target.tagName)&&t.contains(i[0],a.target)||(i.trigger(a=t.Event("hide.bs.dropdown",s)),a.isDefaultPrevented()||(n.attr("aria-expanded","false"),i.removeClass("open").trigger(t.Event("hidden.bs.dropdown",s)))))}))}function n(e){return this.each(function(){var a=t(this),n=a.data("bs.dropdown");n||a.data("bs.dropdown",n=new o(this)),"string"==typeof e&&n[e].call(a)})}var i=".dropdown-backdrop",s='[data-toggle="dropdown"]',o=function(e){t(e).on("click.bs.dropdown",this.toggle)};o.VERSION="3.4.1",o.prototype.toggle=function(n){var i=t(this);if(!i.is(".disabled, :disabled")){var s=e(i),o=s.hasClass("open");if(a(),!o){"ontouchstart"in document.documentElement&&!s.closest(".navbar-nav").length&&t(document.createElement("div")).addClass("dropdown-backdrop").insertAfter(t(this)).on("click",a);var r={relatedTarget:this};if(s.trigger(n=t.Event("show.bs.dropdown",r)),n.isDefaultPrevented())return;i.trigger("focus").attr("aria-expanded","true"),s.toggleClass("open").trigger(t.Event("shown.bs.dropdown",r))}return!1}},o.prototype.keydown=function(a){if(/(38|40|27|32)/.test(a.which)&&!/input|textarea/i.test(a.target.tagName)){var n=t(this);if(a.preventDefault(),a.stopPropagation(),!n.is(".disabled, :disabled")){var i=e(n),o=i.hasClass("open");if(!o&&27!=a.which||o&&27==a.which)return 27==a.which&&i.find(s).trigger("focus"),n.trigger("click");var r=" li:not(.disabled):visible a",l=i.find(".dropdown-menu"+r);if(l.length){var d=l.index(a.target);38==a.which&&d>0&&d--,40==a.which&&d<l.length-1&&d++,~d||(d=0),l.eq(d).trigger("focus")}}}};var r=t.fn.dropdown;t.fn.dropdown=n,t.fn.dropdown.Constructor=o,t.fn.dropdown.noConflict=function(){return t.fn.dropdown=r,this},t(document).on("click.bs.dropdown.data-api",a).on("click.bs.dropdown.data-api",".dropdown form",function(t){t.stopPropagation()}).on("click.bs.dropdown.data-api",s,o.prototype.toggle).on("keydown.bs.dropdown.data-api",s,o.prototype.keydown).on("keydown.bs.dropdown.data-api",".dropdown-menu",o.prototype.keydown)}(jQuery),+function(t){"use strict";function e(e){var a,n=e.attr("data-target")||(a=e.attr("href"))&&a.replace(/.*(?=#[^\s]+$)/,"");return t(document).find(n)}function a(e){return this.each(function(){var a=t(this),i=a.data("bs.collapse"),s=t.extend({},n.DEFAULTS,a.data(),"object"==typeof e&&e);!i&&s.toggle&&/show|hide/.test(e)&&(s.toggle=!1),i||a.data("bs.collapse",i=new n(this,s)),"string"==typeof e&&i[e]()})}var n=function(e,a){this.$element=t(e),this.options=t.extend({},n.DEFAULTS,a),this.$trigger=t('[data-toggle="collapse"][href="#'+e.id+'"],[data-toggle="collapse"][data-target="#'+e.id+'"]'),this.transitioning=null,this.options.parent?this.$parent=this.getParent():this.addAriaAndCollapsedClass(this.$element,this.$trigger),this.options.toggle&&this.toggle()};n.VERSION="3.4.1",n.TRANSITION_DURATION=350,n.DEFAULTS={toggle:!0},n.prototype.dimension=function(){var t=this.$element.hasClass("width");return t?"width":"height"},n.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass("in")){var e,i=this.$parent&&this.$parent.children(".panel").children(".in, .collapsing");if(!(i&&i.length&&(e=i.data("bs.collapse"),e&&e.transitioning))){var s=t.Event("show.bs.collapse");if(this.$element.trigger(s),!s.isDefaultPrevented()){i&&i.length&&(a.call(i,"hide"),e||i.data("bs.collapse",null));var o=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[o](0).attr("aria-expanded",!0),this.$trigger.removeClass("collapsed").attr("aria-expanded",!0),this.transitioning=1;var r=function(){this.$element.removeClass("collapsing").addClass("collapse in")[o](""),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!t.support.transition)return r.call(this);var l=t.camelCase(["scroll",o].join("-"));this.$element.one("bsTransitionEnd",t.proxy(r,this)).emulateTransitionEnd(n.TRANSITION_DURATION)[o](this.$element[0][l])}}}},n.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass("in")){var e=t.Event("hide.bs.collapse");if(this.$element.trigger(e),!e.isDefaultPrevented()){var a=this.dimension();this.$element[a](this.$element[a]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse in").attr("aria-expanded",!1),this.$trigger.addClass("collapsed").attr("aria-expanded",!1),this.transitioning=1;var i=function(){this.transitioning=0,this.$element.removeClass("collapsing").addClass("collapse").trigger("hidden.bs.collapse")};return t.support.transition?void this.$element[a](0).one("bsTransitionEnd",t.proxy(i,this)).emulateTransitionEnd(n.TRANSITION_DURATION):i.call(this)}}},n.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()},n.prototype.getParent=function(){return t(document).find(this.options.parent).find('[data-toggle="collapse"][data-parent="'+this.options.parent+'"]').each(t.proxy(function(a,n){var i=t(n);this.addAriaAndCollapsedClass(e(i),i)},this)).end()},n.prototype.addAriaAndCollapsedClass=function(t,e){var a=t.hasClass("in");t.attr("aria-expanded",a),e.toggleClass("collapsed",!a).attr("aria-expanded",a)};var i=t.fn.collapse;t.fn.collapse=a,t.fn.collapse.Constructor=n,t.fn.collapse.noConflict=function(){return t.fn.collapse=i,this},t(document).on("click.bs.collapse.data-api",'[data-toggle="collapse"]',function(n){var i=t(this);i.attr("data-target")||n.preventDefault();var s=e(i),o=s.data("bs.collapse"),r=o?"toggle":i.data();a.call(s,r)})}(jQuery); \ No newline at end of file
diff --git a/docs/js/jquery-3.5.1.slim.min.js b/docs/js/jquery-3.5.1.slim.min.js
new file mode 100644
index 00000000..36b4e1a1
--- /dev/null
+++ b/docs/js/jquery-3.5.1.slim.min.js
@@ -0,0 +1,2 @@
+/*! jQuery v3.5.1 -ajax,-ajax/jsonp,-ajax/load,-ajax/script,-ajax/var/location,-ajax/var/nonce,-ajax/var/rquery,-ajax/xhr,-manipulation/_evalUrl,-deprecated/ajax-event-alias,-effects,-effects/Tween,-effects/animatedSelector | (c) JS Foundation and other contributors | jquery.org/license */
+!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(g,e){"use strict";var t=[],r=Object.getPrototypeOf,s=t.slice,v=t.flat?function(e){return t.flat.call(e)}:function(e){return t.concat.apply([],e)},u=t.push,i=t.indexOf,n={},o=n.toString,y=n.hasOwnProperty,a=y.toString,l=a.call(Object),m={},b=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType},x=function(e){return null!=e&&e===e.window},w=g.document,c={type:!0,src:!0,nonce:!0,noModule:!0};function C(e,t,n){var r,i,o=(n=n||w).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function T(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.5.1 -ajax,-ajax/jsonp,-ajax/load,-ajax/script,-ajax/var/location,-ajax/var/nonce,-ajax/var/rquery,-ajax/xhr,-manipulation/_evalUrl,-deprecated/ajax-event-alias,-effects,-effects/Tween,-effects/animatedSelector",E=function(e,t){return new E.fn.init(e,t)};function d(e){var t=!!e&&"length"in e&&e.length,n=T(e);return!b(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0<t&&t-1 in e)}E.fn=E.prototype={jquery:f,constructor:E,length:0,toArray:function(){return s.call(this)},get:function(e){return null==e?s.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=E.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return E.each(this,e)},map:function(n){return this.pushStack(E.map(this,function(e,t){return n.call(e,t,e)}))},slice:function(){return this.pushStack(s.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},even:function(){return this.pushStack(E.grep(this,function(e,t){return(t+1)%2}))},odd:function(){return this.pushStack(E.grep(this,function(e,t){return t%2}))},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(0<=n&&n<t?[this[n]]:[])},end:function(){return this.prevObject||this.constructor()},push:u,sort:t.sort,splice:t.splice},E.extend=E.fn.extend=function(){var e,t,n,r,i,o,a=arguments[0]||{},s=1,u=arguments.length,l=!1;for("boolean"==typeof a&&(l=a,a=arguments[s]||{},s++),"object"==typeof a||b(a)||(a={}),s===u&&(a=this,s--);s<u;s++)if(null!=(e=arguments[s]))for(t in e)r=e[t],"__proto__"!==t&&a!==r&&(l&&r&&(E.isPlainObject(r)||(i=Array.isArray(r)))?(n=a[t],o=i&&!Array.isArray(n)?[]:i||E.isPlainObject(n)?n:{},i=!1,a[t]=E.extend(l,o,r)):void 0!==r&&(a[t]=r));return a},E.extend({expando:"jQuery"+(f+Math.random()).replace(/\D/g,""),isReady:!0,error:function(e){throw new Error(e)},noop:function(){},isPlainObject:function(e){var t,n;return!(!e||"[object Object]"!==o.call(e))&&(!(t=r(e))||"function"==typeof(n=y.call(t,"constructor")&&t.constructor)&&a.call(n)===l)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},globalEval:function(e,t,n){C(e,{nonce:t&&t.nonce},n)},each:function(e,t){var n,r=0;if(d(e)){for(n=e.length;r<n;r++)if(!1===t.call(e[r],r,e[r]))break}else for(r in e)if(!1===t.call(e[r],r,e[r]))break;return e},makeArray:function(e,t){var n=t||[];return null!=e&&(d(Object(e))?E.merge(n,"string"==typeof e?[e]:e):u.call(n,e)),n},inArray:function(e,t,n){return null==t?-1:i.call(t,e,n)},merge:function(e,t){for(var n=+t.length,r=0,i=e.length;r<n;r++)e[i++]=t[r];return e.length=i,e},grep:function(e,t,n){for(var r=[],i=0,o=e.length,a=!n;i<o;i++)!t(e[i],i)!==a&&r.push(e[i]);return r},map:function(e,t,n){var r,i,o=0,a=[];if(d(e))for(r=e.length;o<r;o++)null!=(i=t(e[o],o,n))&&a.push(i);else for(o in e)null!=(i=t(e[o],o,n))&&a.push(i);return v(a)},guid:1,support:m}),"function"==typeof Symbol&&(E.fn[Symbol.iterator]=t[Symbol.iterator]),E.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(e,t){n["[object "+t+"]"]=t.toLowerCase()});var p=function(n){var e,p,x,o,i,h,f,g,w,u,l,C,T,a,E,v,s,c,y,A="sizzle"+1*new Date,d=n.document,N=0,r=0,m=ue(),b=ue(),S=ue(),k=ue(),D=function(e,t){return e===t&&(l=!0),0},L={}.hasOwnProperty,t=[],j=t.pop,q=t.push,O=t.push,P=t.slice,H=function(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1},I="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",R="[\\x20\\t\\r\\n\\f]",B="(?:\\\\[\\da-fA-F]{1,6}"+R+"?|\\\\[^\\r\\n\\f]|[\\w-]|[^\0-\\x7f])+",M="\\["+R+"*("+B+")(?:"+R+"*([*^$|!~]?=)"+R+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+B+"))|)"+R+"*\\]",W=":("+B+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+M+")*)|.*)\\)|)",F=new RegExp(R+"+","g"),$=new RegExp("^"+R+"+|((?:^|[^\\\\])(?:\\\\.)*)"+R+"+$","g"),z=new RegExp("^"+R+"*,"+R+"*"),_=new RegExp("^"+R+"*([>+~]|"+R+")"+R+"*"),U=new RegExp(R+"|>"),V=new RegExp(W),X=new RegExp("^"+B+"$"),Q={ID:new RegExp("^#("+B+")"),CLASS:new RegExp("^\\.("+B+")"),TAG:new RegExp("^("+B+"|[*])"),ATTR:new RegExp("^"+M),PSEUDO:new RegExp("^"+W),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+R+"*(even|odd|(([+-]|)(\\d*)n|)"+R+"*(?:([+-]|)"+R+"*(\\d+)|))"+R+"*\\)|)","i"),bool:new RegExp("^(?:"+I+")$","i"),needsContext:new RegExp("^"+R+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+R+"*((?:-\\d)?\\d*)"+R+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,G=/^(?:input|select|textarea|button)$/i,K=/^h\d$/i,J=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\[\\da-fA-F]{1,6}"+R+"?|\\\\([^\\r\\n\\f])","g"),ne=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){C()},ae=xe(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{O.apply(t=P.call(d.childNodes),d.childNodes),t[d.childNodes.length].nodeType}catch(e){O={apply:t.length?function(e,t){q.apply(e,P.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,d=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==d&&9!==d&&11!==d)return n;if(!r&&(C(e),e=e||T,E)){if(11!==d&&(u=Z.exec(t)))if(i=u[1]){if(9===d){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return O.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&p.getElementsByClassName&&e.getElementsByClassName)return O.apply(n,e.getElementsByClassName(i)),n}if(p.qsa&&!k[t+" "]&&(!v||!v.test(t))&&(1!==d||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===d&&(U.test(t)||_.test(t))){(f=ee.test(t)&&ye(e.parentNode)||e)===e&&p.scope||((s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=A)),o=(l=h(t)).length;while(o--)l[o]=(s?"#"+s:":scope")+" "+be(l[o]);c=l.join(",")}try{return O.apply(n,f.querySelectorAll(c)),n}catch(e){k(t,!0)}finally{s===A&&e.removeAttribute("id")}}}return g(t.replace($,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>x.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[A]=!0,e}function ce(e){var t=T.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)x.attrHandle[n[r]]=t}function de(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function pe(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in p=se.support={},i=se.isXML=function(e){var t=e.namespaceURI,n=(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},C=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:d;return r!=T&&9===r.nodeType&&r.documentElement&&(a=(T=r).documentElement,E=!i(T),d!=T&&(n=T.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),p.scope=ce(function(e){return a.appendChild(e).appendChild(T.createElement("div")),"undefined"!=typeof e.querySelectorAll&&!e.querySelectorAll(":scope fieldset div").length}),p.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),p.getElementsByTagName=ce(function(e){return e.appendChild(T.createComment("")),!e.getElementsByTagName("*").length}),p.getElementsByClassName=J.test(T.getElementsByClassName),p.getById=ce(function(e){return a.appendChild(e).id=A,!T.getElementsByName||!T.getElementsByName(A).length}),p.getById?(x.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},x.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(x.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},x.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),x.find.TAG=p.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):p.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},x.find.CLASS=p.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(p.qsa=J.test(T.querySelectorAll))&&(ce(function(e){var t;a.appendChild(e).innerHTML="<a id='"+A+"'></a><select id='"+A+"-\r\\' msallowcapture=''><option selected=''></option></select>",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+R+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+R+"*(?:value|"+I+")"),e.querySelectorAll("[id~="+A+"-]").length||v.push("~="),(t=T.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||v.push("\\["+R+"*name"+R+"*="+R+"*(?:''|\"\")"),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+A+"+*").length||v.push(".#.+[+~]"),e.querySelectorAll("\\\f"),v.push("[\\r\\n\\f]")}),ce(function(e){e.innerHTML="<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";var t=T.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+R+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(p.matchesSelector=J.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){p.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",W)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=J.test(a.compareDocumentPosition),y=t||J.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},D=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!p.sortDetached&&t.compareDocumentPosition(e)===n?e==T||e.ownerDocument==d&&y(d,e)?-1:t==T||t.ownerDocument==d&&y(d,t)?1:u?H(u,e)-H(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e==T?-1:t==T?1:i?-1:o?1:u?H(u,e)-H(u,t):0;if(i===o)return de(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?de(a[r],s[r]):a[r]==d?-1:s[r]==d?1:0}),T},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if(C(e),p.matchesSelector&&E&&!k[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||p.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){k(t,!0)}return 0<se(t,T,null,[e]).length},se.contains=function(e,t){return(e.ownerDocument||e)!=T&&C(e),y(e,t)},se.attr=function(e,t){(e.ownerDocument||e)!=T&&C(e);var n=x.attrHandle[t.toLowerCase()],r=n&&L.call(x.attrHandle,t.toLowerCase())?n(e,t,!E):void 0;return void 0!==r?r:p.attributes||!E?e.getAttribute(t):(r=e.getAttributeNode(t))&&r.specified?r.value:null},se.escape=function(e){return(e+"").replace(re,ie)},se.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},se.uniqueSort=function(e){var t,n=[],r=0,i=0;if(l=!p.detectDuplicates,u=!p.sortStable&&e.slice(0),e.sort(D),l){while(t=e[i++])t===e[i]&&(r=n.push(i));while(r--)e.splice(n[r],1)}return u=null,e},o=se.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=o(e)}else if(3===i||4===i)return e.nodeValue}else while(t=e[r++])n+=o(t);return n},(x=se.selectors={cacheLength:50,createPseudo:le,match:Q,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return Q.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&V.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=m[e+" "];return t||(t=new RegExp("(^|"+R+")"+e+"("+R+"|$)"))&&m(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1<t.indexOf(i):"$="===r?i&&t.slice(-i.length)===i:"~="===r?-1<(" "+t.replace(F," ")+" ").indexOf(i):"|="===r&&(t===i||t.slice(0,i.length+1)===i+"-"))}},CHILD:function(h,e,t,g,v){var y="nth"!==h.slice(0,3),m="last"!==h.slice(-4),b="of-type"===e;return 1===g&&0===v?function(e){return!!e.parentNode}:function(e,t,n){var r,i,o,a,s,u,l=y!==m?"nextSibling":"previousSibling",c=e.parentNode,f=b&&e.nodeName.toLowerCase(),d=!n&&!b,p=!1;if(c){if(y){while(l){a=e;while(a=a[l])if(b?a.nodeName.toLowerCase()===f:1===a.nodeType)return!1;u=l="only"===h&&!u&&"nextSibling"}return!0}if(u=[m?c.firstChild:c.lastChild],m&&d){p=(s=(r=(i=(o=(a=c)[A]||(a[A]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]||[])[0]===N&&r[1])&&r[2],a=s&&c.childNodes[s];while(a=++s&&a&&a[l]||(p=s=0)||u.pop())if(1===a.nodeType&&++p&&a===e){i[h]=[N,s,p];break}}else if(d&&(p=s=(r=(i=(o=(a=e)[A]||(a[A]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]||[])[0]===N&&r[1]),!1===p)while(a=++s&&a&&a[l]||(p=s=0)||u.pop())if((b?a.nodeName.toLowerCase()===f:1===a.nodeType)&&++p&&(d&&((i=(o=a[A]||(a[A]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]=[N,p]),a===e))break;return(p-=v)===g||p%g==0&&0<=p/g}}},PSEUDO:function(e,o){var t,a=x.pseudos[e]||x.setFilters[e.toLowerCase()]||se.error("unsupported pseudo: "+e);return a[A]?a(o):1<a.length?(t=[e,e,"",o],x.setFilters.hasOwnProperty(e.toLowerCase())?le(function(e,t){var n,r=a(e,o),i=r.length;while(i--)e[n=H(e,r[i])]=!(t[n]=r[i])}):function(e){return a(e,0,t)}):a}},pseudos:{not:le(function(e){var r=[],i=[],s=f(e.replace($,"$1"));return s[A]?le(function(e,t,n,r){var i,o=s(e,null,r,[]),a=e.length;while(a--)(i=o[a])&&(e[a]=!(t[a]=i))}):function(e,t,n){return r[0]=e,s(r,null,n,i),r[0]=null,!i.pop()}}),has:le(function(t){return function(e){return 0<se(t,e).length}}),contains:le(function(t){return t=t.replace(te,ne),function(e){return-1<(e.textContent||o(e)).indexOf(t)}}),lang:le(function(n){return X.test(n||"")||se.error("unsupported lang: "+n),n=n.replace(te,ne).toLowerCase(),function(e){var t;do{if(t=E?e.lang:e.getAttribute("xml:lang")||e.getAttribute("lang"))return(t=t.toLowerCase())===n||0===t.indexOf(n+"-")}while((e=e.parentNode)&&1===e.nodeType);return!1}}),target:function(e){var t=n.location&&n.location.hash;return t&&t.slice(1)===e.id},root:function(e){return e===a},focus:function(e){return e===T.activeElement&&(!T.hasFocus||T.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:ge(!1),disabled:ge(!0),checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!x.pseudos.empty(e)},header:function(e){return K.test(e.nodeName)},input:function(e){return G.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:ve(function(){return[0]}),last:ve(function(e,t){return[t-1]}),eq:ve(function(e,t,n){return[n<0?n+t:n]}),even:ve(function(e,t){for(var n=0;n<t;n+=2)e.push(n);return e}),odd:ve(function(e,t){for(var n=1;n<t;n+=2)e.push(n);return e}),lt:ve(function(e,t,n){for(var r=n<0?n+t:t<n?t:n;0<=--r;)e.push(r);return e}),gt:ve(function(e,t,n){for(var r=n<0?n+t:n;++r<t;)e.push(r);return e})}}).pseudos.nth=x.pseudos.eq,{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})x.pseudos[e]=pe(e);for(e in{submit:!0,reset:!0})x.pseudos[e]=he(e);function me(){}function be(e){for(var t=0,n=e.length,r="";t<n;t++)r+=e[t].value;return r}function xe(s,e,t){var u=e.dir,l=e.next,c=l||u,f=t&&"parentNode"===c,d=r++;return e.first?function(e,t,n){while(e=e[u])if(1===e.nodeType||f)return s(e,t,n);return!1}:function(e,t,n){var r,i,o,a=[N,d];if(n){while(e=e[u])if((1===e.nodeType||f)&&s(e,t,n))return!0}else while(e=e[u])if(1===e.nodeType||f)if(i=(o=e[A]||(e[A]={}))[e.uniqueID]||(o[e.uniqueID]={}),l&&l===e.nodeName.toLowerCase())e=e[u]||e;else{if((r=i[c])&&r[0]===N&&r[1]===d)return a[2]=r[2];if((i[c]=a)[2]=s(e,t,n))return!0}return!1}}function we(i){return 1<i.length?function(e,t,n){var r=i.length;while(r--)if(!i[r](e,t,n))return!1;return!0}:i[0]}function Ce(e,t,n,r,i){for(var o,a=[],s=0,u=e.length,l=null!=t;s<u;s++)(o=e[s])&&(n&&!n(o,r,i)||(a.push(o),l&&t.push(s)));return a}function Te(p,h,g,v,y,e){return v&&!v[A]&&(v=Te(v)),y&&!y[A]&&(y=Te(y,e)),le(function(e,t,n,r){var i,o,a,s=[],u=[],l=t.length,c=e||function(e,t,n){for(var r=0,i=t.length;r<i;r++)se(e,t[r],n);return n}(h||"*",n.nodeType?[n]:n,[]),f=!p||!e&&h?c:Ce(c,s,p,n,r),d=g?y||(e?p:l||v)?[]:t:f;if(g&&g(f,d,n,r),v){i=Ce(d,u),v(i,[],n,r),o=i.length;while(o--)(a=i[o])&&(d[u[o]]=!(f[u[o]]=a))}if(e){if(y||p){if(y){i=[],o=d.length;while(o--)(a=d[o])&&i.push(f[o]=a);y(null,d=[],i,r)}o=d.length;while(o--)(a=d[o])&&-1<(i=y?H(e,a):s[o])&&(e[i]=!(t[i]=a))}}else d=Ce(d===t?d.splice(l,d.length):d),y?y(null,t,d,r):O.apply(t,d)})}function Ee(e){for(var i,t,n,r=e.length,o=x.relative[e[0].type],a=o||x.relative[" "],s=o?1:0,u=xe(function(e){return e===i},a,!0),l=xe(function(e){return-1<H(i,e)},a,!0),c=[function(e,t,n){var r=!o&&(n||t!==w)||((i=t).nodeType?u(e,t,n):l(e,t,n));return i=null,r}];s<r;s++)if(t=x.relative[e[s].type])c=[xe(we(c),t)];else{if((t=x.filter[e[s].type].apply(null,e[s].matches))[A]){for(n=++s;n<r;n++)if(x.relative[e[n].type])break;return Te(1<s&&we(c),1<s&&be(e.slice(0,s-1).concat({value:" "===e[s-2].type?"*":""})).replace($,"$1"),t,s<n&&Ee(e.slice(s,n)),n<r&&Ee(e=e.slice(n)),n<r&&be(e))}c.push(t)}return we(c)}return me.prototype=x.filters=x.pseudos,x.setFilters=new me,h=se.tokenize=function(e,t){var n,r,i,o,a,s,u,l=b[e+" "];if(l)return t?0:l.slice(0);a=e,s=[],u=x.preFilter;while(a){for(o in n&&!(r=z.exec(a))||(r&&(a=a.slice(r[0].length)||a),s.push(i=[])),n=!1,(r=_.exec(a))&&(n=r.shift(),i.push({value:n,type:r[0].replace($," ")}),a=a.slice(n.length)),x.filter)!(r=Q[o].exec(a))||u[o]&&!(r=u[o](r))||(n=r.shift(),i.push({value:n,type:o,matches:r}),a=a.slice(n.length));if(!n)break}return t?a.length:a?se.error(e):b(e,s).slice(0)},f=se.compile=function(e,t){var n,v,y,m,b,r,i=[],o=[],a=S[e+" "];if(!a){t||(t=h(e)),n=t.length;while(n--)(a=Ee(t[n]))[A]?i.push(a):o.push(a);(a=S(e,(v=o,m=0<(y=i).length,b=0<v.length,r=function(e,t,n,r,i){var o,a,s,u=0,l="0",c=e&&[],f=[],d=w,p=e||b&&x.find.TAG("*",i),h=N+=null==d?1:Math.random()||.1,g=p.length;for(i&&(w=t==T||t||i);l!==g&&null!=(o=p[l]);l++){if(b&&o){a=0,t||o.ownerDocument==T||(C(o),n=!E);while(s=v[a++])if(s(o,t||T,n)){r.push(o);break}i&&(N=h)}m&&((o=!s&&o)&&u--,e&&c.push(o))}if(u+=l,m&&l!==u){a=0;while(s=y[a++])s(c,f,t,n);if(e){if(0<u)while(l--)c[l]||f[l]||(f[l]=j.call(r));f=Ce(f)}O.apply(r,f),i&&!e&&0<f.length&&1<u+y.length&&se.uniqueSort(r)}return i&&(N=h,w=d),c},m?le(r):r))).selector=e}return a},g=se.select=function(e,t,n,r){var i,o,a,s,u,l="function"==typeof e&&e,c=!r&&h(e=l.selector||e);if(n=n||[],1===c.length){if(2<(o=c[0]=c[0].slice(0)).length&&"ID"===(a=o[0]).type&&9===t.nodeType&&E&&x.relative[o[1].type]){if(!(t=(x.find.ID(a.matches[0].replace(te,ne),t)||[])[0]))return n;l&&(t=t.parentNode),e=e.slice(o.shift().value.length)}i=Q.needsContext.test(e)?0:o.length;while(i--){if(a=o[i],x.relative[s=a.type])break;if((u=x.find[s])&&(r=u(a.matches[0].replace(te,ne),ee.test(o[0].type)&&ye(t.parentNode)||t))){if(o.splice(i,1),!(e=r.length&&be(o)))return O.apply(n,r),n;break}}}return(l||f(e,c))(r,t,!E,n,!t||ee.test(e)&&ye(t.parentNode)||t),n},p.sortStable=A.split("").sort(D).join("")===A,p.detectDuplicates=!!l,C(),p.sortDetached=ce(function(e){return 1&e.compareDocumentPosition(T.createElement("fieldset"))}),ce(function(e){return e.innerHTML="<a href='#'></a>","#"===e.firstChild.getAttribute("href")})||fe("type|href|height|width",function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),p.attributes&&ce(function(e){return e.innerHTML="<input/>",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||fe("value",function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue}),ce(function(e){return null==e.getAttribute("disabled")})||fe(I,function(e,t,n){var r;if(!n)return!0===e[t]?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),se}(g);E.find=p,E.expr=p.selectors,E.expr[":"]=E.expr.pseudos,E.uniqueSort=E.unique=p.uniqueSort,E.text=p.getText,E.isXMLDoc=p.isXML,E.contains=p.contains,E.escapeSelector=p.escape;var h=function(e,t,n){var r=[],i=void 0!==n;while((e=e[t])&&9!==e.nodeType)if(1===e.nodeType){if(i&&E(e).is(n))break;r.push(e)}return r},A=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},N=E.expr.match.needsContext;function S(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}var k=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function D(e,n,r){return b(n)?E.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?E.grep(e,function(e){return e===n!==r}):"string"!=typeof n?E.grep(e,function(e){return-1<i.call(n,e)!==r}):E.filter(n,e,r)}E.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?E.find.matchesSelector(r,e)?[r]:[]:E.find.matches(e,E.grep(t,function(e){return 1===e.nodeType}))},E.fn.extend({find:function(e){var t,n,r=this.length,i=this;if("string"!=typeof e)return this.pushStack(E(e).filter(function(){for(t=0;t<r;t++)if(E.contains(i[t],this))return!0}));for(n=this.pushStack([]),t=0;t<r;t++)E.find(e,i[t],n);return 1<r?E.uniqueSort(n):n},filter:function(e){return this.pushStack(D(this,e||[],!1))},not:function(e){return this.pushStack(D(this,e||[],!0))},is:function(e){return!!D(this,"string"==typeof e&&N.test(e)?E(e):e||[],!1).length}});var L,j=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(E.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||L,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:j.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof E?t[0]:t,E.merge(this,E.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:w,!0)),k.test(r[1])&&E.isPlainObject(t))for(r in t)b(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=w.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):b(e)?void 0!==n.ready?n.ready(e):e(E):E.makeArray(e,this)}).prototype=E.fn,L=E(w);var q=/^(?:parents|prev(?:Until|All))/,O={children:!0,contents:!0,next:!0,prev:!0};function P(e,t){while((e=e[t])&&1!==e.nodeType);return e}E.fn.extend({has:function(e){var t=E(e,this),n=t.length;return this.filter(function(){for(var e=0;e<n;e++)if(E.contains(this,t[e]))return!0})},closest:function(e,t){var n,r=0,i=this.length,o=[],a="string"!=typeof e&&E(e);if(!N.test(e))for(;r<i;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(n.nodeType<11&&(a?-1<a.index(n):1===n.nodeType&&E.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(1<o.length?E.uniqueSort(o):o)},index:function(e){return e?"string"==typeof e?i.call(E(e),this[0]):i.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(E.uniqueSort(E.merge(this.get(),E(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),E.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return h(e,"parentNode")},parentsUntil:function(e,t,n){return h(e,"parentNode",n)},next:function(e){return P(e,"nextSibling")},prev:function(e){return P(e,"previousSibling")},nextAll:function(e){return h(e,"nextSibling")},prevAll:function(e){return h(e,"previousSibling")},nextUntil:function(e,t,n){return h(e,"nextSibling",n)},prevUntil:function(e,t,n){return h(e,"previousSibling",n)},siblings:function(e){return A((e.parentNode||{}).firstChild,e)},children:function(e){return A(e.firstChild)},contents:function(e){return null!=e.contentDocument&&r(e.contentDocument)?e.contentDocument:(S(e,"template")&&(e=e.content||e),E.merge([],e.childNodes))}},function(r,i){E.fn[r]=function(e,t){var n=E.map(this,i,e);return"Until"!==r.slice(-5)&&(t=e),t&&"string"==typeof t&&(n=E.filter(t,n)),1<this.length&&(O[r]||E.uniqueSort(n),q.test(r)&&n.reverse()),this.pushStack(n)}});var H=/[^\x20\t\r\n\f]+/g;function I(e){return e}function R(e){throw e}function B(e,t,n,r){var i;try{e&&b(i=e.promise)?i.call(e).done(t).fail(n):e&&b(i=e.then)?i.call(e,t,n):t.apply(void 0,[e].slice(r))}catch(e){n.apply(void 0,[e])}}E.Callbacks=function(r){var e,n;r="string"==typeof r?(e=r,n={},E.each(e.match(H)||[],function(e,t){n[t]=!0}),n):E.extend({},r);var i,t,o,a,s=[],u=[],l=-1,c=function(){for(a=a||r.once,o=i=!0;u.length;l=-1){t=u.shift();while(++l<s.length)!1===s[l].apply(t[0],t[1])&&r.stopOnFalse&&(l=s.length,t=!1)}r.memory||(t=!1),i=!1,a&&(s=t?[]:"")},f={add:function(){return s&&(t&&!i&&(l=s.length-1,u.push(t)),function n(e){E.each(e,function(e,t){b(t)?r.unique&&f.has(t)||s.push(t):t&&t.length&&"string"!==T(t)&&n(t)})}(arguments),t&&!i&&c()),this},remove:function(){return E.each(arguments,function(e,t){var n;while(-1<(n=E.inArray(t,s,n)))s.splice(n,1),n<=l&&l--}),this},has:function(e){return e?-1<E.inArray(e,s):0<s.length},empty:function(){return s&&(s=[]),this},disable:function(){return a=u=[],s=t="",this},disabled:function(){return!s},lock:function(){return a=u=[],t||i||(s=t=""),this},locked:function(){return!!a},fireWith:function(e,t){return a||(t=[e,(t=t||[]).slice?t.slice():t],u.push(t),i||c()),this},fire:function(){return f.fireWith(this,arguments),this},fired:function(){return!!o}};return f},E.extend({Deferred:function(e){var o=[["notify","progress",E.Callbacks("memory"),E.Callbacks("memory"),2],["resolve","done",E.Callbacks("once memory"),E.Callbacks("once memory"),0,"resolved"],["reject","fail",E.Callbacks("once memory"),E.Callbacks("once memory"),1,"rejected"]],i="pending",a={state:function(){return i},always:function(){return s.done(arguments).fail(arguments),this},"catch":function(e){return a.then(null,e)},pipe:function(){var i=arguments;return E.Deferred(function(r){E.each(o,function(e,t){var n=b(i[t[4]])&&i[t[4]];s[t[1]](function(){var e=n&&n.apply(this,arguments);e&&b(e.promise)?e.promise().progress(r.notify).done(r.resolve).fail(r.reject):r[t[0]+"With"](this,n?[e]:arguments)})}),i=null}).promise()},then:function(t,n,r){var u=0;function l(i,o,a,s){return function(){var n=this,r=arguments,e=function(){var e,t;if(!(i<u)){if((e=a.apply(n,r))===o.promise())throw new TypeError("Thenable self-resolution");t=e&&("object"==typeof e||"function"==typeof e)&&e.then,b(t)?s?t.call(e,l(u,o,I,s),l(u,o,R,s)):(u++,t.call(e,l(u,o,I,s),l(u,o,R,s),l(u,o,I,o.notifyWith))):(a!==I&&(n=void 0,r=[e]),(s||o.resolveWith)(n,r))}},t=s?e:function(){try{e()}catch(e){E.Deferred.exceptionHook&&E.Deferred.exceptionHook(e,t.stackTrace),u<=i+1&&(a!==R&&(n=void 0,r=[e]),o.rejectWith(n,r))}};i?t():(E.Deferred.getStackHook&&(t.stackTrace=E.Deferred.getStackHook()),g.setTimeout(t))}}return E.Deferred(function(e){o[0][3].add(l(0,e,b(r)?r:I,e.notifyWith)),o[1][3].add(l(0,e,b(t)?t:I)),o[2][3].add(l(0,e,b(n)?n:R))}).promise()},promise:function(e){return null!=e?E.extend(e,a):a}},s={};return E.each(o,function(e,t){var n=t[2],r=t[5];a[t[1]]=n.add,r&&n.add(function(){i=r},o[3-e][2].disable,o[3-e][3].disable,o[0][2].lock,o[0][3].lock),n.add(t[3].fire),s[t[0]]=function(){return s[t[0]+"With"](this===s?void 0:this,arguments),this},s[t[0]+"With"]=n.fireWith}),a.promise(s),e&&e.call(s,s),s},when:function(e){var n=arguments.length,t=n,r=Array(t),i=s.call(arguments),o=E.Deferred(),a=function(t){return function(e){r[t]=this,i[t]=1<arguments.length?s.call(arguments):e,--n||o.resolveWith(r,i)}};if(n<=1&&(B(e,o.done(a(t)).resolve,o.reject,!n),"pending"===o.state()||b(i[t]&&i[t].then)))return o.then();while(t--)B(i[t],a(t),o.reject);return o.promise()}});var M=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;E.Deferred.exceptionHook=function(e,t){g.console&&g.console.warn&&e&&M.test(e.name)&&g.console.warn("jQuery.Deferred exception: "+e.message,e.stack,t)},E.readyException=function(e){g.setTimeout(function(){throw e})};var W=E.Deferred();function F(){w.removeEventListener("DOMContentLoaded",F),g.removeEventListener("load",F),E.ready()}E.fn.ready=function(e){return W.then(e)["catch"](function(e){E.readyException(e)}),this},E.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--E.readyWait:E.isReady)||(E.isReady=!0)!==e&&0<--E.readyWait||W.resolveWith(w,[E])}}),E.ready.then=W.then,"complete"===w.readyState||"loading"!==w.readyState&&!w.documentElement.doScroll?g.setTimeout(E.ready):(w.addEventListener("DOMContentLoaded",F),g.addEventListener("load",F));var $=function(e,t,n,r,i,o,a){var s=0,u=e.length,l=null==n;if("object"===T(n))for(s in i=!0,n)$(e,t,s,n[s],!0,o,a);else if(void 0!==r&&(i=!0,b(r)||(a=!0),l&&(a?(t.call(e,r),t=null):(l=t,t=function(e,t,n){return l.call(E(e),n)})),t))for(;s<u;s++)t(e[s],n,a?r:r.call(e[s],s,t(e[s],n)));return i?e:l?t.call(e):u?t(e[0],n):o},z=/^-ms-/,_=/-([a-z])/g;function U(e,t){return t.toUpperCase()}function V(e){return e.replace(z,"ms-").replace(_,U)}var X=function(e){return 1===e.nodeType||9===e.nodeType||!+e.nodeType};function Q(){this.expando=E.expando+Q.uid++}Q.uid=1,Q.prototype={cache:function(e){var t=e[this.expando];return t||(t={},X(e)&&(e.nodeType?e[this.expando]=t:Object.defineProperty(e,this.expando,{value:t,configurable:!0}))),t},set:function(e,t,n){var r,i=this.cache(e);if("string"==typeof t)i[V(t)]=n;else for(r in t)i[V(r)]=t[r];return i},get:function(e,t){return void 0===t?this.cache(e):e[this.expando]&&e[this.expando][V(t)]},access:function(e,t,n){return void 0===t||t&&"string"==typeof t&&void 0===n?this.get(e,t):(this.set(e,t,n),void 0!==n?n:t)},remove:function(e,t){var n,r=e[this.expando];if(void 0!==r){if(void 0!==t){n=(t=Array.isArray(t)?t.map(V):(t=V(t))in r?[t]:t.match(H)||[]).length;while(n--)delete r[t[n]]}(void 0===t||E.isEmptyObject(r))&&(e.nodeType?e[this.expando]=void 0:delete e[this.expando])}},hasData:function(e){var t=e[this.expando];return void 0!==t&&!E.isEmptyObject(t)}};var Y=new Q,G=new Q,K=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,J=/[A-Z]/g;function Z(e,t,n){var r,i;if(void 0===n&&1===e.nodeType)if(r="data-"+t.replace(J,"-$&").toLowerCase(),"string"==typeof(n=e.getAttribute(r))){try{n="true"===(i=n)||"false"!==i&&("null"===i?null:i===+i+""?+i:K.test(i)?JSON.parse(i):i)}catch(e){}G.set(e,t,n)}else n=void 0;return n}E.extend({hasData:function(e){return G.hasData(e)||Y.hasData(e)},data:function(e,t,n){return G.access(e,t,n)},removeData:function(e,t){G.remove(e,t)},_data:function(e,t,n){return Y.access(e,t,n)},_removeData:function(e,t){Y.remove(e,t)}}),E.fn.extend({data:function(n,e){var t,r,i,o=this[0],a=o&&o.attributes;if(void 0===n){if(this.length&&(i=G.get(o),1===o.nodeType&&!Y.get(o,"hasDataAttrs"))){t=a.length;while(t--)a[t]&&0===(r=a[t].name).indexOf("data-")&&(r=V(r.slice(5)),Z(o,r,i[r]));Y.set(o,"hasDataAttrs",!0)}return i}return"object"==typeof n?this.each(function(){G.set(this,n)}):$(this,function(e){var t;if(o&&void 0===e)return void 0!==(t=G.get(o,n))?t:void 0!==(t=Z(o,n))?t:void 0;this.each(function(){G.set(this,n,e)})},null,e,1<arguments.length,null,!0)},removeData:function(e){return this.each(function(){G.remove(this,e)})}}),E.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=Y.get(e,t),n&&(!r||Array.isArray(n)?r=Y.access(e,t,E.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=E.queue(e,t),r=n.length,i=n.shift(),o=E._queueHooks(e,t);"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,function(){E.dequeue(e,t)},o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return Y.get(e,n)||Y.access(e,n,{empty:E.Callbacks("once memory").add(function(){Y.remove(e,[t+"queue",n])})})}}),E.fn.extend({queue:function(t,n){var e=2;return"string"!=typeof t&&(n=t,t="fx",e--),arguments.length<e?E.queue(this[0],t):void 0===n?this:this.each(function(){var e=E.queue(this,t,n);E._queueHooks(this,t),"fx"===t&&"inprogress"!==e[0]&&E.dequeue(this,t)})},dequeue:function(e){return this.each(function(){E.dequeue(this,e)})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,t){var n,r=1,i=E.Deferred(),o=this,a=this.length,s=function(){--r||i.resolveWith(o,[o])};"string"!=typeof e&&(t=e,e=void 0),e=e||"fx";while(a--)(n=Y.get(o[a],e+"queueHooks"))&&n.empty&&(r++,n.empty.add(s));return s(),i.promise(t)}});var ee=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,te=new RegExp("^(?:([+-])=|)("+ee+")([a-z%]*)$","i"),ne=["Top","Right","Bottom","Left"],re=w.documentElement,ie=function(e){return E.contains(e.ownerDocument,e)},oe={composed:!0};re.getRootNode&&(ie=function(e){return E.contains(e.ownerDocument,e)||e.getRootNode(oe)===e.ownerDocument});var ae=function(e,t){return"none"===(e=t||e).style.display||""===e.style.display&&ie(e)&&"none"===E.css(e,"display")};var se={};function ue(e,t){for(var n,r,i,o,a,s,u,l=[],c=0,f=e.length;c<f;c++)(r=e[c]).style&&(n=r.style.display,t?("none"===n&&(l[c]=Y.get(r,"display")||null,l[c]||(r.style.display="")),""===r.style.display&&ae(r)&&(l[c]=(u=a=o=void 0,a=(i=r).ownerDocument,s=i.nodeName,(u=se[s])||(o=a.body.appendChild(a.createElement(s)),u=E.css(o,"display"),o.parentNode.removeChild(o),"none"===u&&(u="block"),se[s]=u)))):"none"!==n&&(l[c]="none",Y.set(r,"display",n)));for(c=0;c<f;c++)null!=l[c]&&(e[c].style.display=l[c]);return e}E.fn.extend({show:function(){return ue(this,!0)},hide:function(){return ue(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){ae(this)?E(this).show():E(this).hide()})}});var le,ce,fe=/^(?:checkbox|radio)$/i,de=/<([a-z][^\/\0>\x20\t\r\n\f]*)/i,pe=/^$|^module$|\/(?:java|ecma)script/i;le=w.createDocumentFragment().appendChild(w.createElement("div")),(ce=w.createElement("input")).setAttribute("type","radio"),ce.setAttribute("checked","checked"),ce.setAttribute("name","t"),le.appendChild(ce),m.checkClone=le.cloneNode(!0).cloneNode(!0).lastChild.checked,le.innerHTML="<textarea>x</textarea>",m.noCloneChecked=!!le.cloneNode(!0).lastChild.defaultValue,le.innerHTML="<option></option>",m.option=!!le.lastChild;var he={thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};function ge(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&S(e,t)?E.merge([e],n):n}function ve(e,t){for(var n=0,r=e.length;n<r;n++)Y.set(e[n],"globalEval",!t||Y.get(t[n],"globalEval"))}he.tbody=he.tfoot=he.colgroup=he.caption=he.thead,he.th=he.td,m.option||(he.optgroup=he.option=[1,"<select multiple='multiple'>","</select>"]);var ye=/<|&#?\w+;/;function me(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),d=[],p=0,h=e.length;p<h;p++)if((o=e[p])||0===o)if("object"===T(o))E.merge(d,o.nodeType?[o]:o);else if(ye.test(o)){a=a||f.appendChild(t.createElement("div")),s=(de.exec(o)||["",""])[1].toLowerCase(),u=he[s]||he._default,a.innerHTML=u[1]+E.htmlPrefilter(o)+u[2],c=u[0];while(c--)a=a.lastChild;E.merge(d,a.childNodes),(a=f.firstChild).textContent=""}else d.push(t.createTextNode(o));f.textContent="",p=0;while(o=d[p++])if(r&&-1<E.inArray(o,r))i&&i.push(o);else if(l=ie(o),a=ge(f.appendChild(o),"script"),l&&ve(a),n){c=0;while(o=a[c++])pe.test(o.type||"")&&n.push(o)}return f}var be=/^key/,xe=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,we=/^([^.]*)(?:\.(.+)|)/;function Ce(){return!0}function Te(){return!1}function Ee(e,t){return e===function(){try{return w.activeElement}catch(e){}}()==("focus"===t)}function Ae(e,t,n,r,i,o){var a,s;if("object"==typeof t){for(s in"string"!=typeof n&&(r=r||n,n=void 0),t)Ae(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=Te;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return E().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=E.guid++)),e.each(function(){E.event.add(this,t,i,r,n)})}function Ne(e,i,o){o?(Y.set(e,i,!1),E.event.add(e,i,{namespace:!1,handler:function(e){var t,n,r=Y.get(this,i);if(1&e.isTrigger&&this[i]){if(r.length)(E.event.special[i]||{}).delegateType&&e.stopPropagation();else if(r=s.call(arguments),Y.set(this,i,r),t=o(this,i),this[i](),r!==(n=Y.get(this,i))||t?Y.set(this,i,!1):n={},r!==n)return e.stopImmediatePropagation(),e.preventDefault(),n.value}else r.length&&(Y.set(this,i,{value:E.event.trigger(E.extend(r[0],E.Event.prototype),r.slice(1),this)}),e.stopImmediatePropagation())}})):void 0===Y.get(e,i)&&E.event.add(e,i,Ce)}E.event={global:{},add:function(t,e,n,r,i){var o,a,s,u,l,c,f,d,p,h,g,v=Y.get(t);if(X(t)){n.handler&&(n=(o=n).handler,i=o.selector),i&&E.find.matchesSelector(re,i),n.guid||(n.guid=E.guid++),(u=v.events)||(u=v.events=Object.create(null)),(a=v.handle)||(a=v.handle=function(e){return"undefined"!=typeof E&&E.event.triggered!==e.type?E.event.dispatch.apply(t,arguments):void 0}),l=(e=(e||"").match(H)||[""]).length;while(l--)p=g=(s=we.exec(e[l])||[])[1],h=(s[2]||"").split(".").sort(),p&&(f=E.event.special[p]||{},p=(i?f.delegateType:f.bindType)||p,f=E.event.special[p]||{},c=E.extend({type:p,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&E.expr.match.needsContext.test(i),namespace:h.join(".")},o),(d=u[p])||((d=u[p]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(t,r,h,a)||t.addEventListener&&t.addEventListener(p,a)),f.add&&(f.add.call(t,c),c.handler.guid||(c.handler.guid=n.guid)),i?d.splice(d.delegateCount++,0,c):d.push(c),E.event.global[p]=!0)}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,d,p,h,g,v=Y.hasData(e)&&Y.get(e);if(v&&(u=v.events)){l=(t=(t||"").match(H)||[""]).length;while(l--)if(p=g=(s=we.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),p){f=E.event.special[p]||{},d=u[p=(r?f.delegateType:f.bindType)||p]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=d.length;while(o--)c=d[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(d.splice(o,1),c.selector&&d.delegateCount--,f.remove&&f.remove.call(e,c));a&&!d.length&&(f.teardown&&!1!==f.teardown.call(e,h,v.handle)||E.removeEvent(e,p,v.handle),delete u[p])}else for(p in u)E.event.remove(e,p+t[l],n,r,!0);E.isEmptyObject(u)&&Y.remove(e,"handle events")}},dispatch:function(e){var t,n,r,i,o,a,s=new Array(arguments.length),u=E.event.fix(e),l=(Y.get(this,"events")||Object.create(null))[u.type]||[],c=E.event.special[u.type]||{};for(s[0]=u,t=1;t<arguments.length;t++)s[t]=arguments[t];if(u.delegateTarget=this,!c.preDispatch||!1!==c.preDispatch.call(this,u)){a=E.event.handlers.call(this,u,l),t=0;while((i=a[t++])&&!u.isPropagationStopped()){u.currentTarget=i.elem,n=0;while((o=i.handlers[n++])&&!u.isImmediatePropagationStopped())u.rnamespace&&!1!==o.namespace&&!u.rnamespace.test(o.namespace)||(u.handleObj=o,u.data=o.data,void 0!==(r=((E.event.special[o.origType]||{}).handle||o.handler).apply(i.elem,s))&&!1===(u.result=r)&&(u.preventDefault(),u.stopPropagation()))}return c.postDispatch&&c.postDispatch.call(this,u),u.result}},handlers:function(e,t){var n,r,i,o,a,s=[],u=t.delegateCount,l=e.target;if(u&&l.nodeType&&!("click"===e.type&&1<=e.button))for(;l!==this;l=l.parentNode||this)if(1===l.nodeType&&("click"!==e.type||!0!==l.disabled)){for(o=[],a={},n=0;n<u;n++)void 0===a[i=(r=t[n]).selector+" "]&&(a[i]=r.needsContext?-1<E(i,this).index(l):E.find(i,this,null,[l]).length),a[i]&&o.push(r);o.length&&s.push({elem:l,handlers:o})}return l=this,u<t.length&&s.push({elem:l,handlers:t.slice(u)}),s},addProp:function(t,e){Object.defineProperty(E.Event.prototype,t,{enumerable:!0,configurable:!0,get:b(e)?function(){if(this.originalEvent)return e(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[t]},set:function(e){Object.defineProperty(this,t,{enumerable:!0,configurable:!0,writable:!0,value:e})}})},fix:function(e){return e[E.expando]?e:new E.Event(e)},special:{load:{noBubble:!0},click:{setup:function(e){var t=this||e;return fe.test(t.type)&&t.click&&S(t,"input")&&Ne(t,"click",Ce),!1},trigger:function(e){var t=this||e;return fe.test(t.type)&&t.click&&S(t,"input")&&Ne(t,"click"),!0},_default:function(e){var t=e.target;return fe.test(t.type)&&t.click&&S(t,"input")&&Y.get(t,"click")||S(t,"a")}},beforeunload:{postDispatch:function(e){void 0!==e.result&&e.originalEvent&&(e.originalEvent.returnValue=e.result)}}}},E.removeEvent=function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n)},E.Event=function(e,t){if(!(this instanceof E.Event))return new E.Event(e,t);e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||void 0===e.defaultPrevented&&!1===e.returnValue?Ce:Te,this.target=e.target&&3===e.target.nodeType?e.target.parentNode:e.target,this.currentTarget=e.currentTarget,this.relatedTarget=e.relatedTarget):this.type=e,t&&E.extend(this,t),this.timeStamp=e&&e.timeStamp||Date.now(),this[E.expando]=!0},E.Event.prototype={constructor:E.Event,isDefaultPrevented:Te,isPropagationStopped:Te,isImmediatePropagationStopped:Te,isSimulated:!1,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=Ce,e&&!this.isSimulated&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=Ce,e&&!this.isSimulated&&e.stopPropagation()},stopImmediatePropagation:function(){var e=this.originalEvent;this.isImmediatePropagationStopped=Ce,e&&!this.isSimulated&&e.stopImmediatePropagation(),this.stopPropagation()}},E.each({altKey:!0,bubbles:!0,cancelable:!0,changedTouches:!0,ctrlKey:!0,detail:!0,eventPhase:!0,metaKey:!0,pageX:!0,pageY:!0,shiftKey:!0,view:!0,"char":!0,code:!0,charCode:!0,key:!0,keyCode:!0,button:!0,buttons:!0,clientX:!0,clientY:!0,offsetX:!0,offsetY:!0,pointerId:!0,pointerType:!0,screenX:!0,screenY:!0,targetTouches:!0,toElement:!0,touches:!0,which:function(e){var t=e.button;return null==e.which&&be.test(e.type)?null!=e.charCode?e.charCode:e.keyCode:!e.which&&void 0!==t&&xe.test(e.type)?1&t?1:2&t?3:4&t?2:0:e.which}},E.event.addProp),E.each({focus:"focusin",blur:"focusout"},function(e,t){E.event.special[e]={setup:function(){return Ne(this,e,Ee),!1},trigger:function(){return Ne(this,e),!0},delegateType:t}}),E.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(e,i){E.event.special[e]={delegateType:i,bindType:i,handle:function(e){var t,n=e.relatedTarget,r=e.handleObj;return n&&(n===this||E.contains(this,n))||(e.type=r.origType,t=r.handler.apply(this,arguments),e.type=i),t}}}),E.fn.extend({on:function(e,t,n,r){return Ae(this,e,t,n,r)},one:function(e,t,n,r){return Ae(this,e,t,n,r,1)},off:function(e,t,n){var r,i;if(e&&e.preventDefault&&e.handleObj)return r=e.handleObj,E(e.delegateTarget).off(r.namespace?r.origType+"."+r.namespace:r.origType,r.selector,r.handler),this;if("object"==typeof e){for(i in e)this.off(i,t,e[i]);return this}return!1!==t&&"function"!=typeof t||(n=t,t=void 0),!1===n&&(n=Te),this.each(function(){E.event.remove(this,e,n,t)})}});var Se=/<script|<style|<link/i,ke=/checked\s*(?:[^=]|=\s*.checked.)/i,De=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;function Le(e,t){return S(e,"table")&&S(11!==t.nodeType?t:t.firstChild,"tr")&&E(e).children("tbody")[0]||e}function je(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function qe(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Oe(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(Y.hasData(e)&&(s=Y.get(e).events))for(i in Y.remove(t,"handle events"),s)for(n=0,r=s[i].length;n<r;n++)E.event.add(t,i,s[i][n]);G.hasData(e)&&(o=G.access(e),a=E.extend({},o),G.set(t,a))}}function Pe(n,r,i,o){r=v(r);var e,t,a,s,u,l,c=0,f=n.length,d=f-1,p=r[0],h=b(p);if(h||1<f&&"string"==typeof p&&!m.checkClone&&ke.test(p))return n.each(function(e){var t=n.eq(e);h&&(r[0]=p.call(this,e,t.html())),Pe(t,r,i,o)});if(f&&(t=(e=me(r,n[0].ownerDocument,!1,n,o)).firstChild,1===e.childNodes.length&&(e=t),t||o)){for(s=(a=E.map(ge(e,"script"),je)).length;c<f;c++)u=e,c!==d&&(u=E.clone(u,!0,!0),s&&E.merge(a,ge(u,"script"))),i.call(n[c],u,c);if(s)for(l=a[a.length-1].ownerDocument,E.map(a,qe),c=0;c<s;c++)u=a[c],pe.test(u.type||"")&&!Y.access(u,"globalEval")&&E.contains(l,u)&&(u.src&&"module"!==(u.type||"").toLowerCase()?E._evalUrl&&!u.noModule&&E._evalUrl(u.src,{nonce:u.nonce||u.getAttribute("nonce")},l):C(u.textContent.replace(De,""),u,l))}return n}function He(e,t,n){for(var r,i=t?E.filter(t,e):e,o=0;null!=(r=i[o]);o++)n||1!==r.nodeType||E.cleanData(ge(r)),r.parentNode&&(n&&ie(r)&&ve(ge(r,"script")),r.parentNode.removeChild(r));return e}E.extend({htmlPrefilter:function(e){return e},clone:function(e,t,n){var r,i,o,a,s,u,l,c=e.cloneNode(!0),f=ie(e);if(!(m.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||E.isXMLDoc(e)))for(a=ge(c),r=0,i=(o=ge(e)).length;r<i;r++)s=o[r],u=a[r],void 0,"input"===(l=u.nodeName.toLowerCase())&&fe.test(s.type)?u.checked=s.checked:"input"!==l&&"textarea"!==l||(u.defaultValue=s.defaultValue);if(t)if(n)for(o=o||ge(e),a=a||ge(c),r=0,i=o.length;r<i;r++)Oe(o[r],a[r]);else Oe(e,c);return 0<(a=ge(c,"script")).length&&ve(a,!f&&ge(e,"script")),c},cleanData:function(e){for(var t,n,r,i=E.event.special,o=0;void 0!==(n=e[o]);o++)if(X(n)){if(t=n[Y.expando]){if(t.events)for(r in t.events)i[r]?E.event.remove(n,r):E.removeEvent(n,r,t.handle);n[Y.expando]=void 0}n[G.expando]&&(n[G.expando]=void 0)}}}),E.fn.extend({detach:function(e){return He(this,e,!0)},remove:function(e){return He(this,e)},text:function(e){return $(this,function(e){return void 0===e?E.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)})},null,e,arguments.length)},append:function(){return Pe(this,arguments,function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||Le(this,e).appendChild(e)})},prepend:function(){return Pe(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=Le(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return Pe(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return Pe(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(E.cleanData(ge(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return E.clone(this,e,t)})},html:function(e){return $(this,function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!Se.test(e)&&!he[(de.exec(e)||["",""])[1].toLowerCase()]){e=E.htmlPrefilter(e);try{for(;n<r;n++)1===(t=this[n]||{}).nodeType&&(E.cleanData(ge(t,!1)),t.innerHTML=e);t=0}catch(e){}}t&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var n=[];return Pe(this,arguments,function(e){var t=this.parentNode;E.inArray(this,n)<0&&(E.cleanData(ge(this)),t&&t.replaceChild(e,this))},n)}}),E.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,a){E.fn[e]=function(e){for(var t,n=[],r=E(e),i=r.length-1,o=0;o<=i;o++)t=o===i?this:this.clone(!0),E(r[o])[a](t),u.apply(n,t.get());return this.pushStack(n)}});var Ie=new RegExp("^("+ee+")(?!px)[a-z%]+$","i"),Re=function(e){var t=e.ownerDocument.defaultView;return t&&t.opener||(t=g),t.getComputedStyle(e)},Be=function(e,t,n){var r,i,o={};for(i in t)o[i]=e.style[i],e.style[i]=t[i];for(i in r=n.call(e),t)e.style[i]=o[i];return r},Me=new RegExp(ne.join("|"),"i");function We(e,t,n){var r,i,o,a,s=e.style;return(n=n||Re(e))&&(""!==(a=n.getPropertyValue(t)||n[t])||ie(e)||(a=E.style(e,t)),!m.pixelBoxStyles()&&Ie.test(a)&&Me.test(t)&&(r=s.width,i=s.minWidth,o=s.maxWidth,s.minWidth=s.maxWidth=s.width=a,a=n.width,s.width=r,s.minWidth=i,s.maxWidth=o)),void 0!==a?a+"":a}function Fe(e,t){return{get:function(){if(!e())return(this.get=t).apply(this,arguments);delete this.get}}}!function(){function e(){if(l){u.style.cssText="position:absolute;left:-11111px;width:60px;margin-top:1px;padding:0;border:0",l.style.cssText="position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%",re.appendChild(u).appendChild(l);var e=g.getComputedStyle(l);n="1%"!==e.top,s=12===t(e.marginLeft),l.style.right="60%",o=36===t(e.right),r=36===t(e.width),l.style.position="absolute",i=12===t(l.offsetWidth/3),re.removeChild(u),l=null}}function t(e){return Math.round(parseFloat(e))}var n,r,i,o,a,s,u=w.createElement("div"),l=w.createElement("div");l.style&&(l.style.backgroundClip="content-box",l.cloneNode(!0).style.backgroundClip="",m.clearCloneStyle="content-box"===l.style.backgroundClip,E.extend(m,{boxSizingReliable:function(){return e(),r},pixelBoxStyles:function(){return e(),o},pixelPosition:function(){return e(),n},reliableMarginLeft:function(){return e(),s},scrollboxSize:function(){return e(),i},reliableTrDimensions:function(){var e,t,n,r;return null==a&&(e=w.createElement("table"),t=w.createElement("tr"),n=w.createElement("div"),e.style.cssText="position:absolute;left:-11111px",t.style.height="1px",n.style.height="9px",re.appendChild(e).appendChild(t).appendChild(n),r=g.getComputedStyle(t),a=3<parseInt(r.height),re.removeChild(e)),a}}))}();var $e=["Webkit","Moz","ms"],ze=w.createElement("div").style,_e={};function Ue(e){var t=E.cssProps[e]||_e[e];return t||(e in ze?e:_e[e]=function(e){var t=e[0].toUpperCase()+e.slice(1),n=$e.length;while(n--)if((e=$e[n]+t)in ze)return e}(e)||e)}var Ve,Xe,Qe=/^(none|table(?!-c[ea]).+)/,Ye=/^--/,Ge={position:"absolute",visibility:"hidden",display:"block"},Ke={letterSpacing:"0",fontWeight:"400"};function Je(e,t,n){var r=te.exec(t);return r?Math.max(0,r[2]-(n||0))+(r[3]||"px"):t}function Ze(e,t,n,r,i,o){var a="width"===t?1:0,s=0,u=0;if(n===(r?"border":"content"))return 0;for(;a<4;a+=2)"margin"===n&&(u+=E.css(e,n+ne[a],!0,i)),r?("content"===n&&(u-=E.css(e,"padding"+ne[a],!0,i)),"margin"!==n&&(u-=E.css(e,"border"+ne[a]+"Width",!0,i))):(u+=E.css(e,"padding"+ne[a],!0,i),"padding"!==n?u+=E.css(e,"border"+ne[a]+"Width",!0,i):s+=E.css(e,"border"+ne[a]+"Width",!0,i));return!r&&0<=o&&(u+=Math.max(0,Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-o-u-s-.5))||0),u}function et(e,t,n){var r=Re(e),i=(!m.boxSizingReliable()||n)&&"border-box"===E.css(e,"boxSizing",!1,r),o=i,a=We(e,t,r),s="offset"+t[0].toUpperCase()+t.slice(1);if(Ie.test(a)){if(!n)return a;a="auto"}return(!m.boxSizingReliable()&&i||!m.reliableTrDimensions()&&S(e,"tr")||"auto"===a||!parseFloat(a)&&"inline"===E.css(e,"display",!1,r))&&e.getClientRects().length&&(i="border-box"===E.css(e,"boxSizing",!1,r),(o=s in e)&&(a=e[s])),(a=parseFloat(a)||0)+Ze(e,t,n||(i?"border":"content"),o,r,a)+"px"}E.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=We(e,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,gridArea:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnStart:!0,gridRow:!0,gridRowEnd:!0,gridRowStart:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,o,a,s=V(t),u=Ye.test(t),l=e.style;if(u||(t=Ue(s)),a=E.cssHooks[t]||E.cssHooks[s],void 0===n)return a&&"get"in a&&void 0!==(i=a.get(e,!1,r))?i:l[t];"string"===(o=typeof n)&&(i=te.exec(n))&&i[1]&&(n=function(e,t,n,r){var i,o,a=20,s=r?function(){return r.cur()}:function(){return E.css(e,t,"")},u=s(),l=n&&n[3]||(E.cssNumber[t]?"":"px"),c=e.nodeType&&(E.cssNumber[t]||"px"!==l&&+u)&&te.exec(E.css(e,t));if(c&&c[3]!==l){u/=2,l=l||c[3],c=+u||1;while(a--)E.style(e,t,c+l),(1-o)*(1-(o=s()/u||.5))<=0&&(a=0),c/=o;c*=2,E.style(e,t,c+l),n=n||[]}return n&&(c=+c||+u||0,i=n[1]?c+(n[1]+1)*n[2]:+n[2],r&&(r.unit=l,r.start=c,r.end=i)),i}(e,t,i),o="number"),null!=n&&n==n&&("number"!==o||u||(n+=i&&i[3]||(E.cssNumber[s]?"":"px")),m.clearCloneStyle||""!==n||0!==t.indexOf("background")||(l[t]="inherit"),a&&"set"in a&&void 0===(n=a.set(e,n,r))||(u?l.setProperty(t,n):l[t]=n))}},css:function(e,t,n,r){var i,o,a,s=V(t);return Ye.test(t)||(t=Ue(s)),(a=E.cssHooks[t]||E.cssHooks[s])&&"get"in a&&(i=a.get(e,!0,n)),void 0===i&&(i=We(e,t,r)),"normal"===i&&t in Ke&&(i=Ke[t]),""===n||n?(o=parseFloat(i),!0===n||isFinite(o)?o||0:i):i}}),E.each(["height","width"],function(e,u){E.cssHooks[u]={get:function(e,t,n){if(t)return!Qe.test(E.css(e,"display"))||e.getClientRects().length&&e.getBoundingClientRect().width?et(e,u,n):Be(e,Ge,function(){return et(e,u,n)})},set:function(e,t,n){var r,i=Re(e),o=!m.scrollboxSize()&&"absolute"===i.position,a=(o||n)&&"border-box"===E.css(e,"boxSizing",!1,i),s=n?Ze(e,u,n,a,i):0;return a&&o&&(s-=Math.ceil(e["offset"+u[0].toUpperCase()+u.slice(1)]-parseFloat(i[u])-Ze(e,u,"border",!1,i)-.5)),s&&(r=te.exec(t))&&"px"!==(r[3]||"px")&&(e.style[u]=t,t=E.css(e,u)),Je(0,t,s)}}}),E.cssHooks.marginLeft=Fe(m.reliableMarginLeft,function(e,t){if(t)return(parseFloat(We(e,"marginLeft"))||e.getBoundingClientRect().left-Be(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}))+"px"}),E.each({margin:"",padding:"",border:"Width"},function(i,o){E.cssHooks[i+o]={expand:function(e){for(var t=0,n={},r="string"==typeof e?e.split(" "):[e];t<4;t++)n[i+ne[t]+o]=r[t]||r[t-2]||r[0];return n}},"margin"!==i&&(E.cssHooks[i+o].set=Je)}),E.fn.extend({css:function(e,t){return $(this,function(e,t,n){var r,i,o={},a=0;if(Array.isArray(t)){for(r=Re(e),i=t.length;a<i;a++)o[t[a]]=E.css(e,t[a],!1,r);return o}return void 0!==n?E.style(e,t,n):E.css(e,t)},e,t,1<arguments.length)}}),E.fn.delay=function(r,e){return r=E.fx&&E.fx.speeds[r]||r,e=e||"fx",this.queue(e,function(e,t){var n=g.setTimeout(e,r);t.stop=function(){g.clearTimeout(n)}})},Ve=w.createElement("input"),Xe=w.createElement("select").appendChild(w.createElement("option")),Ve.type="checkbox",m.checkOn=""!==Ve.value,m.optSelected=Xe.selected,(Ve=w.createElement("input")).value="t",Ve.type="radio",m.radioValue="t"===Ve.value;var tt,nt=E.expr.attrHandle;E.fn.extend({attr:function(e,t){return $(this,E.attr,e,t,1<arguments.length)},removeAttr:function(e){return this.each(function(){E.removeAttr(this,e)})}}),E.extend({attr:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return"undefined"==typeof e.getAttribute?E.prop(e,t,n):(1===o&&E.isXMLDoc(e)||(i=E.attrHooks[t.toLowerCase()]||(E.expr.match.bool.test(t)?tt:void 0)),void 0!==n?null===n?void E.removeAttr(e,t):i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:(e.setAttribute(t,n+""),n):i&&"get"in i&&null!==(r=i.get(e,t))?r:null==(r=E.find.attr(e,t))?void 0:r)},attrHooks:{type:{set:function(e,t){if(!m.radioValue&&"radio"===t&&S(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r=0,i=t&&t.match(H);if(i&&1===e.nodeType)while(n=i[r++])e.removeAttribute(n)}}),tt={set:function(e,t,n){return!1===t?E.removeAttr(e,n):e.setAttribute(n,n),n}},E.each(E.expr.match.bool.source.match(/\w+/g),function(e,t){var a=nt[t]||E.find.attr;nt[t]=function(e,t,n){var r,i,o=t.toLowerCase();return n||(i=nt[o],nt[o]=r,r=null!=a(e,t,n)?o:null,nt[o]=i),r}});var rt=/^(?:input|select|textarea|button)$/i,it=/^(?:a|area)$/i;function ot(e){return(e.match(H)||[]).join(" ")}function at(e){return e.getAttribute&&e.getAttribute("class")||""}function st(e){return Array.isArray(e)?e:"string"==typeof e&&e.match(H)||[]}E.fn.extend({prop:function(e,t){return $(this,E.prop,e,t,1<arguments.length)},removeProp:function(e){return this.each(function(){delete this[E.propFix[e]||e]})}}),E.extend({prop:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&E.isXMLDoc(e)||(t=E.propFix[t]||t,i=E.propHooks[t]),void 0!==n?i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:e[t]=n:i&&"get"in i&&null!==(r=i.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=E.find.attr(e,"tabindex");return t?parseInt(t,10):rt.test(e.nodeName)||it.test(e.nodeName)&&e.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),m.optSelected||(E.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),E.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){E.propFix[this.toLowerCase()]=this}),E.fn.extend({addClass:function(t){var e,n,r,i,o,a,s,u=0;if(b(t))return this.each(function(e){E(this).addClass(t.call(this,e,at(this)))});if((e=st(t)).length)while(n=this[u++])if(i=at(n),r=1===n.nodeType&&" "+ot(i)+" "){a=0;while(o=e[a++])r.indexOf(" "+o+" ")<0&&(r+=o+" ");i!==(s=ot(r))&&n.setAttribute("class",s)}return this},removeClass:function(t){var e,n,r,i,o,a,s,u=0;if(b(t))return this.each(function(e){E(this).removeClass(t.call(this,e,at(this)))});if(!arguments.length)return this.attr("class","");if((e=st(t)).length)while(n=this[u++])if(i=at(n),r=1===n.nodeType&&" "+ot(i)+" "){a=0;while(o=e[a++])while(-1<r.indexOf(" "+o+" "))r=r.replace(" "+o+" "," ");i!==(s=ot(r))&&n.setAttribute("class",s)}return this},toggleClass:function(i,t){var o=typeof i,a="string"===o||Array.isArray(i);return"boolean"==typeof t&&a?t?this.addClass(i):this.removeClass(i):b(i)?this.each(function(e){E(this).toggleClass(i.call(this,e,at(this),t),t)}):this.each(function(){var e,t,n,r;if(a){t=0,n=E(this),r=st(i);while(e=r[t++])n.hasClass(e)?n.removeClass(e):n.addClass(e)}else void 0!==i&&"boolean"!==o||((e=at(this))&&Y.set(this,"__className__",e),this.setAttribute&&this.setAttribute("class",e||!1===i?"":Y.get(this,"__className__")||""))})},hasClass:function(e){var t,n,r=0;t=" "+e+" ";while(n=this[r++])if(1===n.nodeType&&-1<(" "+ot(at(n))+" ").indexOf(t))return!0;return!1}});var ut=/\r/g;E.fn.extend({val:function(n){var r,e,i,t=this[0];return arguments.length?(i=b(n),this.each(function(e){var t;1===this.nodeType&&(null==(t=i?n.call(this,e,E(this).val()):n)?t="":"number"==typeof t?t+="":Array.isArray(t)&&(t=E.map(t,function(e){return null==e?"":e+""})),(r=E.valHooks[this.type]||E.valHooks[this.nodeName.toLowerCase()])&&"set"in r&&void 0!==r.set(this,t,"value")||(this.value=t))})):t?(r=E.valHooks[t.type]||E.valHooks[t.nodeName.toLowerCase()])&&"get"in r&&void 0!==(e=r.get(t,"value"))?e:"string"==typeof(e=t.value)?e.replace(ut,""):null==e?"":e:void 0}}),E.extend({valHooks:{option:{get:function(e){var t=E.find.attr(e,"value");return null!=t?t:ot(E.text(e))}},select:{get:function(e){var t,n,r,i=e.options,o=e.selectedIndex,a="select-one"===e.type,s=a?null:[],u=a?o+1:i.length;for(r=o<0?u:a?o:0;r<u;r++)if(((n=i[r]).selected||r===o)&&!n.disabled&&(!n.parentNode.disabled||!S(n.parentNode,"optgroup"))){if(t=E(n).val(),a)return t;s.push(t)}return s},set:function(e,t){var n,r,i=e.options,o=E.makeArray(t),a=i.length;while(a--)((r=i[a]).selected=-1<E.inArray(E.valHooks.option.get(r),o))&&(n=!0);return n||(e.selectedIndex=-1),o}}}}),E.each(["radio","checkbox"],function(){E.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=-1<E.inArray(E(e).val(),t)}},m.checkOn||(E.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})}),m.focusin="onfocusin"in g;var lt=/^(?:focusinfocus|focusoutblur)$/,ct=function(e){e.stopPropagation()};E.extend(E.event,{trigger:function(e,t,n,r){var i,o,a,s,u,l,c,f,d=[n||w],p=y.call(e,"type")?e.type:e,h=y.call(e,"namespace")?e.namespace.split("."):[];if(o=f=a=n=n||w,3!==n.nodeType&&8!==n.nodeType&&!lt.test(p+E.event.triggered)&&(-1<p.indexOf(".")&&(p=(h=p.split(".")).shift(),h.sort()),u=p.indexOf(":")<0&&"on"+p,(e=e[E.expando]?e:new E.Event(p,"object"==typeof e&&e)).isTrigger=r?2:3,e.namespace=h.join("."),e.rnamespace=e.namespace?new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,e.result=void 0,e.target||(e.target=n),t=null==t?[e]:E.makeArray(t,[e]),c=E.event.special[p]||{},r||!c.trigger||!1!==c.trigger.apply(n,t))){if(!r&&!c.noBubble&&!x(n)){for(s=c.delegateType||p,lt.test(s+p)||(o=o.parentNode);o;o=o.parentNode)d.push(o),a=o;a===(n.ownerDocument||w)&&d.push(a.defaultView||a.parentWindow||g)}i=0;while((o=d[i++])&&!e.isPropagationStopped())f=o,e.type=1<i?s:c.bindType||p,(l=(Y.get(o,"events")||Object.create(null))[e.type]&&Y.get(o,"handle"))&&l.apply(o,t),(l=u&&o[u])&&l.apply&&X(o)&&(e.result=l.apply(o,t),!1===e.result&&e.preventDefault());return e.type=p,r||e.isDefaultPrevented()||c._default&&!1!==c._default.apply(d.pop(),t)||!X(n)||u&&b(n[p])&&!x(n)&&((a=n[u])&&(n[u]=null),E.event.triggered=p,e.isPropagationStopped()&&f.addEventListener(p,ct),n[p](),e.isPropagationStopped()&&f.removeEventListener(p,ct),E.event.triggered=void 0,a&&(n[u]=a)),e.result}},simulate:function(e,t,n){var r=E.extend(new E.Event,n,{type:e,isSimulated:!0});E.event.trigger(r,null,t)}}),E.fn.extend({trigger:function(e,t){return this.each(function(){E.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return E.event.trigger(e,t,n,!0)}}),m.focusin||E.each({focus:"focusin",blur:"focusout"},function(n,r){var i=function(e){E.event.simulate(r,e.target,E.event.fix(e))};E.event.special[r]={setup:function(){var e=this.ownerDocument||this.document||this,t=Y.access(e,r);t||e.addEventListener(n,i,!0),Y.access(e,r,(t||0)+1)},teardown:function(){var e=this.ownerDocument||this.document||this,t=Y.access(e,r)-1;t?Y.access(e,r,t):(e.removeEventListener(n,i,!0),Y.remove(e,r))}}}),E.parseXML=function(e){var t;if(!e||"string"!=typeof e)return null;try{t=(new g.DOMParser).parseFromString(e,"text/xml")}catch(e){t=void 0}return t&&!t.getElementsByTagName("parsererror").length||E.error("Invalid XML: "+e),t};var ft,dt=/\[\]$/,pt=/\r?\n/g,ht=/^(?:submit|button|image|reset|file)$/i,gt=/^(?:input|select|textarea|keygen)/i;function vt(n,e,r,i){var t;if(Array.isArray(e))E.each(e,function(e,t){r||dt.test(n)?i(n,t):vt(n+"["+("object"==typeof t&&null!=t?e:"")+"]",t,r,i)});else if(r||"object"!==T(e))i(n,e);else for(t in e)vt(n+"["+t+"]",e[t],r,i)}E.param=function(e,t){var n,r=[],i=function(e,t){var n=b(t)?t():t;r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)};if(null==e)return"";if(Array.isArray(e)||e.jquery&&!E.isPlainObject(e))E.each(e,function(){i(this.name,this.value)});else for(n in e)vt(n,e[n],t,i);return r.join("&")},E.fn.extend({serialize:function(){return E.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=E.prop(this,"elements");return e?E.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!E(this).is(":disabled")&&gt.test(this.nodeName)&&!ht.test(e)&&(this.checked||!fe.test(e))}).map(function(e,t){var n=E(this).val();return null==n?null:Array.isArray(n)?E.map(n,function(e){return{name:t.name,value:e.replace(pt,"\r\n")}}):{name:t.name,value:n.replace(pt,"\r\n")}}).get()}}),E.fn.extend({wrapAll:function(e){var t;return this[0]&&(b(e)&&(e=e.call(this[0])),t=E(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstElementChild)e=e.firstElementChild;return e}).append(this)),this},wrapInner:function(n){return b(n)?this.each(function(e){E(this).wrapInner(n.call(this,e))}):this.each(function(){var e=E(this),t=e.contents();t.length?t.wrapAll(n):e.append(n)})},wrap:function(t){var n=b(t);return this.each(function(e){E(this).wrapAll(n?t.call(this,e):t)})},unwrap:function(e){return this.parent(e).not("body").each(function(){E(this).replaceWith(this.childNodes)}),this}}),E.expr.pseudos.hidden=function(e){return!E.expr.pseudos.visible(e)},E.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},m.createHTMLDocument=((ft=w.implementation.createHTMLDocument("").body).innerHTML="<form></form><form></form>",2===ft.childNodes.length),E.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(m.createHTMLDocument?((r=(t=w.implementation.createHTMLDocument("")).createElement("base")).href=w.location.href,t.head.appendChild(r)):t=w),o=!n&&[],(i=k.exec(e))?[t.createElement(i[1])]:(i=me([e],t,o),o&&o.length&&E(o).remove(),E.merge([],i.childNodes)));var r,i,o},E.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=E.css(e,"position"),c=E(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=E.css(e,"top"),u=E.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),b(t)&&(t=t.call(e,n,E.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):("number"==typeof f.top&&(f.top+="px"),"number"==typeof f.left&&(f.left+="px"),c.css(f))}},E.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){E.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===E.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===E.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=E(e).offset()).top+=E.css(e,"borderTopWidth",!0),i.left+=E.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-E.css(r,"marginTop",!0),left:t.left-i.left-E.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===E.css(e,"position"))e=e.offsetParent;return e||re})}}),E.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;E.fn[t]=function(e){return $(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),E.each(["top","left"],function(e,n){E.cssHooks[n]=Fe(m.pixelPosition,function(e,t){if(t)return t=We(e,n),Ie.test(t)?E(e).position()[n]+"px":t})}),E.each({Height:"height",Width:"width"},function(a,s){E.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){E.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return $(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?E.css(e,t,i):E.style(e,t,n,i)},s,n?e:void 0,n)}})}),E.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),E.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){E.fn[n]=function(e,t){return 0<arguments.length?this.on(n,null,e,t):this.trigger(n)}});var yt=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;E.proxy=function(e,t){var n,r,i;if("string"==typeof t&&(n=e[t],t=e,e=n),b(e))return r=s.call(arguments,2),(i=function(){return e.apply(t||this,r.concat(s.call(arguments)))}).guid=e.guid=e.guid||E.guid++,i},E.holdReady=function(e){e?E.readyWait++:E.ready(!0)},E.isArray=Array.isArray,E.parseJSON=JSON.parse,E.nodeName=S,E.isFunction=b,E.isWindow=x,E.camelCase=V,E.type=T,E.now=Date.now,E.isNumeric=function(e){var t=E.type(e);return("number"===t||"string"===t)&&!isNaN(e-parseFloat(e))},E.trim=function(e){return null==e?"":(e+"").replace(yt,"")},"function"==typeof define&&define.amd&&define("jquery",[],function(){return E});var mt=g.jQuery,bt=g.$;return E.noConflict=function(e){return g.$===E&&(g.$=bt),e&&g.jQuery===E&&(g.jQuery=mt),E},"undefined"==typeof e&&(g.jQuery=g.$=E),E});
diff --git a/docs/namespaces.html b/docs/namespaces.html
new file mode 100644
index 00000000..8d77ec5a
--- /dev/null
+++ b/docs/namespaces.html
@@ -0,0 +1,93 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+ <meta charset="UTF-8" />
+ <meta name="robots" content="index, follow, all" />
+ <title>Namespaces | PhpRedis API</title>
+
+ <link rel="stylesheet" type="text/css" href="css/bootstrap.min.css">
+ <link rel="stylesheet" type="text/css" href="css/bootstrap-theme.min.css">
+ <link rel="stylesheet" type="text/css" href="css/doctum.css">
+ <link rel="stylesheet" type="text/css" href="fonts/doctum-font.css">
+ <script src="js/jquery-3.5.1.slim.min.js"></script>
+ <script async defer src="doctum.js"></script>
+ <script async defer src="js/bootstrap.min.js"></script>
+ <script async defer src="js/autocomplete.min.js"></script>
+ <meta name="MobileOptimized" content="width">
+ <meta name="HandheldFriendly" content="true">
+ <meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1">
+
+ <link rel="search"
+ type="application/opensearchdescription+xml"
+ href="https://phpredis.github.io/opensearch.xml"
+ title="PhpRedis API (develop)" />
+ </head>
+
+ <body id="namespaces" data-name="" data-root-path="" data-search-index-url="doctum-search.json">
+ <div id="content">
+ <div id="left-column">
+ <div id="control-panel">
+ <div class="search-bar hidden" id="search-progress-bar-container">
+ <div class="progress">
+ <div class="progress-bar" role="progressbar" id="search-progress-bar"
+ aria-valuenow="0" aria-valuemin="0" aria-valuemax="100" style="width: 0%"></div>
+ </div>
+ </div>
+ <form id="search-form" action="search.html">
+ <span class="icon icon-search"></span>
+ <input name="search"
+ id="doctum-search-auto-complete"
+ class="typeahead form-control"
+ type="search"
+ placeholder="Search"
+ spellcheck="false"
+ autocorrect="off"
+ autocomplete="off"
+ autocapitalize="off">
+ <div class="auto-complete-results" id="auto-complete-results"></div>
+ </form>
+ </div>
+
+ <div id="api-tree"></div>
+
+ </div>
+ <div id="right-column">
+ <nav id="site-nav" class="navbar navbar-default" role="navigation">
+ <div class="container-fluid">
+ <div class="navbar-header">
+ <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#navbar-elements">
+ <span class="sr-only">Toggle navigation</span>
+ <span class="icon-bar"></span>
+ <span class="icon-bar"></span>
+ <span class="icon-bar"></span>
+ </button>
+ <a class="navbar-brand" href="index.html">PhpRedis API</a>
+ </div>
+ <div class="collapse navbar-collapse" id="navbar-elements">
+ <ul class="nav navbar-nav">
+ <li><a href="classes.html">Classes</a></li>
+ <li><a href="interfaces.html">Interfaces</a></li>
+ <li><a href="traits.html">Traits</a></li>
+ <li><a href="doc-index.html">Index</a></li>
+ <li><a href="search.html">Search</a></li>
+ </ul>
+ </div>
+ </div>
+ </nav>
+
+ <div id="page-content"> <div class="page-header">
+ <h1>Namespaces</h1>
+ </div>
+
+ <div class="namespaces clearfix">
+ <li><a href="[Global_Namespace].html">[Global Namespace]</a></li>
+ </ul>
+ </div>
+ </div>
+
+</div><div id="footer">
+ Generated by <a href="https://github.com/code-lts/doctum">Doctum, a API Documentation generator and fork of Sami</a>.</div></div>
+ </div>
+ </body>
+
+</html>
diff --git a/docs/opensearch.xml b/docs/opensearch.xml
new file mode 100644
index 00000000..d51e0403
--- /dev/null
+++ b/docs/opensearch.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/" xmlns:referrer="http://a9.com/-/opensearch/extensions/referrer/">
+ <ShortName>PhpRedis API (develop)</ShortName>
+ <Description>Searches PhpRedis API (develop)</Description>
+ <Tags>PhpRedis API</Tags>
+ <Url type="text/html" method="GET" template="https://phpredis.github.io/search.html?search={searchTerms}&amp;utm_source={referrer:source?}"/>
+ <InputEncoding>UTF-8</InputEncoding>
+ <AdultContent>false</AdultContent>
+</OpenSearchDescription>
diff --git a/docs/renderer.index b/docs/renderer.index
new file mode 100644
index 00000000..e1826a63
--- /dev/null
+++ b/docs/renderer.index
@@ -0,0 +1 @@
+O:21:"Doctum\Renderer\Index":3:{i:0;a:6:{s:5:"Redis";s:40:"65ebe68ff54586b8953ba135c8c8d5c1208cf563";s:10:"RedisArray";s:40:"fb17c785beccf1dbeedaa48afb4aa7d48fd8b655";s:12:"RedisCluster";s:40:"1783d14c476f95598062edb44dab7284b9b2680d";s:21:"RedisClusterException";s:40:"1783d14c476f95598062edb44dab7284b9b2680d";s:14:"RedisException";s:40:"65ebe68ff54586b8953ba135c8c8d5c1208cf563";s:13:"RedisSentinel";s:40:"4055ace9f1cf20bef89bdb5d3219470b4c8915e6";}i:1;a:1:{i:0;s:7:"develop";}i:2;a:1:{i:0;s:0:"";}} \ No newline at end of file
diff --git a/docs/search.html b/docs/search.html
new file mode 100644
index 00000000..9d7121ad
--- /dev/null
+++ b/docs/search.html
@@ -0,0 +1,297 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+ <meta charset="UTF-8" />
+ <meta name="robots" content="index, follow, all" />
+ <title>Search | PhpRedis API</title>
+
+ <link rel="stylesheet" type="text/css" href="css/bootstrap.min.css">
+ <link rel="stylesheet" type="text/css" href="css/bootstrap-theme.min.css">
+ <link rel="stylesheet" type="text/css" href="css/doctum.css">
+ <link rel="stylesheet" type="text/css" href="fonts/doctum-font.css">
+ <script src="js/jquery-3.5.1.slim.min.js"></script>
+ <script async defer src="doctum.js"></script>
+ <script async defer src="js/bootstrap.min.js"></script>
+ <script async defer src="js/autocomplete.min.js"></script>
+ <meta name="MobileOptimized" content="width">
+ <meta name="HandheldFriendly" content="true">
+ <meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1">
+
+ <link rel="search"
+ type="application/opensearchdescription+xml"
+ href="https://phpredis.github.io/opensearch.xml"
+ title="PhpRedis API (develop)" />
+ </head>
+
+ <body id="search-page" data-name="" data-root-path="" data-search-index-url="doctum-search.json">
+ <div id="content">
+ <div id="left-column">
+ <div id="control-panel">
+ <div class="search-bar hidden" id="search-progress-bar-container">
+ <div class="progress">
+ <div class="progress-bar" role="progressbar" id="search-progress-bar"
+ aria-valuenow="0" aria-valuemin="0" aria-valuemax="100" style="width: 0%"></div>
+ </div>
+ </div>
+ <form id="search-form" action="search.html">
+ <span class="icon icon-search"></span>
+ <input name="search"
+ id="doctum-search-auto-complete"
+ class="typeahead form-control"
+ type="search"
+ placeholder="Search"
+ spellcheck="false"
+ autocorrect="off"
+ autocomplete="off"
+ autocapitalize="off">
+ <div class="auto-complete-results" id="auto-complete-results"></div>
+ </form>
+ </div>
+
+ <div id="api-tree"></div>
+
+ </div>
+ <div id="right-column">
+ <nav id="site-nav" class="navbar navbar-default" role="navigation">
+ <div class="container-fluid">
+ <div class="navbar-header">
+ <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#navbar-elements">
+ <span class="sr-only">Toggle navigation</span>
+ <span class="icon-bar"></span>
+ <span class="icon-bar"></span>
+ <span class="icon-bar"></span>
+ </button>
+ <a class="navbar-brand" href="index.html">PhpRedis API</a>
+ </div>
+ <div class="collapse navbar-collapse" id="navbar-elements">
+ <ul class="nav navbar-nav">
+ <li><a href="classes.html">Classes</a></li>
+ <li><a href="interfaces.html">Interfaces</a></li>
+ <li><a href="traits.html">Traits</a></li>
+ <li><a href="doc-index.html">Index</a></li>
+ <li><a href="search.html">Search</a></li>
+ </ul>
+ </div>
+ </div>
+ </nav>
+
+ <div id="page-content">
+ <div class="page-header">
+ <h1>Search</h1>
+ </div>
+
+ <p>This page allows you to search through the API documentation for
+ specific terms. Enter your search words into the box below and click
+ "submit". The search will be performed on namespaces, classes, interfaces,
+ traits, functions, and methods.</p>
+
+ <form class="form-inline" role="form" action="search.html">
+ <div class="form-group">
+ <label class="sr-only" for="search">Search</label>
+ <input type="search" class="form-control" name="search" id="search" placeholder="Search" spellcheck="false" autocorrect="off" autocomplete="off" autocapitalize="off">
+ </div>
+ <button type="submit" class="btn btn-default">submit</button>
+ </form>
+
+ <h2 id="search-results-header">Search Results</h2>
+ <div class="search-bar hidden" id="search-page-progress-bar-container">
+ <div class="progress">
+ <div class="progress-bar" role="progressbar" id="search-page-progress-bar"
+ aria-valuenow="0" aria-valuemin="0" aria-valuemax="100" style="width: 0%"></div>
+ </div>
+ </div>
+ <div class="container-fluid" id="search-results-container">
+ </div>
+
+ <script type="text/javascript">
+ var DoctumSearch = {
+ /** @var boolean */
+ pageFullyLoaded: false,
+ /** @var string|null */
+ searchTerm: null,
+ /** @var autoComplete|null */
+ autoCompleteJS: null,
+ /** @var HTMLElement|null */
+ doctumSearchPageAutoCompleteProgressBarContainer: null,
+ /** @var HTMLElement|null */
+ doctumSearchPageAutoCompleteProgressBar: null,
+ searchTypeClasses: {
+ 'Namespace': 'label-default',
+ 'Class': 'label-info',
+ 'Trait': 'label-success',
+ 'Interface': 'label-primary',
+ 'Method': 'label-danger',
+ 'Function': 'label-danger',
+ '_': 'label-warning'
+ },
+ longTypes: {
+ 'N': 'Namespace',
+ 'C': 'Class',
+ 'T': 'Trait',
+ 'I': 'Interface',
+ 'M': 'Method',
+ 'F': 'Function',
+ '_': 'label-warning'
+ },
+ /**
+ * Cleans the provided term. If no term is provided, then one is
+ * grabbed from the query string "search" parameter.
+ */
+ cleanSearchTerm: function(term) {
+ // Grab from the query string
+ if (typeof term === 'undefined') {
+ var name = 'search';
+ var regex = new RegExp("[\\?&]" + name + "=([^&#]*)");
+ var results = regex.exec(location.search);
+ if (results === null) {
+ return null;
+ }
+ term = decodeURIComponent(results[1].replace(/\+/g, " "));
+ }
+
+ return term.replace(/<(?:.|\n)*?>/gm, '');
+ },
+ /**
+ * Get a search class for a specific type
+ */
+ getSearchClass: function(type) {
+ return DoctumSearch.searchTypeClasses[type] || DoctumSearch.searchTypeClasses['_'];
+ },
+ /**
+ * Get the long type name
+ */
+ getLongType: function(type) {
+ return DoctumSearch.longTypes[type] || DoctumSearch.longTypes['_'];
+ },
+ pageFullyLoaded: function (event) {// Will get fired by the main doctum.js script
+ DoctumSearch.searchTerm = DoctumSearch.cleanSearchTerm();
+ DoctumSearch.searchTermForEngine = Doctum.cleanSearchQuery(DoctumSearch.searchTerm);
+ DoctumSearch.doctumSearchPageAutoCompleteProgressBarContainer = document.getElementById('search-page-progress-bar-container');
+ DoctumSearch.doctumSearchPageAutoCompleteProgressBar = document.getElementById('search-page-progress-bar');
+ DoctumSearch.pageFullyLoaded = true;
+ DoctumSearch.launchSearch();
+ },
+ showNoResults: function() {
+ document.getElementById('search-results-container').innerText = 'No\u0020results\u0020were\u0020found';
+ },
+ launchSearch: function (event) {
+ if (
+ DoctumSearch.searchTermForEngine === null
+ || (typeof DoctumSearch.searchTermForEngine === 'string' && DoctumSearch.searchTermForEngine.length === 0)
+ || typeof DoctumSearch.searchTermForEngine !== 'string'
+ ) {
+ document.getElementById('search-results-header').className = 'hidden';
+ // Stop the process here
+ return;
+ }
+ // Set back backslashes to non escaped backslashes
+ document.getElementById('search').value = DoctumSearch.searchTermForEngine.replace(/\\\\/g, '\\');
+
+ // Check if the lib is loaded
+ if (typeof autoComplete === 'function') {
+ DoctumSearch.bootAutoComplete();
+ }
+ },
+ bootAutoComplete: function () {
+ DoctumSearch.autoCompleteJS = new autoComplete(
+ {
+ selector: '#search',
+ searchEngine: function (query, record) {
+ return Doctum.searchEngine(query, record);
+ },
+ submit: true,
+ data: {
+ src: function (q) {
+ return Doctum.loadAutoCompleteData(q);
+ },
+ keys: ['n'],// Data 'Object' key to be searched
+ cache: false, // Is not compatible with async fetch of data
+ },
+ query: (input) => {
+ return Doctum.cleanSearchQuery(input);
+ },
+ trigger: (query) => {
+ return Doctum.cleanSearchQuery(query).length > 0;
+ },
+ resultsList: {
+ tag: 'ul',
+ class: 'search-results',
+ destination: '#search-results-container',
+ position: 'afterbegin',
+ maxResults: 500,
+ noResults: false,
+ },
+ resultItem: {
+ tag: 'li',
+ class: 'search-results-result',
+ highlight: 'search-results-highlight',
+ selected: 'search-results-selected',
+ element: function (item, data) {
+ item.innerHTML = '';// Clean up the content
+ var elementH2 = document.createElement('h2');
+ elementH2.className = 'clearfix';
+
+ var elementLink = document.createElement('a');
+ elementLink.innerText = data.value.n;
+ elementLink.href = data.value.p;
+ elementH2.appendChild(elementLink);
+
+ var longType = DoctumSearch.getLongType(data.value.t);
+ var className = DoctumSearch.getSearchClass(longType);
+
+ var divElement = document.createElement('div');
+ divElement.className = 'search-type type-' + longType;
+ var divSpanElement = document.createElement('span');
+ divSpanElement.className = 'pull-right label ' + className;
+ divSpanElement.innerText = longType;
+ divElement.appendChild(divSpanElement);
+ elementH2.appendChild(divElement);
+
+ item.appendChild(elementH2);
+
+ if (typeof data.value.f === 'object') {
+ var fromElement = document.createElement('div');
+ fromElement.className = 'search-from';
+ fromElement.innerText = 'from\u0020';
+ var fromElementLink = document.createElement('a');
+ fromElementLink.href = data.value.f.p;
+ fromElementLink.innerText = data.value.f.n;
+ fromElement.appendChild(fromElementLink);
+ item.appendChild(fromElement);
+ }
+
+ var divSearchDescription = document.createElement('div');
+ divSearchDescription.className = 'search-description';
+ if (data.value.t === 'N') {// Is a namespace
+ data.value.d = 'Namespace\u0020\u0025s'.replace('%s', data.value.n);
+ }
+ if (typeof data.value.d === 'string') {
+ var paragraphElement = document.createElement('p');
+ paragraphElement.innerHTML = data.value.d;
+ divSearchDescription.appendChild(paragraphElement);
+ }
+ item.appendChild(divSearchDescription);
+ },
+ },
+ }
+ );
+ Doctum.markInProgress();
+ DoctumSearch.autoCompleteJS.start(DoctumSearch.searchTerm);
+ DoctumSearch.autoCompleteJS.unInit();// Stop the work, wait for the user to hit submit
+ document.getElementById('search').addEventListener('results', function (event) {
+ Doctum.markProgressFinished();
+ if (event.detail.results.length === 0) {
+ DoctumSearch.showNoResults();
+ }
+ });
+ }
+ };
+ </script>
+
+
+</div><div id="footer">
+ Generated by <a href="https://github.com/code-lts/doctum">Doctum, a API Documentation generator and fork of Sami</a>.</div></div>
+ </div>
+ </body>
+
+</html>
diff --git a/docs/traits.html b/docs/traits.html
new file mode 100644
index 00000000..d62c6ea2
--- /dev/null
+++ b/docs/traits.html
@@ -0,0 +1,89 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+ <meta charset="UTF-8" />
+ <meta name="robots" content="index, follow, all" />
+ <title>Traits | PhpRedis API</title>
+
+ <link rel="stylesheet" type="text/css" href="css/bootstrap.min.css">
+ <link rel="stylesheet" type="text/css" href="css/bootstrap-theme.min.css">
+ <link rel="stylesheet" type="text/css" href="css/doctum.css">
+ <link rel="stylesheet" type="text/css" href="fonts/doctum-font.css">
+ <script src="js/jquery-3.5.1.slim.min.js"></script>
+ <script async defer src="doctum.js"></script>
+ <script async defer src="js/bootstrap.min.js"></script>
+ <script async defer src="js/autocomplete.min.js"></script>
+ <meta name="MobileOptimized" content="width">
+ <meta name="HandheldFriendly" content="true">
+ <meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1">
+
+ <link rel="search"
+ type="application/opensearchdescription+xml"
+ href="https://phpredis.github.io/opensearch.xml"
+ title="PhpRedis API (develop)" />
+ </head>
+
+ <body id="traits" data-name="" data-root-path="" data-search-index-url="doctum-search.json">
+ <div id="content">
+ <div id="left-column">
+ <div id="control-panel">
+ <div class="search-bar hidden" id="search-progress-bar-container">
+ <div class="progress">
+ <div class="progress-bar" role="progressbar" id="search-progress-bar"
+ aria-valuenow="0" aria-valuemin="0" aria-valuemax="100" style="width: 0%"></div>
+ </div>
+ </div>
+ <form id="search-form" action="search.html">
+ <span class="icon icon-search"></span>
+ <input name="search"
+ id="doctum-search-auto-complete"
+ class="typeahead form-control"
+ type="search"
+ placeholder="Search"
+ spellcheck="false"
+ autocorrect="off"
+ autocomplete="off"
+ autocapitalize="off">
+ <div class="auto-complete-results" id="auto-complete-results"></div>
+ </form>
+ </div>
+
+ <div id="api-tree"></div>
+
+ </div>
+ <div id="right-column">
+ <nav id="site-nav" class="navbar navbar-default" role="navigation">
+ <div class="container-fluid">
+ <div class="navbar-header">
+ <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#navbar-elements">
+ <span class="sr-only">Toggle navigation</span>
+ <span class="icon-bar"></span>
+ <span class="icon-bar"></span>
+ <span class="icon-bar"></span>
+ </button>
+ <a class="navbar-brand" href="index.html">PhpRedis API</a>
+ </div>
+ <div class="collapse navbar-collapse" id="navbar-elements">
+ <ul class="nav navbar-nav">
+ <li><a href="classes.html">Classes</a></li>
+ <li><a href="interfaces.html">Interfaces</a></li>
+ <li><a href="traits.html">Traits</a></li>
+ <li><a href="doc-index.html">Index</a></li>
+ <li><a href="search.html">Search</a></li>
+ </ul>
+ </div>
+ </div>
+ </nav>
+
+ <div id="page-content"> <div class="page-header">
+ <h1>Traits</h1>
+ </div>
+
+ <div class="container-fluid underlined">
+ </div>
+</div><div id="footer">
+ Generated by <a href="https://github.com/code-lts/doctum">Doctum, a API Documentation generator and fork of Sami</a>.</div></div>
+ </div>
+ </body>
+
+</html>
diff --git a/doctum-config.php b/doctum-config.php
new file mode 100644
index 00000000..c1ac155e
--- /dev/null
+++ b/doctum-config.php
@@ -0,0 +1,28 @@
+<?php
+
+use Doctum\Doctum;
+use Doctum\Version\GitVersionCollection;
+use Doctum\RemoteRepository\GitHubRemoteRepository;
+
+use Symfony\Component\Finder\Finder;
+
+$root = realpath(__DIR__);
+
+$iterator = Finder::create()
+ ->files()
+ ->name('*.stub.php')
+ ->in($root);
+
+$versions = GitVersionCollection::create($root)
+ ->add('develop', 'develop');
+
+return new Doctum($iterator, [
+ 'title' => 'PhpRedis API',
+ 'language' => 'en',
+ 'source_dir' => $root,
+ 'build_dir' => "{$root}/docs",
+ 'cache_dir' => "{$root}/docs/.cache",
+ 'base_url' => 'https://phpredis.github.io/',
+ 'versions' => $versions,
+ 'remote_repository' => new GitHubRemoteRepository('phpredis/phpredis', $root),
+]);
diff --git a/doctum.md b/doctum.md
new file mode 100644
index 00000000..374e27cc
--- /dev/null
+++ b/doctum.md
@@ -0,0 +1,8 @@
+# API Documentation
+
+```bash
+curl -O https://doctum.long-term.support/releases/latest/doctum.phar
+chmod +x doctum.phar
+
+./doctum.phar update doctum-config.php
+``` \ No newline at end of file