diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..41783f2 --- /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 9254656..f858a89 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 0000000..d41f08f --- /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 0000000..ce57f64 --- /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 0000000..cfc5a25 --- /dev/null +++ b/docs/Redis.html @@ -0,0 +1,19133 @@ + + + + + + Redis | PhpRedis API + + + + + + + + + + + + + + + + + +
+
+
+ +
+ + +
+
+
+ +
+ +
+
+ + +
+ + + +

class + Redis (View source) +

+ + + + + + + + + +

Methods

+ +
+
+
+ +
+
+ __construct(array $options = null) + +

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.

+
+
+
+
+ +
+
+ __destruct() + +

No description

+
+
+
+
+
+ string +
+
+ _compress(string $value) + +

Compress a value with the currently configured compressor as set with +Redis::setOption().

+
+
+
+
+ string +
+
+ _uncompress(string $value) + +

Uncompress the provided argument that has been compressed with the +currently configured compressor as set with Redis::setOption().

+
+
+
+
+ string +
+
+ _prefix(string $key) + +

Prefix the passed argument with the currently set key prefix as set +with Redis::setOption().

+
+
+
+
+ string +
+
+ _serialize(mixed $value) + +

Serialize the provided value with the currently set serializer as set +with Redis::setOption().

+
+
+
+
+ mixed +
+
+ _unserialize(string $value) + +

Unserialize the passed argument with the currently set serializer as set +with Redis::setOption().

+
+
+
+
+ string +
+
+ _pack(mixed $value) + +

Pack the provided value with the configured serializer and compressor +as set with Redis::setOption().

+
+
+
+
+ mixed +
+
+ _unpack(string $value) + +

Unpack the provided value with the configured compressor and serializer +as set with Redis::setOption().

+
+
+
+
+ mixed +
+
+ acl(string $subcmd, string ...$args) + +

No description

+
+
+
+
+
+ Redis|int|false +
+
+ append(string $key, mixed $value) + +

Append data to a Redis STRING key.

+
+
+
+
+ Redis|bool +
+
+ auth(mixed $credentials) + +

Authenticate a Redis connection after its been established.

+
+
+
+
+ Redis|bool +
+
+ bgSave() + +

Execute a save of the Redis database in the background.

+
+
+
+
+ Redis|bool +
+
+ bgrewriteaof() + +

Asynchronously rewrite Redis' append-only file

+
+
+
+
+ Redis|int|false +
+
+ bitcount(string $key, int $start = 0, int $end = -1, bool $bybit = false) + +

Count the number of set bits in a Redis string.

+
+
+
+
+ Redis|int|false +
+
+ bitop(string $operation, string $deskey, string $srckey, string ...$other_keys) + +

No description

+
+
+
+
+
+ Redis|int|false +
+
+ bitpos(string $key, bool $bit, int $start = 0, int $end = -1, bool $bybit = false) + +

Return the position of the first bit set to 0 or 1 in a string.

+
+
+
+
+ Redis|array|null|false +
+
+ blPop(string|array $key_or_keys, string|float|int $timeout_or_key, mixed ...$extra_args) + +

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.

+
+
+
+
+ Redis|array|null|false +
+
+ brPop(string|array $key_or_keys, string|float|int $timeout_or_key, mixed ...$extra_args) + +

Pop an element off of the end of a Redis list or lists, potentially blocking up to a specified timeout.

+
+
+
+
+ Redis|string|false +
+
+ brpoplpush(string $src, string $dst, int|float $timeout) + +

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.

+
+
+
+
+ Redis|array|false +
+
+ bzPopMax(string|array $key, string|int $timeout_or_key, mixed ...$extra_args) + +

POP the maximum scoring element off of one or more sorted sets, blocking up to a specified +timeout if no elements are available.

+
+
+
+
+ Redis|array|false +
+
+ bzPopMin(string|array $key, string|int $timeout_or_key, mixed ...$extra_args) + +

POP the minimum scoring element off of one or more sorted sets, blocking up to a specified timeout +if no elements are available

+
+
+
+
+ Redis|array|null|false +
+
+ bzmpop(float $timeout, array $keys, string $from, int $count = 1) + +

POP one or more elements from one or more sorted sets, blocking up to a specified amount of time +when no elements are available.

+
+
+
+
+ Redis|array|null|false +
+
+ zmpop(array $keys, string $from, int $count = 1) + +

POP one or more of the highest or lowest scoring elements from one or more sorted sets.

+
+
+
+
+ Redis|array|null|false +
+
+ blmpop(float $timeout, array $keys, string $from, int $count = 1) + +

Pop one or more elements from one or more Redis LISTs, blocking up to a specified timeout when +no elements are available.

+
+
+
+
+ Redis|array|null|false +
+
+ lmpop(array $keys, string $from, int $count = 1) + +

Pop one or more elements off of one or more Redis LISTs.

+
+
+
+
+ bool +
+
+ clearLastError() + +

Reset any last error on the connection to NULL

+
+
+
+
+ mixed +
+
+ client(string $opt, mixed ...$args) + +

No description

+
+
+
+
+
+ bool +
+
+ close() + +

No description

+
+
+
+
+
+ mixed +
+
+ command(string $opt = null, string|array $arg) + +

No description

+
+
+
+
+
+ mixed +
+
+ config(string $operation, array|string|null $key_or_settings = NULL, string|null $value = NULL) + +

Execute the Redis CONFIG command in a variety of ways. What the command does in particular depends +on the $operation qualifier.

+
+
+
+
+ bool +
+
+ connect(string $host, int $port = 6379, float $timeout = 0, string $persistent_id = null, int $retry_interval = 0, float $read_timeout = 0, array $context = null) + +

No description

+
+
+
+
+
+ Redis|bool +
+
+ copy(string $src, string $dst, array $options = null) + +

Make a copy of a redis key.

+
+
+
+
+ Redis|int|false +
+
+ dbSize() + +

Return the number of keys in the currently selected Redis database.

+
+
+
+
+ Redis|string +
+
+ debug(string $key) + +

No description

+
+
+
+
+
+ Redis|int|false +
+
+ decr(string $key, int $by = 1) + +

Decrement a Redis integer by 1 or a provided value.

+
+
+
+
+ Redis|int|false +
+
+ decrBy(string $key, int $value) + +

Decrement a redis integer by a value

+
+
+
+
+ Redis|int|false +
+
+ del(array|string $key, string ...$other_keys) + +

Delete one or more keys from Redis.

+
+
+
+
+ Redis|int|false +
+
+ delete(array|string $key, string ...$other_keys) + deprecated +

No description

+
+
+
+
+
+ Redis|bool +
+
+ discard() + +

Discard a transaction currently in progress.

+
+
+
+
+ Redis|string +
+
+ dump(string $key) + +

Dump Redis' internal binary representation of a key.

+
+
+
+
+ Redis|string|false +
+
+ echo(string $str) + +

Have Redis repeat back an arbitrary string to the client.

+
+
+
+
+ mixed +
+
+ eval(string $script, array $args = [], int $num_keys = 0) + +

Execute a LUA script on the redis server.

+
+
+
+
+ mixed +
+
+ eval_ro(string $script_sha, array $args = [], int $num_keys = 0) + +

This is simply the read-only variant of eval, meaning the underlying script +may not modify data in redis.

+
+
+
+
+ mixed +
+
+ evalsha(string $sha1, array $args = [], int $num_keys = 0) + +

Execute a LUA script on the server but instead of sending the script, send +the SHA1 hash of the script.

+
+
+
+
+ mixed +
+
+ evalsha_ro(string $sha1, array $args = [], int $num_keys = 0) + +

This is simply the read-only variant of evalsha, meaning the underlying script +may not modify data in redis.

+
+
+
+
+ Redis|array|false +
+
+ exec() + +

Execute either a MULTI or PIPELINE block and return the array of replies.

+
+
+
+
+ Redis|int|bool +
+
+ exists(mixed $key, mixed ...$other_keys) + +

Test if one or more keys exist.

+
+
+
+
+ Redis|bool +
+
+ expire(string $key, int $timeout, string|null $mode = NULL) + +

Sets an expiration in seconds on the key in question. If connected to +redis-server >= 7.0.0 you may send an additional "mode" argument which +modifies how the command will execute.

+
+
+
+
+ Redis|bool +
+
+ expireAt(string $key, int $timestamp, string|null $mode = NULL) + +

Set a key's expiration to a specific Unix timestamp in seconds. If +connected to Redis >= 7.0.0 you can pass an optional 'mode' argument.

+
+
+
+
+ Redis|bool +
+
+ failover(array|null $to = null, bool $abort = false, int $timeout = 0) + +

No description

+
+
+
+
+
+ Redis|int|false +
+
+ expiretime(string $key) + +

Get the expiration of a given key as a unix timestamp

+
+
+
+
+ Redis|int|false +
+
+ pexpiretime(string $key) + +

Get the expriation timestamp of a given Redis key but in milliseconds.

+
+
+
+
+ Redis|bool +
+
+ flushAll(bool|null $sync = null) + +

Deletes every key in all Redis databases

+
+
+
+
+ Redis|bool +
+
+ flushDB(bool|null $sync = null) + +

Deletes all the keys of the currently selected database.

+
+
+
+
+ Redis|int|false +
+
+ geoadd(string $key, float $lng, float $lat, string $member, mixed ...$other_triples_and_options) + +

No description

+
+
+
+
+
+ Redis|float|false +
+
+ geodist(string $key, string $src, string $dst, string|null $unit = null) + +

No description

+
+
+
+
+
+ Redis|array|false +
+
+ geohash(string $key, string $member, string ...$other_members) + +

No description

+
+
+
+
+
+ Redis|array|false +
+
+ geopos(string $key, string $member, string ...$other_members) + +

No description

+
+
+
+
+
+ mixed +
+
+ georadius(string $key, float $lng, float $lat, float $radius, string $unit, array $options = []) + +

No description

+
+
+
+
+
+ mixed +
+
+ georadius_ro(string $key, float $lng, float $lat, float $radius, string $unit, array $options = []) + +

No description

+
+
+
+
+
+ mixed +
+
+ georadiusbymember(string $key, string $member, float $radius, string $unit, array $options = []) + +

No description

+
+
+
+
+
+ mixed +
+
+ georadiusbymember_ro(string $key, string $member, float $radius, string $unit, array $options = []) + +

No description

+
+
+
+
+
+ array +
+
+ geosearch(string $key, array|string $position, array|int|float $shape, string $unit, array $options = []) + +

No description

+
+
+
+
+
+ Redis|array|int|false +
+
+ geosearchstore(string $dst, string $src, array|string $position, array|int|float $shape, string $unit, array $options = []) + +

No description

+
+
+
+
+
+ mixed +
+
+ get(string $key) + +

No description

+
+
+
+
+
+ mixed +
+
+ getAuth() + +

Get the authentication information on the connection, if any.

+
+
+
+
+ Redis|int|false +
+
+ getBit(string $key, int $idx) + +

No description

+
+
+
+
+
+ Redis|string|bool +
+
+ getEx(string $key, array $options = []) + +

No description

+
+
+
+
+
+ int +
+
+ getDBNum() + +

No description

+
+
+
+
+
+ Redis|string|bool +
+
+ getDel(string $key) + +

No description

+
+
+
+
+
+ string +
+
+ getHost() + +

Return the host or Unix socket we are connected to.

+
+
+
+
+ string|null +
+
+ getLastError() + +

Get the last error returned to us from Redis, if any.

+
+
+
+
+ int +
+
+ getMode() + +

Returns whether the connection is in ATOMIC, MULTI, or PIPELINE mode

+
+
+
+
+ mixed +
+
+ getOption(int $option) + +

Retrieve the value of a configuration setting as set by Redis::setOption()

+
+
+
+
+ string|null +
+
+ getPersistentID() + +

Get the persistent connection ID, if there is one.

+
+
+
+
+ int +
+
+ getPort() + +

Get the port we are connected to. This number will be zero if we are connected to a unix socket.

+
+
+
+
+ Redis|string|false +
+
+ getRange(string $key, int $start, int $end) + +

Retrieve a substring of a string by index.

+
+
+
+
+ Redis|string|array|int|false +
+
+ lcs(string $key1, string $key2, array|null $options = NULL) + +

Get the longest common subsequence between two string keys.

+
+
+
+
+ float +
+
+ getReadTimeout() + +

Get the currently set read timeout on the connection.

+
+
+
+
+ Redis|string|false +
+
+ getset(string $key, mixed $value) + +

Sets a key and returns any previously set value, if the key already existed.

+
+
+
+
+ float|false +
+
+ getTimeout() + +

Retrieve any set connection timeout

+
+
+
+
+ int|false +
+
+ getTransferredBytes() + +

No description

+
+
+
+
+
+ Redis|int|false +
+
+ hDel(string $key, string $field, string ...$other_fields) + +

Remove one or more fields from a hash.

+
+
+
+
+ Redis|bool +
+
+ hExists(string $key, string $field) + +

Checks whether a field exists in a hash.

+
+
+
+
+ mixed +
+
+ hGet(string $key, string $member) + +

No description

+
+
+
+
+
+ Redis|array|false +
+
+ hGetAll(string $key) + +

Read every field and value from a hash.

+
+
+
+
+ Redis|int|false +
+
+ hIncrBy(string $key, string $field, int $value) + +

Increment a hash field's value by an integer

+
+
+
+
+ Redis|float|false +
+
+ hIncrByFloat(string $key, string $field, float $value) + +

Increment a hash field by a floating point value

+
+
+
+
+ Redis|array|false +
+
+ hKeys(string $key) + +

Retrieve all of the fields of a hash.

+
+
+
+
+ Redis|int|false +
+
+ hLen(string $key) + +

Get the number of fields in a hash.

+
+
+
+
+ Redis|array|false +
+
+ hMget(string $key, array $fields) + +

Get one or more fields from a hash.

+
+
+
+
+ Redis|bool +
+
+ hMset(string $key, array $fieldvals) + +

Add or update one or more hash fields and values

+
+
+
+
+ Redis|string|array +
+
+ hRandField(string $key, array $options = null) + +

Get one or more random field from a hash.

+
+
+
+
+ Redis|int|false +
+
+ hSet(string $key, string $member, mixed $value) + +

No description

+
+
+
+
+
+ Redis|bool +
+
+ hSetNx(string $key, string $field, string $value) + +

Set a hash field and value, but only if that field does not exist

+
+
+
+
+ Redis|int|false +
+
+ hStrLen(string $key, string $field) + +

Get the string length of a hash field

+
+
+
+
+ Redis|array|false +
+
+ hVals(string $key) + +

Get all of the values from a hash.

+
+
+
+
+ Redis|array|bool +
+
+ hscan(string $key, int|null $iterator, string|null $pattern = null, int $count = 0) + +

Iterate over the fields and values of a hash in an incremental fashion.

+
+
+
+
+ Redis|int|false +
+
+ incr(string $key, int $by = 1) + +

Increment a key's value, optionally by a specifc amount.

+
+
+
+
+ Redis|int|false +
+
+ incrBy(string $key, int $value) + +

Increment a key by a specific integer value

+
+
+
+
+ Redis|float|false +
+
+ incrByFloat(string $key, float $value) + +

Increment a numeric key by a floating point value.

+
+
+
+
+ Redis|array|false +
+
+ info(string ...$sections) + +

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.

+
+
+
+
+ bool +
+
+ isConnected() + +

Check if we are currently connected to a Redis instance.

+
+
+
+
+ Redis|array|false +
+
+ keys(string $pattern) + +

No description

+
+
+
+
+
+ Redis|int|false +
+
+ lInsert(string $key, string $pos, mixed $pivot, mixed $value) + +

No description

+
+
+
+
+
+ Redis|int|false +
+
+ lLen(string $key) + +

No description

+
+
+
+
+
+ Redis|string|false +
+
+ lMove(string $src, string $dst, string $wherefrom, string $whereto) + +

No description

+
+
+
+
+
+ Redis|bool|string|array +
+
+ lPop(string $key, int $count = 0) + +

No description

+
+
+
+
+
+ Redis|null|bool|int|array +
+
+ lPos(string $key, mixed $value, array $options = null) + +

No description

+
+
+
+
+
+ int|Redis +
+
+ lPush(string $key, mixed ...$elements) + +

No description

+
+
+
+
+
+ Redis|int|false +
+
+ rPush(string $key, mixed ...$elements) + +

No description

+
+
+
+
+
+ Redis|int|false +
+
+ lPushx(string $key, mixed $value) + +

No description

+
+
+
+
+
+ Redis|int|false +
+
+ rPushx(string $key, mixed $value) + +

No description

+
+
+
+
+
+ Redis|bool +
+
+ lSet(string $key, int $index, mixed $value) + +

No description

+
+
+
+
+
+ int +
+
+ lastSave() + +

No description

+
+
+
+
+
+ mixed +
+
+ lindex(string $key, int $index) + +

No description

+
+
+
+
+
+ Redis|array|false +
+
+ lrange(string $key, int $start, int $end) + +

No description

+
+
+
+
+
+ int|Redis|false +
+
+ lrem(string $key, mixed $value, int $count = 0) + +

No description

+
+
+
+
+
+ Redis|bool +
+
+ ltrim(string $key, int $start, int $end) + +

No description

+
+
+
+
+
+ array|Redis +
+
+ mget(array $keys) + +

No description

+
+
+
+
+
+ Redis|bool +
+
+ migrate(string $host, int $port, string|array $key, int $dstdb, int $timeout, bool $copy = false, bool $replace = false, mixed $credentials = NULL) + +

No description

+
+
+
+
+
+ bool +
+
+ move(string $key, int $index) + +

No description

+
+
+
+
+
+ Redis|bool +
+
+ mset(array $key_values) + +

No description

+
+
+
+
+
+ Redis|bool +
+
+ msetnx(array $key_values) + +

No description

+
+
+
+
+
+ bool|Redis +
+
+ multi(int $value = Redis::MULTI) + +

No description

+
+
+
+
+
+ Redis|int|string|false +
+
+ object(string $subcommand, string $key) + +

No description

+
+
+
+
+
+ bool +
+
+ open(string $host, int $port = 6379, float $timeout = 0, string $persistent_id = NULL, int $retry_interval = 0, float $read_timeout = 0, array $context = NULL) + deprecated +

No description

+
+
+
+
+
+ bool +
+
+ pconnect(string $host, int $port = 6379, float $timeout = 0, string $persistent_id = NULL, int $retry_interval = 0, float $read_timeout = 0, array $context = NULL) + +

No description

+
+
+
+
+
+ bool +
+
+ persist(string $key) + +

No description

+
+
+
+
+
+ bool +
+
+ pexpire(string $key, int $timeout, string|null $mode = NULL) + +

Sets an expiration in milliseconds on a given key. If connected to Redis >= 7.0.0 +you can pass an optional mode argument that modifies how the command will execute.

+
+
+
+
+ Redis|bool +
+
+ pexpireAt(string $key, int $timestamp, string|null $mode = NULL) + +

Set a key's expiration to a specific Unix Timestamp in milliseconds. If connected to +Redis >= 7.0.0 you can pass an optional 'mode' argument.

+
+
+
+
+ Redis|int +
+
+ pfadd(string $key, array $elements) + +

Add one or more elements to a Redis HyperLogLog key

+
+
+
+
+ Redis|int +
+
+ pfcount(string $key) + +

Retrieve the cardinality of a Redis HyperLogLog key.

+
+
+
+
+ Redis|bool +
+
+ pfmerge(string $dst, array $srckeys) + +

Merge one or more source HyperLogLog sets into a destination set.

+
+
+
+
+ Redis|string|bool +
+
+ ping(string $message = NULL) + +

PING the redis server with an optional string argument.

+
+
+
+
+ bool|Redis +
+
+ pipeline() + +

Enter into pipeline mode.

+
+
+
+
+ bool +
+
+ popen(string $host, int $port = 6379, float $timeout = 0, string $persistent_id = NULL, int $retry_interval = 0, float $read_timeout = 0, array $context = NULL) + deprecated +

No description

+
+
+
+
+
+ bool|Redis +
+
+ psetex(string $key, int $expire, mixed $value) + +

No description

+
+
+
+
+
+ bool +
+
+ psubscribe(array $patterns, callable $cb) + +

Subscribe to one or more glob-style patterns

+
+
+
+
+ Redis|int|false +
+
+ pttl(string $key) + +

Get a keys time to live in milliseconds.

+
+
+
+
+ Redis|int|false +
+
+ publish(string $channel, string $message) + +

Publish a message to a pubsub channel

+
+
+
+
+ mixed +
+
+ pubsub(string $command, mixed $arg = null) + +

No description

+
+
+
+
+
+ Redis|array|bool +
+
+ punsubscribe(array $patterns) + +

Unsubscribe from one or more channels by pattern

+
+
+
+
+ Redis|array|string|bool +
+
+ rPop(string $key, int $count = 0) + +

Pop one or more elements from the end of a list.

+
+
+
+
+ Redis|string|false +
+
+ randomKey() + +

Return a random key from the current database

+
+
+
+
+ mixed +
+
+ rawcommand(string $command, mixed ...$args) + +

Execute any arbitrary Redis command by name.

+
+
+
+
+ Redis|bool +
+
+ rename(string $old_name, string $new_name) + +

Unconditionally rename a key from $old_name to $new_name

+
+
+
+
+ Redis|bool +
+
+ renameNx(string $key_src, string $key_dst) + +

Renames $key_src to $key_dst but only if newkey does not exist.

+
+
+
+
+ Redis|bool +
+
+ reset() + +

Reset the state of the connection.

+
+
+
+
+ Redis|bool +
+
+ restore(string $key, int $ttl, string $value, array|null $options = NULL) + +

Restore a key by the binary payload generated by the DUMP command.

+
+
+
+
+ mixed +
+
+ role() + +

Query whether the connected instance is a primary or replica

+
+
+
+
+ Redis|string|false +
+
+ rpoplpush(string $srckey, string $dstkey) + +

Atomically pop an element off the end of a Redis LIST and push it to the beginning of +another.

+
+
+
+
+ Redis|int|false +
+
+ sAdd(string $key, mixed $value, mixed ...$other_values) + +

Add one or more values to a Redis SET key.

+
+
+
+
+ int +
+
+ sAddArray(string $key, array $values) + +

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.

+
+
+
+
+ Redis|array|false +
+
+ sDiff(string $key, string ...$other_keys) + +

Given one or more Redis SETS, this command returns all of the members from the first +set that are not in any subsequent set.

+
+
+
+
+ Redis|int|false +
+
+ sDiffStore(string $dst, string $key, string ...$other_keys) + +

This method performs the same operation as SDIFF except it stores the resulting diff +values in a specified destination key.

+
+
+
+
+ Redis|array|false +
+
+ sInter(array|string $key, string ...$other_keys) + +

Given one or more Redis SET keys, this command will return all of the elements that are +in every one.

+
+
+
+
+ Redis|int|false +
+
+ sintercard(array $keys, int $limit = -1) + +

Compute the intersection of one or more sets and return the cardinality of the result.

+
+
+
+
+ Redis|int|false +
+
+ sInterStore(array|string $key, string ...$other_keys) + +

Perform the intersection of one or more Redis SETs, storing the result in a destination +key, rather than returning them.

+
+
+
+
+ Redis|array|false +
+
+ sMembers(string $key) + +

Retrieve every member from a set key.

+
+
+
+
+ Redis|array|false +
+
+ sMisMember(string $key, string $member, string ...$other_members) + +

Check if one or more values are members of a set.

+
+
+
+
+ Redis|bool +
+
+ sMove(string $src, string $dst, mixed $value) + +

Pop a member from one set and push it onto another. This command will create the +destination set if it does not currently exist.

+
+
+
+
+ Redis|string|array|false +
+
+ sPop(string $key, int $count = 0) + +

Remove one or more elements from a set.

+
+
+
+
+ Redis|string|array|false +
+
+ sRandMember(string $key, int $count = 0) + +

Retrieve one or more random members of a set.

+
+
+
+
+ Redis|array|false +
+
+ sUnion(string $key, string ...$other_keys) + +

Returns the union of one or more Redis SET keys.

+
+
+
+
+ Redis|int|false +
+
+ sUnionStore(string $dst, string $key, string ...$other_keys) + +

Perform a union of one or more Redis SET keys and store the result in a new set

+
+
+
+
+ Redis|bool +
+
+ save() + +

Persist the Redis database to disk. This command will block the server until the save is +completed. For a nonblocking alternative, see Redis::bgsave().

+
+
+
+
+ array|false +
+
+ scan(int|null $iterator, string|null $pattern = null, int $count = 0, string $type = NULL) + +

Incrementally scan the Redis keyspace, with optional pattern and type matching.

+
+
+
+
+ Redis|int|false +
+
+ scard(string $key) + +

Retrieve the number of members in a Redis set.

+
+
+
+
+ mixed +
+
+ script(string $command, mixed ...$args) + +

An administrative command used to interact with LUA scripts stored on the server.

+
+
+
+
+ Redis|bool +
+
+ select(int $db) + +

Select a specific Redis database.

+
+
+
+
+ Redis|string|bool +
+
+ set(string $key, mixed $value, mixed $options = NULL) + +

Create or set a Redis STRING key to a value.

+
+
+
+
+ Redis|int|false +
+
+ setBit(string $key, int $idx, bool $value) + +

Set a specific bit in a Redis string to zero or one

+
+
+
+
+ Redis|int|false +
+
+ setRange(string $key, int $index, string $value) + +

Update or append to a Redis string at a specific starting index

+
+
+
+
+ bool +
+
+ setOption(int $option, mixed $value) + +

Set a configurable option on the Redis object.

+
+
+
+
+ Redis|bool +
+
+ setex(string $key, int $expire, mixed $value) + +

Set a Redis STRING key with a specific expiration in seconds.

+
+
+
+
+ Redis|bool +
+
+ setnx(string $key, mixed $value) + +

Set a key to a value, but only if that key does not already exist.

+
+
+
+
+ Redis|bool +
+
+ sismember(string $key, mixed $value) + +

Check whether a given value is the member of a Redis SET.

+
+
+
+
+ Redis|bool +
+
+ slaveof(string $host = NULL, int $port = 6379) + deprecated +

Turn a redis instance into a replica of another or promote a replica +to a primary.

+
+
+
+
+ Redis|bool +
+
+ replicaof(string $host = NULL, int $port = 6379) + +

Used to turn a Redis instance into a replica of another, or to remove +replica status promoting the instance to a primary.

+
+
+
+
+ Redis|int|false +
+
+ touch(array|string $key_or_array, string ...$more_keys) + +

Update one or more keys last modified metadata.

+
+
+
+
+ mixed +
+
+ slowlog(string $operation, int $length = 0) + +

Interact with Redis' slowlog functionality in various ways, depending +on the value of 'operation'.

+
+
+
+
+ mixed +
+
+ sort(string $key, array|null $options = null) + +

Sort the contents of a Redis key in various ways.

+
+
+
+
+ mixed +
+
+ sort_ro(string $key, array|null $options = null) + +

This is simply a read-only variant of the sort command

+
+
+
+
+ array +
+
+ sortAsc(string $key, string|null $pattern = null, mixed $get = null, int $offset = -1, int $count = -1, string|null $store = null) + deprecated +

No description

+
+
+
+
+
+ array +
+
+ sortAscAlpha(string $key, string|null $pattern = null, mixed $get = null, int $offset = -1, int $count = -1, string|null $store = null) + deprecated +

No description

+
+
+
+
+
+ array +
+
+ sortDesc(string $key, string|null $pattern = null, mixed $get = null, int $offset = -1, int $count = -1, string|null $store = null) + deprecated +

No description

+
+
+
+
+
+ array +
+
+ sortDescAlpha(string $key, string|null $pattern = null, mixed $get = null, int $offset = -1, int $count = -1, string|null $store = null) + deprecated +

No description

+
+
+
+
+
+ Redis|int|false +
+
+ srem(string $key, mixed $value, mixed ...$other_values) + +

Remove one or more values from a Redis SET key.

+
+
+
+
+ array|false +
+
+ sscan(string $key, int|null $iterator, string|null $pattern = null, int $count = 0) + +

Scan the members of a redis SET key.

+
+
+
+
+ Redis|int|false +
+
+ strlen(string $key) + +

Retrieve the length of a Redis STRING key.

+
+
+
+
+ bool +
+
+ subscribe(array $channels, callable $cb) + +

Subscribe to one or more Redis pubsub channels.

+
+
+
+
+ Redis|bool +
+
+ swapdb(int $src, int $dst) + +

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.

+
+
+
+
+ Redis|array +
+
+ time() + +

Retrieve the server time from the connected Redis instance.

+
+
+
+
+ Redis|int|false +
+
+ ttl(string $key) + +

Get the amount of time a Redis key has before it will expire, in seconds.

+
+
+
+
+ Redis|int|false +
+
+ type(string $key) + +

Get the type of a given Redis key.

+
+
+
+
+ Redis|int|false +
+
+ unlink(array|string $key, string ...$other_keys) + +

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.

+
+
+
+
+ Redis|array|bool +
+
+ unsubscribe(array $channels) + +

Unsubscribe from one or more subscribed channels.

+
+
+
+
+ Redis|bool +
+
+ unwatch() + +

Remove any previously WATCH'ed keys in a transaction.

+
+
+
+
+ bool|Redis +
+
+ watch(array|string $key, string ...$other_keys) + +

No description

+
+
+
+
+
+ int|false +
+
+ wait(int $numreplicas, int $timeout) + +

Block the client up to the provided timeout until a certain number of replicas have confirmed +recieving them.

+
+
+
+
+ int|false +
+
+ xack(string $key, string $group, array $ids) + +

No description

+
+
+
+
+
+ Redis|string|false +
+
+ xadd(string $key, string $id, array $values, int $maxlen = 0, bool $approx = false, bool $nomkstream = false) + +

Append a message to a stream.

+
+
+
+
+ Redis|bool|array +
+
+ xautoclaim(string $key, string $group, string $consumer, int $min_idle, string $start, int $count = -1, bool $justid = false) + +

No description

+
+
+
+
+
+ Redis|bool|array +
+
+ xclaim(string $key, string $group, string $consumer, int $min_idle, array $ids, array $options) + +

No description

+
+
+
+
+
+ Redis|int|false +
+
+ xdel(string $key, array $ids) + +

Remove one or more specific IDs from a stream.

+
+
+
+
+ mixed +
+
+ xgroup(string $operation, string $key = null, string $group = null, string $id_or_consumer = null, bool $mkstream = false, int $entries_read = -2) + +

XGROUP

+
+
+
+
+ mixed +
+
+ xinfo(string $operation, string|null $arg1 = null, string|null $arg2 = null, int $count = -1) + +

Retrieve information about a stream key.

+
+
+
+
+ Redis|int|false +
+
+ xlen(string $key) + +

Get the number of messages in a Redis STREAM key.

+
+
+
+
+ Redis|array|false +
+
+ xpending(string $key, string $group, string|null $start = null, string|null $end = null, int $count = -1, string|null $consumer = null) + +

Interact with stream messages that have been consumed by a consumer group but not yet +acknowledged with XACK.

+
+
+
+
+ Redis|array|bool +
+
+ xrange(string $key, string $start, string $end, int $count = -1) + +

Get a range of entries from a STREAM key.

+
+
+
+
+ Redis|array|bool +
+
+ xread(array $streams, int $count = -1, int $block = -1) + +

Consume one or more unconsumed elements in one or more streams.

+
+
+
+
+ Redis|array|bool +
+
+ xreadgroup(string $group, string $consumer, array $streams, int $count = 1, int $block = 1) + +

Read one or more messages using a consumer group.

+
+
+
+
+ Redis|array|bool +
+
+ xrevrange(string $key, string $end, string $start, int $count = -1) + +

Get a range of entries from a STREAM ke in reverse cronological order.

+
+
+
+
+ Redis|int|false +
+
+ xtrim(string $key, string $threshold, bool $approx = false, bool $minid = false, int $limit = -1) + +

Truncate a STREAM key in various ways.

+
+
+
+
+ Redis|int|false +
+
+ zAdd(string $key, array|float $score_or_options, mixed ...$more_scores_and_mems) + +

Add one or more elements and scores to a Redis sorted set.

+
+
+
+
+ Redis|int|false +
+
+ zCard(string $key) + +

Return the number of elements in a sorted set.

+
+
+
+
+ Redis|int|false +
+
+ zCount(string $key, string $start, string $end) + +

Count the number of members in a sorted set with scores inside a provided range.

+
+
+
+
+ Redis|float|false +
+
+ zIncrBy(string $key, float $value, mixed $member) + +

Create or increment the score of a member in a Redis sorted set

+
+
+
+
+ Redis|int|false +
+
+ zLexCount(string $key, string $min, string $max) + +

Count the number of elements in a sorted set whos members fall within the provided +lexographical range.

+
+
+
+
+ Redis|array|false +
+
+ zMscore(string $key, mixed $member, mixed ...$other_members) + +

Retrieve the score of one or more members in a sorted set.

+
+
+
+
+ Redis|array|false +
+
+ zPopMax(string $key, int $count = null) + +

Pop one or more of the highest scoring elements from a sorted set.

+
+
+
+
+ Redis|array|false +
+
+ zPopMin(string $key, int $count = null) + +

Pop one or more of the lowest scoring elements from a sorted set.

+
+
+
+
+ Redis|array|false +
+
+ zRange(string $key, mixed $start, mixed $end, array|bool|null $options = null) + +

Retrieve a range of elements of a sorted set between a start and end point.

+
+
+
+
+ Redis|array|false +
+
+ zRangeByLex(string $key, string $min, string $max, int $offset = -1, int $count = -1) + +

Retrieve a range of elements from a sorted set by legographical range.

+
+
+
+
+ Redis|array|false +
+
+ zRangeByScore(string $key, string $start, string $end, array $options = []) + +

Retrieve a range of members from a sorted set by their score.

+
+
+
+
+ Redis|int|false +
+
+ zrangestore(string $dstkey, string $srckey, string $start, string $end, array|bool|null $options = NULL) + +

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

+
+
+
+
+ Redis|string|array +
+
+ zRandMember(string $key, array $options = null) + +

Retrieve one or more random members from a Redis sorted set.

+
+
+
+
+ Redis|int|false +
+
+ zRank(string $key, mixed $member) + +

Get the rank of a member of a sorted set, by score.

+
+
+
+
+ Redis|int|false +
+
+ zRem(mixed $key, mixed $member, mixed ...$other_members) + +

Remove one or more members from a Redis sorted set.

+
+
+
+
+ Redis|int|false +
+
+ zRemRangeByLex(string $key, string $min, string $max) + +

Remove zero or more elements from a Redis sorted set by legographical range.

+
+
+
+
+ Redis|int|false +
+
+ zRemRangeByRank(string $key, int $start, int $end) + +

Remove one or more members of a sorted set by their rank.

+
+
+
+
+ Redis|int|false +
+
+ zRemRangeByScore(string $key, string $start, string $end) + +

Remove one or more members of a sorted set by their score.

+
+
+
+
+ Redis|array|false +
+
+ zRevRange(string $key, int $start, int $end, mixed $scores = null) + +

List the members of a Redis sorted set in reverse order

+
+
+
+
+ Redis|array|false +
+
+ zRevRangeByLex(string $key, string $max, string $min, int $offset = -1, int $count = -1) + +

List members of a Redis sorted set within a legographical range, in reverse order.

+
+
+
+
+ Redis|array|false +
+
+ zRevRangeByScore(string $key, string $max, string $min, array|bool $options = []) + +

List elements from a Redis sorted set by score, highest to lowest

+
+
+
+
+ Redis|int|false +
+
+ zRevRank(string $key, mixed $member) + +

Retrieve a member of a sorted set by reverse rank.

+
+
+
+
+ Redis|float|false +
+
+ zScore(string $key, mixed $member) + +

Get the score of a member of a sorted set.

+
+
+
+
+ Redis|array|false +
+
+ zdiff(array $keys, array $options = null) + +

Given one or more sorted set key names, return every element that is in the first +set but not any of the others.

+
+
+
+
+ Redis|int|false +
+
+ zdiffstore(string $dst, array $keys) + +

Store the difference of one or more sorted sets in a destination sorted set.

+
+
+
+
+ Redis|array|false +
+
+ zinter(array $keys, array|null $weights = null, array|null $options = null) + +

Compute the intersection of one or more sorted sets and return the members

+
+
+
+
+ Redis|int|false +
+
+ zintercard(array $keys, int $limit = -1) + +

Similar to ZINTER but instead of returning the intersected values, this command returns the +cardinality of the intersected set.

+
+
+
+
+ Redis|int|false +
+
+ zinterstore(string $dst, array $keys, array|null $weights = null, string|null $aggregate = null) + +

Compute the intersection of one ore more sorted sets storing the result in a new sorted set.

+
+
+
+
+ Redis|array|false +
+
+ zscan(string $key, int|null $iterator, string|null $pattern = null, int $count = 0) + +

Scan the members of a sorted set incrementally, using a cursor

+
+
+
+
+ Redis|array|false +
+
+ zunion(array $keys, array|null $weights = null, array|null $options = null) + +

Retrieve the union of one or more sorted sets

+
+
+
+
+ Redis|int|false +
+
+ zunionstore(string $dst, array $keys, array|null $weights = NULL, string|null $aggregate = NULL) + +

Perform a union on one or more Redis sets and store the result in a destination sorted set.

+
+
+
+ + +

Details

+ +
+
+

+ + + __construct(array $options = null) + +

+
+ + + +
+

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.

+
+
+

Parameters

+ + + + + + + +
array$options
+ + + + +

See also

+ + + + + + + + + + +
+ +Redis::connect +
+ https://aws.amazon.com/blogs/architecture/exponential-backoff-and-jitter/ + 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. + + + '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, + ] +]; +?> + + +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).
+ + +
+
+ +
+
+

+ + + __destruct() + +

+
+ + + +
+

No description

+ +
+
+ + + + +
+
+ +
+
+

+ + string + _compress(string $value) + +

+
+ + + +
+

Compress a value with the currently configured compressor as set with +Redis::setOption().

+
+
+

Parameters

+ + + + + + + +
string$value

The value to be compressed

+ + +

Return Value

+ + + + + + +
string

The compressed result

+ + + +

See also

+ + + + + + +
+ +Redis::setOption +
+ + +
+
+ +
+
+

+ + string + _uncompress(string $value) + +

+
+ + + +
+

Uncompress the provided argument that has been compressed with the +currently configured compressor as set with Redis::setOption().

+
+
+

Parameters

+ + + + + + + +
string$value

The compressed value to uncompress.

+ + +

Return Value

+ + + + + + +
string

The uncompressed result.

+ + + +

See also

+ + + + + + +
+ +Redis::setOption +
+ + +
+
+ +
+
+

+ + string + _prefix(string $key) + +

+
+ + + +
+

Prefix the passed argument with the currently set key prefix as set +with Redis::setOption().

+
+
+

Parameters

+ + + + + + + +
string$key

The key/string to prefix

+ + +

Return Value

+ + + + + + +
string

The prefixed string

+ + + + +
+
+ +
+
+

+ + string + _serialize(mixed $value) + +

+
+ + + +
+

Serialize the provided value with the currently set serializer as set +with Redis::setOption().

+
+
+

Parameters

+ + + + + + + +
mixed$value

The value to serialize

+ + +

Return Value

+ + + + + + +
string

The serialized result

+ + + +

See also

+ + + + + + +
+ +Redis::setOption +
+ + +
+
+ +
+
+

+ + mixed + _unserialize(string $value) + +

+
+ + + +
+

Unserialize the passed argument with the currently set serializer as set +with Redis::setOption().

+
+
+

Parameters

+ + + + + + + +
string$value

The value to unserialize

+ + +

Return Value

+ + + + + + +
mixed

The unserialized result

+ + + +

See also

+ + + + + + +
+ +Redis::setOption +
+ + +
+
+ +
+
+

+ + string + _pack(mixed $value) + +

+
+ + + +
+

Pack the provided value with the configured serializer and compressor +as set with Redis::setOption().

+
+
+

Parameters

+ + + + + + + +
mixed$value

The value to pack

+ + +

Return Value

+ + + + + + +
string

The packed result having been serialized and +compressed.

+ + + + +
+
+ +
+
+

+ + mixed + _unpack(string $value) + +

+
+ + + +
+

Unpack the provided value with the configured compressor and serializer +as set with Redis::setOption().

+
+
+

Parameters

+ + + + + + + +
string$value

The value which has been serialized and compressed.

+ + +

Return Value

+ + + + + + +
mixed

The uncompressed and eserialized value.

+ + + + +
+
+ +
+
+

+ + mixed + acl(string $subcmd, string ...$args) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + +
string$subcmd
string...$args
+ + +

Return Value

+ + + + + + +
mixed
+ + + + +
+
+ +
+
+

+ + Redis|int|false + append(string $key, mixed $value) + +

+
+ + + +
+

Append data to a Redis STRING key.

+
+
+

Parameters

+ + + + + + + + + + + + +
string$key

The key in question

mixed$value

The data to append to the key.

+ + +

Return Value

+ + + + + + +
Redis|int|false

The new string length of the key or false on failure.

+
<?php
+$redis = new Redis(['host' => 'localhost']);
+
+$redis->set('foo', 'hello);
+var_dump($redis->append('foo', 'world'));
+
+// --- OUTPUT ---
+// int(10)
+?>
+ + + + +
+
+ +
+
+

+ + Redis|bool + auth(mixed $credentials) + +

+
+ + + +
+

Authenticate a Redis connection after its been established.

+
+
+

Parameters

+ + + + + + + +
mixed$credentials

A string password, or an array with one or two string elements.

+ + +

Return Value

+ + + + + + +
Redis|bool

Whether the AUTH was successful.

+

See below for various examples about how this method may be called.

+
<?php>
+$redis->auth('password');
+$redis->auth(['password']);
+$redis->auth(['username', 'password']);
+?>
+ + + +

See also

+ + + + + + +
+ https://redis.io/commands/auth +
+ + +
+
+ +
+
+

+ + Redis|bool + bgSave() + +

+
+ + + +
+

Execute a save of the Redis database in the background.

+
+
+ +

Return Value

+ + + + + + +
Redis|bool

Whether the command was successful.

+ + + +

See also

+ + + + + + +
+ https://redis.io/commands/bgsave +
+ + +
+
+ +
+
+

+ + Redis|bool + bgrewriteaof() + +

+
+ + + +
+

Asynchronously rewrite Redis' append-only file

+
+
+ +

Return Value

+ + + + + + +
Redis|bool

Whether the command was successful.

+ + + +

See also

+ + + + + + +
+ https://redis.io/commands/bgrewriteaof +
+ + +
+
+ +
+
+

+ + Redis|int|false + bitcount(string $key, int $start = 0, int $end = -1, bool $bybit = false) + +

+
+ + + +
+

Count the number of set bits in a Redis string.

+
+
+

Parameters

+ + + + + + + + + + + + + + + + + + + + + + +
string$key

The key in question (must be a string key)

int$start

The index where Redis should start counting. If omitted it +defaults to zero, which means the start of the string.

int$end

The index where Redis should stop counting. If omitted it +defaults to -1, meaning the very end of the string.

bool$bybit

Whether or not Redis should treat $start and $end as bit +positions, rather than bytes.

+ + +

Return Value

+ + + + + + +
Redis|int|false

The number of bits set in the requested range.

+ + + +

See also

+ + + + + + +
+ https://redis.io/commands/bitcount/ +
+ + +
+
+ +
+
+

+ + Redis|int|false + bitop(string $operation, string $deskey, string $srckey, string ...$other_keys) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + + + + + + + + + + + +
string$operation
string$deskey
string$srckey
string...$other_keys
+ + +

Return Value

+ + + + + + +
Redis|int|false
+ + + + +
+
+ +
+
+

+ + Redis|int|false + bitpos(string $key, bool $bit, int $start = 0, int $end = -1, bool $bybit = false) + +

+
+ + + +
+

Return the position of the first bit set to 0 or 1 in a string.

+
+
+

Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
string$key

The key to check (must be a string)

bool$bit

Whether to look for an unset (0) or set (1) bit.

int$start

Where in the string to start looking.

int$end

Where in the string to stop looking.

bool$bybit

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.

+ + +

Return Value

+ + + + + + +
Redis|int|false

The position of the first set or unset bit.

+ + + +

See also

+ + + + + + +
+ https://redis.io/commands/bitpos/ +
+ + +
+
+ +
+
+

+ + Redis|array|null|false + blPop(string|array $key_or_keys, string|float|int $timeout_or_key, mixed ...$extra_args) + +

+
+ + + +
+

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.

+
+
+

Parameters

+ + + + + + + + + + + + + + + + + +
string|array$key_or_keys

This can either be a string key or an array of one or more +keys.

string|float|int$timeout_or_key

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.

+
<?php>
+// One way to call this method is in a variadic way, with the final argument being
+// the intended timeout.
+$redis->blPop('list1', 'list2', 'list3', 1.5);
+
+// Alternatively, you can send an array of keys
+$relay->blPop(['list1', 'list2', 'list3'], 1.5);
+?>
mixed...$extra_args
+ + +

Return Value

+ + + + + + +
Redis|array|null|false
+ + + +

See also

+ + + + + + +
+ https://redis.io/commands/blpop/ +
+ + +
+
+ +
+
+

+ + Redis|array|null|false + brPop(string|array $key_or_keys, string|float|int $timeout_or_key, mixed ...$extra_args) + +

+
+ + + +
+

Pop an element off of the end of a Redis list or lists, potentially blocking up to a specified timeout.

The calling convention is identical to Redis::blPop() so see that documentation for more details.

+
+
+

Parameters

+ + + + + + + + + + + + + + + + + +
string|array$key_or_keys
string|float|int$timeout_or_key
mixed...$extra_args
+ + +

Return Value

+ + + + + + +
Redis|array|null|false
+ + + +

See also

+ + + + + + + + + + +
+ https://redis.io/commands/brpop/ +
+ +Redis::blPop +
+ + +
+
+ +
+
+

+ + Redis|string|false + brpoplpush(string $src, string $dst, int|float $timeout) + +

+
+ + + +
+

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.

+
+
+

Parameters

+ + + + + + + + + + + + + + + + + +
string$src

The source list

string$dst

The destination list

int|float$timeout

The number of seconds to wait. Note that you must be connected +to Redis >= 6.0.0 to send a floating point timeout.

+ + +

Return Value

+ + + + + + +
Redis|string|false
+ + + +

See also

+ + + + + + +
+ https://redis.io/commands/brpoplpush/ +
+ + +
+
+ +
+
+

+ + Redis|array|false + bzPopMax(string|array $key, string|int $timeout_or_key, mixed ...$extra_args) + +

+
+ + + +
+

POP the maximum scoring element off of one or more sorted sets, blocking up to a specified +timeout if no elements are available.

+
+
+

Parameters

+ + + + + + + + + + + + + + + + + +
string|array$key
string|int$timeout_or_key

If the previous argument was an array, this argument +must be a timeout value. Otherwise it could also be +another key.

mixed...$extra_args

Can consist of additional keys, until the last argument +which needs to be a timeout.

+

Following are examples of the two main ways to call this method.

+

+<?php
+// Method 1 - Variadic, with the last argument being our timeout
+$redis->bzPopMax('key1', 'key2', 'key3', 1.5);
+
+// Method 2 - A single array of keys, followed by the timeout
+$redis->bzPopMax(['key1', 'key2', 'key3'], 1.5);
+<?php>
+
+NOTE:  We reccomend calling this function with an array and a timeout as the other strategy
+       may be deprecated in future versions of PhpRedis
+?>
+ + +

Return Value

+ + + + + + +
Redis|array|false
+ + + +

See also

+ + + + + + +
+ https://redis.io/commands/bzpopmax +
+ + +
+
+ +
+
+

+ + Redis|array|false + bzPopMin(string|array $key, string|int $timeout_or_key, mixed ...$extra_args) + +

+
+ + + +
+

POP the minimum scoring element off of one or more sorted sets, blocking up to a specified timeout +if no elements are available

This command is identical in semantics to bzPopMax so please see that method for more information.

+
+
+

Parameters

+ + + + + + + + + + + + + + + + + +
string|array$key
string|int$timeout_or_key
mixed...$extra_args
+ + +

Return Value

+ + + + + + +
Redis|array|false
+ + + +

See also

+ + + + + + + + + + +
+ https://redis.io/commands/bzpopmin +
+ +Redis::bzPopMax +
+ + +
+
+ +
+
+

+ + Redis|array|null|false + bzmpop(float $timeout, array $keys, string $from, int $count = 1) + +

+
+ + + +
+

POP one or more elements from one or more sorted sets, blocking up to a specified amount of time +when no elements are available.

+
+
+

Parameters

+ + + + + + + + + + + + + + + + + + + + + + +
float$timeout

How long to block if there are no element available

array$keys

The sorted sets to pop from

string$from

The string 'MIN' or 'MAX' (case insensitive) telling Redis whether you wish to +pop the lowest or highest scoring members from the set(s).

int$count

Pop up to how many elements.

+ + +

Return Value

+ + + + + + +
Redis|array|null|false

This function will return an array of popped elements, or false +depending on whether any elements could be popped within the +specified timeout.

+

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.

+ + + + +
+
+ +
+
+

+ + Redis|array|null|false + zmpop(array $keys, string $from, int $count = 1) + +

+
+ + + +
+

POP one or more of the highest or lowest scoring elements from one or more sorted sets.

+
+
+

Parameters

+ + + + + + + + + + + + + + + + + +
array$keys

One or more sorted sets

string$from

The string 'MIN' or 'MAX' (case insensitive) telling Redis whether you want to +pop the lowest or highest scoring elements.

int$count

Pop up to how many elements at once.

+ + +

Return Value

+ + + + + + +
Redis|array|null|false

An array of popped elements or false if none could be popped.

+ + + +

See also

+ + + + + + +
+ https://redis.io/commands/zmpop +
+ + +
+
+ +
+
+

+ + Redis|array|null|false + blmpop(float $timeout, array $keys, string $from, int $count = 1) + +

+
+ + + +
+

Pop one or more elements from one or more Redis LISTs, blocking up to a specified timeout when +no elements are available.

+
+
+

Parameters

+ + + + + + + + + + + + + + + + + + + + + + +
float$timeout

The number of seconds Redis will block when no elements are available.

array$keys

One or more Redis LISTs to pop from.

string$from

The string 'LEFT' or 'RIGHT' (case insensitive), telling Redis whether +to pop elements from the beginning or end of the LISTs.

int$count

Pop up to how many elements at once.

+ + +

Return Value

+ + + + + + +
Redis|array|null|false

One or more elements popped from the list(s) or false if all LISTs +were empty.

+ + + +

See also

+ + + + + + +
+ https://redis.io/commands/blmpop +
+ + +
+
+ +
+
+

+ + Redis|array|null|false + lmpop(array $keys, string $from, int $count = 1) + +

+
+ + + +
+

Pop one or more elements off of one or more Redis LISTs.

+
+
+

Parameters

+ + + + + + + + + + + + + + + + + +
array$keys

An array with one or more Redis LIST key names.

string$from

The string 'LEFT' or 'RIGHT' (case insensitive), telling Redis whether to pop\ +elements from the beginning or end of the LISTs.

int$count

The maximum number of elements to pop at once.

+ + +

Return Value

+ + + + + + +
Redis|array|null|false

One or more elements popped from the LIST(s) or false if all the LISTs +were empty.

+ + + +

See also

+ + + + + + +
+ https://redis.io/commands/lmpop +
+ + +
+
+ +
+
+

+ + bool + clearLastError() + +

+
+ + + +
+

Reset any last error on the connection to NULL

+
+
+ +

Return Value

+ + + + + + +
bool

This should always return true or throw an exception if we're not connected.

+
<?php
+$redis = new Redis(['host' => 'localhost']);
+
+$redis->set('string', 'this_is_a_string');
+$redis->smembers('string');
+
+var_dump($redis->getLastError());
+$redis->clearLastError();
+var_dump($redis->getLastError());
+
+// --- OUTPUT ---
+// string(65) "WRONGTYPE Operation against a key holding the wrong kind of value"
+// NULL
+?>
+ + + + +
+
+ +
+
+

+ + mixed + client(string $opt, mixed ...$args) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + +
string$opt
mixed...$args
+ + +

Return Value

+ + + + + + +
mixed
+ + + + +
+
+ +
+
+

+ + bool + close() + +

+
+ + + +
+

No description

+ +
+
+ +

Return Value

+ + + + + + +
bool
+ + + + +
+
+ +
+
+

+ + mixed + command(string $opt = null, string|array $arg) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + +
string$opt
string|array$arg
+ + +

Return Value

+ + + + + + +
mixed
+ + + + +
+
+ +
+
+

+ + mixed + config(string $operation, array|string|null $key_or_settings = NULL, string|null $value = NULL) + +

+
+ + + +
+

Execute the Redis CONFIG command in a variety of ways. What the command does in particular depends +on the $operation qualifier.

Operations that PhpRedis supports are: RESETSTAT, REWRITE, GET, and SET.

+
+
+

Parameters

+ + + + + + + + + + + + + + + + + +
string$operation
array|string|null$key_or_settings
string|null$value
+ + +

Return Value

+ + + + + + +
mixed
+ + + +

See also

+ + + + + + +
+ https://redis.io/commands/config + @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. + + +config('GET', 'timeout'); +$redis->config('GET', ['timeout', 'databases']); + +$redis->config('SET', 'timeout', 30); +$redis->config('SET', ['timeout' => 30, 'loglevel' => 'warning']); +?> +
+ + +
+
+ +
+
+

+ + bool + connect(string $host, int $port = 6379, float $timeout = 0, string $persistent_id = null, int $retry_interval = 0, float $read_timeout = 0, array $context = null) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
string$host
int$port
float$timeout
string$persistent_id
int$retry_interval
float$read_timeout
array$context
+ + +

Return Value

+ + + + + + +
bool
+ + + + +
+
+ +
+
+

+ + Redis|bool + copy(string $src, string $dst, array $options = null) + +

+
+ + + +
+

Make a copy of a redis key.

+
+
+

Parameters

+ + + + + + + + + + + + + + + + + +
string$src

The key to copy

string$dst

The name of the new key created from the source key.

array$options

An array with modifiers on how COPY should operate.

+

Available Options:

+

$options = [ +'REPLACE' => true|false // Whether Redis should replace an existing key. +'DB' => int // Copy the key to a specific DB. +];

+ + +

Return Value

+ + + + + + +
Redis|bool

True if the copy was completed and false if not.

+
<?php
+$redis = new Redis(['host' => 'localhost']);
+
+$redis->pipeline()
+      ->select(1)
+      ->del('newkey')
+      ->select(0)
+      ->del('newkey')
+      ->mset(['source1' => 'value1', 'exists' => 'old_value'])
+      ->exec();
+
+// Will succeed, as 'newkey' doesn't exist
+var_dump($redis->copy('source1', 'newkey'));
+
+// Will succeed, because 'newkey' doesn't exist in DB 1
+var_dump($redis->copy('source1', 'newkey', ['db' => 1]));
+
+// Will fail, because 'exists' does exist
+var_dump($redis->copy('source1', 'exists'));
+
+// Will succeed, because even though 'exists' is a key, we sent the REPLACE option.
+var_dump($redis->copy('source1', 'exists', ['REPLACE' => true]));
+
+// --- OUTPUT ---
+// bool(true)
+// bool(true)
+// bool(false)
+// bool(true)
+?>
+ + + +

See also

+ + + + + + +
+ https://redis.io/commands/copy +
+ + +
+
+ +
+
+

+ + Redis|int|false + dbSize() + +

+
+ + + +
+

Return the number of keys in the currently selected Redis database.

+
+
+ +

Return Value

+ + + + + + +
Redis|int|false

The number of keys or false on failure.

+

+<?php
+$redis = new Redis(['host' => 'localhost']);
+
+$redis->flushdb();
+
+$redis->set('foo', 'bar');
+var_dump($redis->dbsize());
+
+$redis->mset(['a' => 'a', 'b' => 'b', 'c' => 'c', 'd' => 'd']);
+var_dump($redis->dbsize());
+
+// --- OUTPUT
+// int(1)
+// int(5)
+?>
+ + + +

See also

+ + + + + + +
+ https://redis.io/commands/dbsize +
+ + +
+
+ +
+
+

+ + Redis|string + debug(string $key) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + +
string$key
+ + +

Return Value

+ + + + + + +
Redis|string
+ + + + +
+
+ +
+
+

+ + Redis|int|false + decr(string $key, int $by = 1) + +

+
+ + + +
+

Decrement a Redis integer by 1 or a provided value.

+
+
+

Parameters

+ + + + + + + + + + + + +
string$key

The key to decrement

int$by

How much to decrement the key. Note that if this value is +not sent or is set to 1, PhpRedis will actually invoke +the 'DECR' command. If it is any value other than 1 +PhpRedis will actually send the DECRBY command.

+ + +

Return Value

+ + + + + + +
Redis|int|false

The new value of the key or false on failure.

+
<?php
+$redis = new Redis(['host' => 'localhost']);
+
+$redis->set('counter', 3);
+
+var_dump($redis->decr('counter'));
+var_dump($redis->decr('counter', 2));
+
+// --- OUTPUT ---
+// int(2)
+// int(0)
+?>
+ + + +

See also

+ + + + + + + + + + +
+ https://redis.io/commands/decr +
+ https://redis.io/commands/decrby +
+ + +
+
+ +
+
+

+ + Redis|int|false + decrBy(string $key, int $value) + +

+
+ + + +
+

Decrement a redis integer by a value

+
+
+

Parameters

+ + + + + + + + + + + + +
string$key

The integer key to decrement.

int$value

How much to decrement the key.

+ + +

Return Value

+ + + + + + +
Redis|int|false

The new value of the key or false on failure.

+
<?php
+$redis = new Redis(['host' => 'localhost');
+
+$redis->set('counter', 3);
+var_dump($redis->decrby('counter', 1));
+var_dump($redis->decrby('counter', 2));
+
+// --- OUTPUT ---
+// int(2)
+// int(0)
+?>
+ + + +

See also

+ + + + + + +
+ https://redis.io/commands/decrby +
+ + +
+
+ +
+
+

+ + Redis|int|false + del(array|string $key, string ...$other_keys) + +

+
+ + + +
+

Delete one or more keys from Redis.

+
+
+

Parameters

+ + + + + + + + + + + + +
array|string$key
string...$other_keys

One or more additional keys passed in a variadic fashion.

+

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.

+
<?php
+$redis = new Redis(['host' => 'localhost']);
+
+for ($i = 0; $i < 5; $i++) {
+    $redis->set("key:$i", "val:$i");
+}
+
+var_dump($redis->del('key:0', 'key:1'));
+var_dump($redis->del(['key:2', 'key:3', 'key:4']));
+
+// --- OUTPUT ---
+// int(2)
+// int(3)
+?>
+ + +

Return Value

+ + + + + + +
Redis|int|false
+ + + +

See also

+ + + + + + +
+ https://redis.io/commands/del +
+ + +
+
+ +
+
+

+ + Redis|int|false + delete(array|string $key, string ...$other_keys) + deprecated +

+
+

+ deprecated + + + + +

+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + +
array|string$key
string...$other_keys
+ + +

Return Value

+ + + + + + +
Redis|int|false
+ + + + +
+
+ +
+
+

+ + Redis|bool + discard() + +

+
+ + + +
+

Discard a transaction currently in progress.

+
+
+ +

Return Value

+ + + + + + +
Redis|bool

True if we could discard the transaction.

+
<?php
+$redis = new Redis(['host' => 'localhost']);
+
+$redis->multi()->set('foo', 'bar')->get('foo');
+
+// Redis::MULTI
+$redis->getMode();
+
+// Discard the in-progress transaction
+$redis->discard();
+
+// Redis::ATOMIC
+$redis->getMode();
+
+?>
+ + + + +
+
+ +
+
+

+ + Redis|string + dump(string $key) + +

+
+ + + +
+

Dump Redis' internal binary representation of a key.

+
+
+

Parameters

+ + + + + + + +
string$key

The key to dump.

+ + +

Return Value

+ + + + + + +
Redis|string

A binary string representing the key's value.

+
<?php
+$redis = new Redis(['host' => 'localhost']);
+
+$redis->del('zset');
+
+$redis->zadd('zset', 0, 'zero', 1, 'one', 2, 'two');
+
+// Retrieve the binary representation of the zset
+$binary = $redis->dump('zset');
+
+// Retore it to a different name
+$redis->restore('new-zset', 0, $binary);
+
+// Array
+// (
+//     [zero] => 0
+//     [one] => 1
+//     [two] => 2
+// )
+$redis->zRange('new-zset', 0, -1, true);
+?>
+ + + +

See also

+ + + + + + +
+ https://redis.io/commands/dump +
+ + +
+
+ +
+
+

+ + Redis|string|false + echo(string $str) + +

+
+ + + +
+

Have Redis repeat back an arbitrary string to the client.

+
+
+

Parameters

+ + + + + + + +
string$str

The string to echo

+ + +

Return Value

+ + + + + + +
Redis|string|false

The string sent to Redis or false on failure.

+
<?php
+$redis = new Redis(['host' => 'localhost']);
+
+var_dump($redis->echo('Hello, World'));
+
+// --- OUTPUT ---
+// string(12) "Hello, World"
+
+?>
+ + + +

See also

+ + + + + + +
+ https://redis.io/commands/echo +
+ + +
+
+ +
+
+

+ + mixed + eval(string $script, array $args = [], int $num_keys = 0) + +

+
+ + + +
+

Execute a LUA script on the redis server.

+
+
+

Parameters

+ + + + + + + + + + + + + + + + + +
string$script

A string containing the LUA script

array$args

An array of arguments to pass to this script

int$num_keys

How many of the arguments are keys. This is needed +as redis distinguishes between key name arguments +and other data.

+ + +

Return Value

+ + + + + + +
mixed

LUA scripts may return arbitrary data so this method can return +strings, arrays, nested arrays, etc.

+ + + +

See also

+ + + + + + +
+ https://redis.io/commands/eval/ +
+ + +
+
+ +
+
+

+ + mixed + eval_ro(string $script_sha, array $args = [], int $num_keys = 0) + +

+
+ + + +
+

This is simply the read-only variant of eval, meaning the underlying script +may not modify data in redis.

+
+
+

Parameters

+ + + + + + + + + + + + + + + + + +
string$script_sha
array$args
int$num_keys
+ + +

Return Value

+ + + + + + +
mixed
+ + + +

See also

+ + + + + + +
+ +Redis::eval +
+ + +
+
+ +
+
+

+ + mixed + evalsha(string $sha1, array $args = [], int $num_keys = 0) + +

+
+ + + +
+

Execute a LUA script on the server but instead of sending the script, send +the SHA1 hash of the script.

+
+
+

Parameters

+ + + + + + + + + + + + + + + + + +
string$sha1
array$args

Arguments to send to the script.

int$num_keys

The number of arguments that are keys

+ + +

Return Value

+ + + + + + +
mixed
+ + + +

See also

+ + + + + + + + + + +
+ https://redis.io/commands/evalsha/ +
+ +Redis::eval +
+ + +
+
+ +
+
+

+ + mixed + evalsha_ro(string $sha1, array $args = [], int $num_keys = 0) + +

+
+ + + +
+

This is simply the read-only variant of evalsha, meaning the underlying script +may not modify data in redis.

+
+
+

Parameters

+ + + + + + + + + + + + + + + + + +
string$sha1
array$args
int$num_keys
+ + +

Return Value

+ + + + + + +
mixed
+ + + +

See also

+ + + + + + +
+ +Redis::evalsha +
+ + +
+
+ +
+
+

+ + Redis|array|false + exec() + +

+
+ + + +
+

Execute either a MULTI or PIPELINE block and return the array of replies.

+
+
+ +

Return Value

+ + + + + + +
Redis|array|false

The array of pipeline'd or multi replies or false on failure.

+
$redis = new Redis(['host' => 'localhost']);
+
+$res = $redis->multi()
+             ->set('foo', 'bar')
+             ->get('foo')
+             ->del('list')
+             ->rpush('list', 'one', 'two', 'three')
+             ->exec();
+
+var_dump($res);
+
+// --- OUTPUT ---
+// array(4) {
+//   [0]=>
+//   bool(true)           // set('foo', 'bar')
+//   [1]=>
+//   string(3) "bar"      // get('foo')
+//   [2]=>
+//   int(1)               // del('list')
+//   [3]=>
+//   int(3)               // rpush('list', 'one', 'two', 'three')
+// }
+?>
+ + + +

See also

+ + + + + + + + + + + + + + + + + + +
+ https://redis.io/commands/exec +
+ https://redis.io/commands/multi +
+ +Redis::pipeline +
+ +Redis::multi +
+ + +
+
+ +
+
+

+ + Redis|int|bool + exists(mixed $key, mixed ...$other_keys) + +

+
+ + + +
+

Test if one or more keys exist.

+
+
+

Parameters

+ + + + + + + + + + + + +
mixed$key

Either an array of keys or a string key

mixed...$other_keys

If the previous argument was a string, you may send any number of +additional keys to test.

+ + +

Return Value

+ + + + + + +
Redis|int|bool

The number of keys that do exist and false on failure

+
<?php
+$redis = new Redis(['host' => 'localhost']);
+
+$redis->multi()
+      ->mset(['k1' => 'v1', 'k2' => 'v2', 'k3' => 'v3', 'k4' => 'v4'])
+      ->exec();
+
+// Using a single array of keys
+var_dump($redis->exists(['k1', 'k2', 'k3']));
+
+// Calling via variadic arguments
+var_dump($redis->exists('k4', 'k5', 'notakey'));
+
+// --- OUTPUT ---
+// int(3)
+// int(1)
+?>
+ + + +

See also

+ + + + + + +
+ https://redis.io/commands/exists +
+ + +
+
+ +
+
+

+ + Redis|bool + expire(string $key, int $timeout, string|null $mode = NULL) + +

+
+ + + +
+

Sets an expiration in seconds on the key in question. If connected to +redis-server >= 7.0.0 you may send an additional "mode" argument which +modifies how the command will execute.

+
+
+

Parameters

+ + + + + + + + + + + + + + + + + +
string$key

The key to set an expiration on.

int$timeout
string|null$mode

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 < current expiry +GT - Set expiry only when new expiry is > current expiry

+ + +

Return Value

+ + + + + + +
Redis|bool
+ + + +

See also

+ + + + + + +
+ https://redis.io/commands/expire +
+ + +
+
+ +
+
+

+ + Redis|bool + expireAt(string $key, int $timestamp, string|null $mode = NULL) + +

+
+ + + +
+

Set a key's expiration to a specific Unix timestamp in seconds. If +connected to Redis >= 7.0.0 you can pass an optional 'mode' argument.

+
+
+

Parameters

+ + + + + + + + + + + + + + + + + +
string$key
int$timestamp
string|null$mode
+ + +

Return Value

+ + + + + + +
Redis|bool
+ + + +

See also

+ + + + + + +
+ +Redis::expire + 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.
+ + +
+
+ +
+
+

+ + Redis|bool + failover(array|null $to = null, bool $abort = false, int $timeout = 0) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + + + + + + +
array|null$to
bool$abort
int$timeout
+ + +

Return Value

+ + + + + + +
Redis|bool
+ + + + +
+
+ +
+
+

+ + Redis|int|false + expiretime(string $key) + +

+
+ + + +
+

Get the expiration of a given key as a unix timestamp

+
+
+

Parameters

+ + + + + + + +
string$key

The key to check.

+ + +

Return Value

+ + + + + + +
Redis|int|false

The timestamp when the key expires, or -1 if the key has no expiry +and -2 if the key doesn't exist.

+
<?php
+$redis = new Redis(['host' => 'localhost']);
+
+$redis->set('expiry-key', 'this will last a very long time');
+
+// Expire this key at 2222/02/22 02:22:22 GMT
+$redis->expireAt('expiry-key', 7955144542);
+
+var_dump($redis->expiretime('expiry-key'));
+
+// --- OUTPUT ---
+// int(7955144542)
+
+?>php
+ + + +

See also

+ + + + + + +
+ https://redis.io/commands/expiretime +
+ + +
+
+ +
+
+

+ + Redis|int|false + pexpiretime(string $key) + +

+
+ + + +
+

Get the expriation timestamp of a given Redis key but in milliseconds.

+
+
+

Parameters

+ + + + + + + +
string$key

The key to check

+ + +

Return Value

+ + + + + + +
Redis|int|false

The expiration timestamp of this key (in milliseconds) or -1 if the +key has no expiration, and -2 if it does not exist.

+ + + +

See also

+ + + + + + + + + + +
+ https://redis.io/commands/pexpiretime +
+ +Redis::expiretime +
+ + +
+
+ +
+
+

+ + Redis|bool + flushAll(bool|null $sync = null) + +

+
+ + + +
+

Deletes every key in all Redis databases

+
+
+

Parameters

+ + + + + + + +
bool|null$sync

Whether to perform the task in a blocking or non-blocking way. +when TRUE, PhpRedis will execute FLUSHALL SYNC, and when FALSE we +will execute FLUSHALL ASYNC. If the argument is omitted, we +simply execute FLUSHALL and whether it is SYNC or ASYNC depends +on Redis' lazyfree-lazy-user-flush config setting.

+ + +

Return Value

+ + + + + + +
Redis|bool
+ + + + +
+
+ +
+
+

+ + Redis|bool + flushDB(bool|null $sync = null) + +

+
+ + + +
+

Deletes all the keys of the currently selected database.

+
+
+

Parameters

+ + + + + + + +
bool|null$sync

Whether to perform the task in a blocking or non-blocking way. +when TRUE, PhpRedis will execute FLUSHDB SYNC, and when FALSE we +will execute FLUSHDB ASYNC. If the argument is omitted, we +simply execute FLUSHDB and whether it is SYNC or ASYNC depends +on Redis' lazyfree-lazy-user-flush config setting.

+ + +

Return Value

+ + + + + + +
Redis|bool
+ + + + +
+
+ +
+
+

+ + Redis|int|false + geoadd(string $key, float $lng, float $lat, string $member, mixed ...$other_triples_and_options) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
string$key
float$lng
float$lat
string$member
mixed...$other_triples_and_options
+ + +

Return Value

+ + + + + + +
Redis|int|false
+ + + + +
+
+ +
+
+

+ + Redis|float|false + geodist(string $key, string $src, string $dst, string|null $unit = null) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + + + + + + + + + + + +
string$key
string$src
string$dst
string|null$unit
+ + +

Return Value

+ + + + + + +
Redis|float|false
+ + + + +
+
+ +
+
+

+ + Redis|array|false + geohash(string $key, string $member, string ...$other_members) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + + + + + + +
string$key
string$member
string...$other_members
+ + +

Return Value

+ + + + + + +
Redis|array|false
+ + + + +
+
+ +
+
+

+ + Redis|array|false + geopos(string $key, string $member, string ...$other_members) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + + + + + + +
string$key
string$member
string...$other_members
+ + +

Return Value

+ + + + + + +
Redis|array|false
+ + + + +
+
+ +
+
+

+ + mixed + georadius(string $key, float $lng, float $lat, float $radius, string $unit, array $options = []) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
string$key
float$lng
float$lat
float$radius
string$unit
array$options
+ + +

Return Value

+ + + + + + +
mixed
+ + + + +
+
+ +
+
+

+ + mixed + georadius_ro(string $key, float $lng, float $lat, float $radius, string $unit, array $options = []) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
string$key
float$lng
float$lat
float$radius
string$unit
array$options
+ + +

Return Value

+ + + + + + +
mixed
+ + + + +
+
+ +
+
+

+ + mixed + georadiusbymember(string $key, string $member, float $radius, string $unit, array $options = []) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
string$key
string$member
float$radius
string$unit
array$options
+ + +

Return Value

+ + + + + + +
mixed
+ + + + +
+
+ +
+
+

+ + mixed + georadiusbymember_ro(string $key, string $member, float $radius, string $unit, array $options = []) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
string$key
string$member
float$radius
string$unit
array$options
+ + +

Return Value

+ + + + + + +
mixed
+ + + + +
+
+ +
+
+

+ + array + geosearch(string $key, array|string $position, array|int|float $shape, string $unit, array $options = []) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
string$key
array|string$position
array|int|float$shape
string$unit
array$options
+ + +

Return Value

+ + + + + + +
array
+ + + + +
+
+ +
+
+

+ + Redis|array|int|false + geosearchstore(string $dst, string $src, array|string $position, array|int|float $shape, string $unit, array $options = []) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
string$dst
string$src
array|string$position
array|int|float$shape
string$unit
array$options
+ + +

Return Value

+ + + + + + +
Redis|array|int|false
+ + + + +
+
+ +
+
+

+ + mixed + get(string $key) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + +
string$key
+ + +

Return Value

+ + + + + + +
mixed
+ + + + +
+
+ +
+
+

+ + mixed + getAuth() + +

+
+ + + +
+

Get the authentication information on the connection, if any.

+
+
+ +

Return Value

+ + + + + + +
mixed

The authentication information used to authenticate the connection.

+ + + +

See also

+ + + + + + +
+ +Redis::auth +
+ + +
+
+ +
+
+

+ + Redis|int|false + getBit(string $key, int $idx) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + +
string$key
int$idx
+ + +

Return Value

+ + + + + + +
Redis|int|false
+ + + + +
+
+ +
+
+

+ + Redis|string|bool + getEx(string $key, array $options = []) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + +
string$key
array$options
+ + +

Return Value

+ + + + + + +
Redis|string|bool
+ + + + +
+
+ +
+
+

+ + int + getDBNum() + +

+
+ + + +
+

No description

+ +
+
+ +

Return Value

+ + + + + + +
int
+ + + + +
+
+ +
+
+

+ + Redis|string|bool + getDel(string $key) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + +
string$key
+ + +

Return Value

+ + + + + + +
Redis|string|bool
+ + + + +
+
+ +
+
+

+ + string + getHost() + +

+
+ + + +
+

Return the host or Unix socket we are connected to.

+
+
+ +

Return Value

+ + + + + + +
string

The host or Unix socket.

+ + + + +
+
+ +
+
+

+ + string|null + getLastError() + +

+
+ + + +
+

Get the last error returned to us from Redis, if any.

+
+
+ +

Return Value

+ + + + + + +
string|null

The error string or NULL if there is none.

+ + + + +
+
+ +
+
+

+ + int + getMode() + +

+
+ + + +
+

Returns whether the connection is in ATOMIC, MULTI, or PIPELINE mode

+
+
+ +

Return Value

+ + + + + + +
int

The mode we're in.

+ + + + +
+
+ +
+
+

+ + mixed + getOption(int $option) + +

+
+ + + +
+

Retrieve the value of a configuration setting as set by Redis::setOption()

+
+
+

Parameters

+ + + + + + + +
int$option
+ + +

Return Value

+ + + + + + +
mixed

The setting itself or false on failure

+ + + +

See also

+ + + + + + +
+ +Redis::setOption + for a detailed list of options and their values.
+ + +
+
+ +
+
+

+ + string|null + getPersistentID() + +

+
+ + + +
+

Get the persistent connection ID, if there is one.

+
+
+ +

Return Value

+ + + + + + +
string|null

The ID or NULL if we don't have one.

+ + + + +
+
+ +
+
+

+ + int + getPort() + +

+
+ + + +
+

Get the port we are connected to. This number will be zero if we are connected to a unix socket.

+
+
+ +

Return Value

+ + + + + + +
int

The port.

+ + + + +
+
+ +
+
+

+ + Redis|string|false + getRange(string $key, int $start, int $end) + +

+
+ + + +
+

Retrieve a substring of a string by index.

+
+
+

Parameters

+ + + + + + + + + + + + + + + + + +
string$key

The string to query.

int$start

The zero-based starting index.

int$end

The zero-based ending index.

+ + +

Return Value

+ + + + + + +
Redis|string|false

The substring or false on failure.

+

+<?php
+$redis = new Redis(['host' => 'localhost']);
+
+$word = 'Supercalifragilisticexpialidocious';
+$redis->set('silly-word', $word);
+
+// string "super"
+var_dump($redis->getRange('silly-word', 0, 4));
+
+// string(7) "docious"
+var_dump($redis->getRange('silly-word', -7, -1));
+?>
+ + + + +
+
+ +
+
+

+ + Redis|string|array|int|false + lcs(string $key1, string $key2, array|null $options = NULL) + +

+
+ + + +
+

Get the longest common subsequence between two string keys.

+
+
+

Parameters

+ + + + + + + + + + + + + + + + + +
string$key1

The first key to check

string$key2

The second key to check

array|null$options

An optional array of modifiers for the comand.

+
$options = [
+    'MINMATCHLEN'  => int  // Exclude matching substrings that are less than this value
+
+    'WITHMATCHLEN' => 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.
+];
+

NOTE: 'LEN' cannot be used with 'IDX'.

+ + +

Return Value

+ + + + + + +
Redis|string|array|int|false

Various reply types depending on options.

+

+<?php
+<?php
+
+$redis = new Redis(['host' => 'localhost']);
+
+$redis->set('seq1', 'gtaggcccgcacggtctttaatgtatccctgtttaccatgccatacctgagcgcatacgc');
+$redis->set('seq2', 'aactcggcgcgagtaccaggccaaggtcgttccagagcaaagactcgtgccccgctgagc');
+
+// string(37) "acccgcacggcaagtcgttccagcaactggcgctagc"
+var_dump($redis->lcs('seq1', 'seq2'));
+?>
+ + + + +
+
+ +
+
+

+ + float + getReadTimeout() + +

+
+ + + +
+

Get the currently set read timeout on the connection.

+
+
+ +

Return Value

+ + + + + + +
float

The timeout.

+ + + + +
+
+ +
+
+

+ + Redis|string|false + getset(string $key, mixed $value) + +

+
+ + + +
+

Sets a key and returns any previously set value, if the key already existed.

+
+
+

Parameters

+ + + + + + + + + + + + +
string$key

The key to set.

mixed$value

The value to set the key to.

+ + +

Return Value

+ + + + + + +
Redis|string|false

The old value of the key or false if it didn't exist.

+
<?php
+$redis = new Redis(['host' => 'localhost']);
+
+$redis->del('captain');
+
+// bool(false)
+var_dump($redis->getset('captain', 'Pike'));
+
+// string(4) "Pike"
+var_dump($redis->getset('captain', 'Kirk'));
+?>
+ + + + +
+
+ +
+
+

+ + float|false + getTimeout() + +

+
+ + + +
+

Retrieve any set connection timeout

+
+
+ +

Return Value

+ + + + + + +
float|false

The currently set timeout or false on failure (e.g. we aren't connected).

+ + + + +
+
+ +
+
+

+ + int|false + getTransferredBytes() + +

+
+ + + +
+

No description

+ +
+
+ +

Return Value

+ + + + + + +
int|false
+ + + + +
+
+ +
+
+

+ + Redis|int|false + hDel(string $key, string $field, string ...$other_fields) + +

+
+ + + +
+

Remove one or more fields from a hash.

+
+
+

Parameters

+ + + + + + + + + + + + + + + + + +
string$key

The hash key in question.

string$field

The first field to remove

string...$other_fields

One or more additional fields to remove.

+ + +

Return Value

+ + + + + + +
Redis|int|false

The number of fields actually removed.

+
<?php
+$redis = new Redis(['host' => 'localhost']);
+
+$redis->del('people');
+
+$redis->hmset('comms', ['Alice' => 'ecc', 'Bob' => 'rsa', 'Mallory' => 'haxx00r']);
+
+// int(1)
+$redis->hDel('comms', 'Mallory', 'Archibald');
+?>
+ + + +

See also

+ + + + + + +
+ https://redis.io/commands/hdel +
+ + +
+
+ +
+
+

+ + Redis|bool + hExists(string $key, string $field) + +

+
+ + + +
+

Checks whether a field exists in a hash.

+
+
+

Parameters

+ + + + + + + + + + + + +
string$key

The hash to query.

string$field

The field to check

+ + +

Return Value

+ + + + + + +
Redis|bool

True if it exists, false if not.

+
<?php
+$redis = new Redis(['host' => 'localhost']);
+
+$redis->del('captains');
+
+$redis->hmset('captains', ['Kirk' => 'Enterprise', 'Picard' => 'Enterprise-D', 'Sisko' => 'Defiant']);
+
+bool(false)
+$redis->hExists('captains', 'Pike');
+
+bool(true)
+$redis->hExists('captains', 'Picard');
+?>
+ + + +

See also

+ + + + + + +
+ https://redis.io/commands/hexists +
+ + +
+
+ +
+
+

+ + mixed + hGet(string $key, string $member) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + +
string$key
string$member
+ + +

Return Value

+ + + + + + +
mixed
+ + + + +
+
+ +
+
+

+ + Redis|array|false + hGetAll(string $key) + +

+
+ + + +
+

Read every field and value from a hash.

+
+
+

Parameters

+ + + + + + + +
string$key

The hash to query.

+ + +

Return Value

+ + + + + + +
Redis|array|false

All fields and values or false if the key didn't exist.

+
<?php
+$redis = new Redis(['host' => 'localhost']);
+
+$redis->del('comms');
+
+$redis->hmset('comms', ['Alice' => 'ecc', 'Bob' => 'rsa', 'Mallory' => 'haxx00r']);
+
+// array(3) {
+//   ["Alice"]=>
+//   string(3) "ecc"
+//   ["Bob"]=>
+//   string(3) "rsa"
+//   ["Mallory"]=>
+//   string(7) "haxx00r"
+// }
+$redis->hGetAll('comms');
+?>
+ + + +

See also

+ + + + + + +
+ https://redis.io/commands/hgetall +
+ + +
+
+ +
+
+

+ + Redis|int|false + hIncrBy(string $key, string $field, int $value) + +

+
+ + + +
+

Increment a hash field's value by an integer

+
+
+

Parameters

+ + + + + + + + + + + + + + + + + +
string$key

The hash to modify

string$field

The field to increment

int$value

How much to increment the value.

+ + +

Return Value

+ + + + + + +
Redis|int|false

The new value of the field.

+
<?php
+$redis = new Redis(['host' => 'localhost']);
+
+$redis->del('player');
+
+$redis->hmset('player', ['name' => 'Bob', 'level' => 1]);
+
+// int(2)
+$redis->hIncrBy('player', 'level', 1);
+
+// int(5)
+$redis->hIncrBy('player', 'level', 3);
+?>
+ + + +

See also

+ + + + + + +
+ https://redis.io/commands/hincrby +
+ + +
+
+ +
+
+

+ + Redis|float|false + hIncrByFloat(string $key, string $field, float $value) + +

+
+ + + +
+

Increment a hash field by a floating point value

+
+
+

Parameters

+ + + + + + + + + + + + + + + + + +
string$key

The hash with the field to increment.

string$field

The field to increment.

float$value
+ + +

Return Value

+ + + + + + +
Redis|float|false

The field value after incremented.

+
$redis = new Redis(['host' => 'localhost']);
+
+$redis->del('trig-numbers')
+
+// float(3.1415926)
+$pi = $redis->hIncrByFloat('trig-numbers', 'pi', 3.1415926);
+
+// float(6.2831852)
+$redis->hIncrByFloat('trig-numbers', 'tau', 2 * $pi);
+?>
+ + + +

See also

+ + + + + + +
+ https://redis.io/commands/hincrbyfloat +
+ + +
+
+ +
+
+

+ + Redis|array|false + hKeys(string $key) + +

+
+ + + +
+

Retrieve all of the fields of a hash.

+
+
+

Parameters

+ + + + + + + +
string$key

The hash to query.

+ + +

Return Value

+ + + + + + +
Redis|array|false

The fields in the hash or false if the hash doesn't exist.

+
<?php
+$redis = new Redis(['host' => 'localhost']);
+
+$redis->del('ships');
+
+$redis->hmset('ships', ['Enterprise' => 'NCC-1701D', 'Defiant' => 'NX-74205', 'Voyager' => 'NCC-74656']);
+
+// array(3) {
+//   [0]=>
+//   string(10) "Enterprise"
+//   [1]=>
+//   string(7) "Defiant"
+//   [2]=>
+//   string(7) "Voyager"
+// }
+$redis->hKeys('ships');
+?>
+ + + +

See also

+ + + + + + +
+ https://redis.io/commands/hkeys +
+ + +
+
+ +
+
+

+ + Redis|int|false + hLen(string $key) + +

+
+ + + +
+

Get the number of fields in a hash.

+
+
+

Parameters

+ + + + + + + +
string$key

The hash to check.

+ + +

Return Value

+ + + + + + +
Redis|int|false

The number of fields or false if the key didn't exist.

+ + + +

See also

+ + + + + + +
+ https://redis.io/commands/hlen +
+ + +
+
+ +
+
+

+ + Redis|array|false + hMget(string $key, array $fields) + +

+
+ + + +
+

Get one or more fields from a hash.

+
+
+

Parameters

+ + + + + + + + + + + + +
string$key

The hash to query.

array$fields

One or more fields to query in the hash.

+ + +

Return Value

+ + + + + + +
Redis|array|false

The fields and values or false if the key didn't exist.

+
<?php
+$redis = new Redis(['host' => 'localhost']);
+
+$redis->del('player:1');
+
+$redis->hmset('player:1', ['name' => 'Alice', 'age' => '26', 'score' => '1337']);
+
+// array(2) {
+//   ["name"]=>
+//   string(5) "Alice"
+//   ["score"]=>
+//   string(4) "1337"
+// }
+$redis->hmget('player:1', ['name', 'score']);
+?>
+ + + +

See also

+ + + + + + +
+ https://redis.io/commands/hmget +
+ + +
+
+ +
+
+

+ + Redis|bool + hMset(string $key, array $fieldvals) + +

+
+ + + +
+

Add or update one or more hash fields and values

+
+
+

Parameters

+ + + + + + + + + + + + +
string$key

The hash to create/update

array$fieldvals

An associative array with fields and their values.

+ + +

Return Value

+ + + + + + +
Redis|bool

True if the operation was successful

+
<?php
+$redis = new Redis(['host' => 'localhost']);
+
+$redis->hmset('updates', ['status' => 'starting', 'elapsed' => 0]);
+?>
+ + + +

See also

+ + + + + + +
+ https://redis.io/commands/hmset +
+ + +
+
+ +
+
+

+ + Redis|string|array + hRandField(string $key, array $options = null) + +

+
+ + + +
+

Get one or more random field from a hash.

+
+
+

Parameters

+ + + + + + + + + + + + +
string$key

The hash to query.

array$options

An array of options to modify how the command behaves.

+
$options = [
+    'COUNT'      => int  // An optional number of fields to return.
+    'WITHVALUES' => bool // Also return the field values.
+];
+ + +

Return Value

+ + + + + + +
Redis|string|array

One or more random fields (and possibly values).

+
<?php
+$redis = new Redis(['host' => 'localhost']);
+
+$redis->del('settings');
+
+$redis->hmset('settings', ['path' => '/', 'state' => 'active', 'jobs' => 15]);
+
+$redis->hrandfield('settings');
+
+$redis->hrandfield('settings', ['count' => 2, 'withvalues' => true]);
+?>
+ + + +

See also

+ + + + + + +
+ https://redis.io/commands/hrandfield +
+ + +
+
+ +
+
+

+ + Redis|int|false + hSet(string $key, string $member, mixed $value) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + + + + + + +
string$key
string$member
mixed$value
+ + +

Return Value

+ + + + + + +
Redis|int|false
+ + + + +
+
+ +
+
+

+ + Redis|bool + hSetNx(string $key, string $field, string $value) + +

+
+ + + +
+

Set a hash field and value, but only if that field does not exist

+
+
+

Parameters

+ + + + + + + + + + + + + + + + + +
string$key

The hash to update.

string$field

The value to set.

string$value
+ + +

Return Value

+ + + + + + +
Redis|bool

True if the field was set and false if not.

+
$redis = new Redis(['host' => 'localhost']);
+
+$redis->del('player:1');
+
+$redis->hmset('player:1', ['name' => 'bob', 'score' => 0]);
+
+// bool(true)
+var_dump($redis->hsetnx('player:1', 'lock', 'enabled'));
+
+// bool(false)
+var_dump($redis->hsetnx('player:1', 'lock', 'enabled'));
+ + + +

See also

+ + + + + + +
+ https://redis.io/commands/hsetnx +
+ + +
+
+ +
+
+

+ + Redis|int|false + hStrLen(string $key, string $field) + +

+
+ + + +
+

Get the string length of a hash field

+
+
+

Parameters

+ + + + + + + + + + + + +
string$key

The hash to query.

string$field

The field to query.

+ + +

Return Value

+ + + + + + +
Redis|int|false

The string length of the field or false.

+
<?php
+$redis = new Redis(['host' => 'localhost']);
+
+$redis->del('hash');
+$redis->hmset('hash', ['50bytes' => str_repeat('a', 50)]);
+
+// int(50)
+$redis->hstrlen('hash', '50bytes');
+
+ + + +

See also

+ + + + + + +
+ https://redis.io/commands/hstrlen +
+ + +
+
+ +
+
+

+ + Redis|array|false + hVals(string $key) + +

+
+ + + +
+

Get all of the values from a hash.

+
+
+

Parameters

+ + + + + + + +
string$key

The hash to query.

+ + +

Return Value

+ + + + + + +
Redis|array|false

The values from the hash.

+
<?php
+$redis = new Redis(['host' => 'localhost']);
+
+$redis->del('player');
+
+$redis->hmset('player', ['name' => 'Alice', 'score' => 1337]);
+
+// array(2) {
+//   ["name"]=>
+//   string(5) "Alice"
+//   ["score"]=>
+//   string(4) "1337"
+// }
+$redis->hgetall('player');
+?>
+ + + +

See also

+ + + + + + +
+ https://redis.io/commands/hvals +
+ + +
+
+ +
+
+

+ + Redis|array|bool + hscan(string $key, int|null $iterator, string|null $pattern = null, int $count = 0) + +

+
+ + + +
+

Iterate over the fields and values of a hash in an incremental fashion.

+
+
+

Parameters

+ + + + + + + + + + + + + + + + + + + + + + +
string$key

The hash to query.

int|null$iterator

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.

string|null$pattern

An optional glob-style pattern to filter fields with.

int$count

An optional hint to Redis about how many fields and values to return per HSCAN.

+ + +

Return Value

+ + + + + + +
Redis|array|bool

An array with a subset of fields and values.

+
<?php
+$redis = new Redis(['host' => 'localhost']);
+
+$redis->del('big-hash');
+
+for ($i = 0; $i < 1000; $i++) {
+    $fields["field:$i"] = "value:$i";
+}
+
+$redis->hmset('big-hash', $fields);
+
+$it = NULL;
+
+do {
+    // Scan the hash but limit it to fields that match '*:1?3'
+    $fields = $redis->hscan('big-hash', $it, '*:1?3');
+
+    foreach ($fields as $field => $value) {
+        echo "[$field] => $value\n";
+    }
+} while ($it != 0);
+
+// --- OUTPUT ---
+// [field:143] => value:143
+// [field:133] => value:133
+// [field:163] => value:163
+// [field:183] => value:183
+// [field:153] => value:153
+// [field:113] => value:113
+// [field:103] => value:103
+// [field:193] => value:193
+// [field:123] => value:123
+// [field:173] => value:173
+?>
+ + + +

See also

+ + + + + + + + + + +
+ https://redis.io/commands/hscan +
+ https://redis.io/commands/scan +
+ + +
+
+ +
+
+

+ + Redis|int|false + incr(string $key, int $by = 1) + +

+
+ + + +
+

Increment a key's value, optionally by a specifc amount.

+
+
+

Parameters

+ + + + + + + + + + + + +
string$key

The key to increment

int$by

An optional amount to increment by.

+ + +

Return Value

+ + + + + + +
Redis|int|false

The new value of the key after incremented.

+
<?php
+$redis = new Redis(['host' => 'localhost']);
+
+$redis->set('counter', 1);
+
+// int(2);
+$redis->incr('counter');
+
+// int(4);
+$redis->incr('counter', 2);
+?>
+ + + +

See also

+ + + + + + + + + + +
+ https://redis.io/commands/incr +
+ https://redis.io/commands/incrby +
+ + +
+
+ +
+
+

+ + Redis|int|false + incrBy(string $key, int $value) + +

+
+ + + +
+

Increment a key by a specific integer value

+
+
+

Parameters

+ + + + + + + + + + + + +
string$key

The key to increment.

int$value

The amount to increment.

+
<?php
+
+$redis = new Redis(['host' => 'localhost']);
+
+$redis->set('primes', 2);
+
+// int(3)
+$redis->incrby('primes', 1);
+
+// int(5)
+$redis->incrby('primes', 2);
+
+// int(7)
+$redis->incrby('primes', 2);
+
+// int(11)
+$redis->incrby('primes', 4);
+?>
+ + +

Return Value

+ + + + + + +
Redis|int|false
+ + + +

See also

+ + + + + + +
+ https://redis.io/commands/incrby +
+ + +
+
+ +
+
+

+ + Redis|float|false + incrByFloat(string $key, float $value) + +

+
+ + + +
+

Increment a numeric key by a floating point value.

+
+
+

Parameters

+ + + + + + + + + + + + +
string$key

The key to increment

float$value

How much to increment (or decrement) the value.

+ + +

Return Value

+ + + + + + +
Redis|float|false

The new value of the key or false if the key didn't contain a string.

+
<?php
+$redis = new Redis(['host' => 'localhost']);
+
+$redis->del('tau');
+
+// float(3.1415926)
+var_dump($redis->incrByFloat('tau', 3.1415926));
+
+// float(6.2831852)
+var_dump($redis->incrByFloat('tau', 3.1415926));
+?>
+ + + + +
+
+ +
+
+

+ + Redis|array|false + info(string ...$sections) + +

+
+ + + +
+

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.

If connected to Redis server >= 7.0.0 you may pass multiple optional sections.

+
+
+

Parameters

+ + + + + + + +
string...$sections

Optional section(s) you wish Redis server to return.

+ + +

Return Value

+ + + + + + +
Redis|array|false
+ + + +

See also

+ + + + + + +
+ https://redis.io/commands/info/ +
+ + +
+
+ +
+
+

+ + bool + isConnected() + +

+
+ + + +
+

Check if we are currently connected to a Redis instance.

+
+
+ +

Return Value

+ + + + + + +
bool

True if we are, false if not

+ + + + +
+
+ +
+
+

+ + Redis|array|false + keys(string $pattern) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + +
string$pattern
+ + +

Return Value

+ + + + + + +
Redis|array|false
+ + + + +
+
+ +
+
+

+ + Redis|int|false + lInsert(string $key, string $pos, mixed $pivot, mixed $value) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + + + + + + + + + + + +
string$key
string$pos
mixed$pivot
mixed$value
+ + +

Return Value

+ + + + + + +
Redis|int|false
+ + + + +
+
+ +
+
+

+ + Redis|int|false + lLen(string $key) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + +
string$key
+ + +

Return Value

+ + + + + + +
Redis|int|false
+ + + + +
+
+ +
+
+

+ + Redis|string|false + lMove(string $src, string $dst, string $wherefrom, string $whereto) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + + + + + + + + + + + +
string$src
string$dst
string$wherefrom
string$whereto
+ + +

Return Value

+ + + + + + +
Redis|string|false
+ + + + +
+
+ +
+
+

+ + Redis|bool|string|array + lPop(string $key, int $count = 0) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + +
string$key
int$count
+ + +

Return Value

+ + + + + + +
Redis|bool|string|array
+ + + + +
+
+ +
+
+

+ + Redis|null|bool|int|array + lPos(string $key, mixed $value, array $options = null) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + + + + + + +
string$key
mixed$value
array$options
+ + +

Return Value

+ + + + + + +
Redis|null|bool|int|array
+ + + + +
+
+ +
+
+

+ + int|Redis + lPush(string $key, mixed ...$elements) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + +
string$key
mixed...$elements
+ + +

Return Value

+ + + + + + +
int|Redis
+ + + + +
+
+ +
+
+

+ + Redis|int|false + rPush(string $key, mixed ...$elements) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + +
string$key
mixed...$elements
+ + +

Return Value

+ + + + + + +
Redis|int|false
+ + + + +
+
+ +
+
+

+ + Redis|int|false + lPushx(string $key, mixed $value) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + +
string$key
mixed$value
+ + +

Return Value

+ + + + + + +
Redis|int|false
+ + + + +
+
+ +
+
+

+ + Redis|int|false + rPushx(string $key, mixed $value) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + +
string$key
mixed$value
+ + +

Return Value

+ + + + + + +
Redis|int|false
+ + + + +
+
+ +
+
+

+ + Redis|bool + lSet(string $key, int $index, mixed $value) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + + + + + + +
string$key
int$index
mixed$value
+ + +

Return Value

+ + + + + + +
Redis|bool
+ + + + +
+
+ +
+
+

+ + int + lastSave() + +

+
+ + + +
+

No description

+ +
+
+ +

Return Value

+ + + + + + +
int
+ + + + +
+
+ +
+
+

+ + mixed + lindex(string $key, int $index) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + +
string$key
int$index
+ + +

Return Value

+ + + + + + +
mixed
+ + + + +
+
+ +
+
+

+ + Redis|array|false + lrange(string $key, int $start, int $end) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + + + + + + +
string$key
int$start
int$end
+ + +

Return Value

+ + + + + + +
Redis|array|false
+ + + + +
+
+ +
+
+

+ + int|Redis|false + lrem(string $key, mixed $value, int $count = 0) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + + + + + + +
string$key
mixed$value
int$count
+ + +

Return Value

+ + + + + + +
int|Redis|false
+ + + + +
+
+ +
+
+

+ + Redis|bool + ltrim(string $key, int $start, int $end) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + + + + + + +
string$key
int$start
int$end
+ + +

Return Value

+ + + + + + +
Redis|bool
+ + + + +
+
+ +
+
+

+ + array|Redis + mget(array $keys) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + +
array$keys
+ + +

Return Value

+ + + + + + +
array|Redis
+ + + + +
+
+ +
+
+

+ + Redis|bool + migrate(string $host, int $port, string|array $key, int $dstdb, int $timeout, bool $copy = false, bool $replace = false, mixed $credentials = NULL) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
string$host
int$port
string|array$key
int$dstdb
int$timeout
bool$copy
bool$replace
mixed$credentials
+ + +

Return Value

+ + + + + + +
Redis|bool
+ + + + +
+
+ +
+
+

+ + bool + move(string $key, int $index) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + +
string$key
int$index
+ + +

Return Value

+ + + + + + +
bool
+ + + + +
+
+ +
+
+

+ + Redis|bool + mset(array $key_values) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + +
array$key_values
+ + +

Return Value

+ + + + + + +
Redis|bool
+ + + + +
+
+ +
+
+

+ + Redis|bool + msetnx(array $key_values) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + +
array$key_values
+ + +

Return Value

+ + + + + + +
Redis|bool
+ + + + +
+
+ +
+
+

+ + bool|Redis + multi(int $value = Redis::MULTI) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + +
int$value
+ + +

Return Value

+ + + + + + +
bool|Redis
+ + + + +
+
+ +
+
+

+ + Redis|int|string|false + object(string $subcommand, string $key) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + +
string$subcommand
string$key
+ + +

Return Value

+ + + + + + +
Redis|int|string|false
+ + + + +
+
+ +
+
+

+ + bool + open(string $host, int $port = 6379, float $timeout = 0, string $persistent_id = NULL, int $retry_interval = 0, float $read_timeout = 0, array $context = NULL) + deprecated +

+
+

+ deprecated + + + + +

+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
string$host
int$port
float$timeout
string$persistent_id
int$retry_interval
float$read_timeout
array$context
+ + +

Return Value

+ + + + + + +
bool
+ + + + +
+
+ +
+
+

+ + bool + pconnect(string $host, int $port = 6379, float $timeout = 0, string $persistent_id = NULL, int $retry_interval = 0, float $read_timeout = 0, array $context = NULL) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
string$host
int$port
float$timeout
string$persistent_id
int$retry_interval
float$read_timeout
array$context
+ + +

Return Value

+ + + + + + +
bool
+ + + + +
+
+ +
+
+

+ + bool + persist(string $key) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + +
string$key
+ + +

Return Value

+ + + + + + +
bool
+ + + + +
+
+ +
+
+

+ + bool + pexpire(string $key, int $timeout, string|null $mode = NULL) + +

+
+ + + +
+

Sets an expiration in milliseconds on a given key. If connected to Redis >= 7.0.0 +you can pass an optional mode argument that modifies how the command will execute.

Redis::expire() for a description of the mode argument.

+
+
+

Parameters

+ + + + + + + + + + + + + + + + + +
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 expiry was set on the key, and false otherwise.

int$timeout
string|null$mode
+ + +

Return Value

+ + + + + + +
bool
+ + + + +
+
+ +
+
+

+ + Redis|bool + pexpireAt(string $key, int $timestamp, string|null $mode = NULL) + +

+
+ + + +
+

Set a key's expiration to a specific Unix Timestamp in milliseconds. If connected to +Redis >= 7.0.0 you can pass an optional 'mode' argument.

+
+
+

Parameters

+ + + + + + + + + + + + + + + + + +
string$key
int$timestamp
string|null$mode
+ + +

Return Value

+ + + + + + +
Redis|bool
+ + + +

See also

+ + + + + + +
+ +Redis::expire + 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.
+ + +
+
+ +
+
+

+ + Redis|int + pfadd(string $key, array $elements) + +

+
+ + + +
+

Add one or more elements to a Redis HyperLogLog key

+
+
+

Parameters

+ + + + + + + + + + + + +
string$key

The key in question.

array$elements

One or more elements to add.

+ + +

Return Value

+ + + + + + +
Redis|int

Returns 1 if the set was altered, and zero if not.

+ + + +

See also

+ + + + + + +
+ https://redis.io/commands/pfadd +
+ + +
+
+ +
+
+

+ + Redis|int + pfcount(string $key) + +

+
+ + + +
+

Retrieve the cardinality of a Redis HyperLogLog key.

+
+
+

Parameters

+ + + + + + + +
string$key

The key name we wish to query.

+ + +

Return Value

+ + + + + + +
Redis|int

The estimated cardinality of the set.

+ + + +

See also

+ + + + + + +
+ https://redis.io/commands/pfcount +
+ + +
+
+ +
+
+

+ + Redis|bool + pfmerge(string $dst, array $srckeys) + +

+
+ + + +
+

Merge one or more source HyperLogLog sets into a destination set.

+
+
+

Parameters

+ + + + + + + + + + + + +
string$dst

The destination key.

array$srckeys

One or more source keys.

+ + +

Return Value

+ + + + + + +
Redis|bool

Always returns true.

+ + + +

See also

+ + + + + + +
+ https://redis.io/commands/pfmerge +
+ + +
+
+ +
+
+

+ + Redis|string|bool + ping(string $message = NULL) + +

+
+ + + +
+

PING the redis server with an optional string argument.

+
+
+

Parameters

+ + + + + + + +
string$message

An optional string message that Redis will reply with, if passed.

+ + +

Return Value

+ + + + + + +
Redis|string|bool

If passed no message, this command will simply return true. +If a message is passed, it will return the message.

+
<?php
+$redis = new Redis(['host' => 'localhost']);
+
+// bool(true)
+$redis->ping();
+
+// string(9) "beep boop"
+$redis->ping('beep boop');
+?>
+ + + +

See also

+ + + + + + +
+ https://redis.io/commands/ping +
+ + +
+
+ +
+
+

+ + bool|Redis + pipeline() + +

+
+ + + +
+

Enter into pipeline mode.

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().

+

NOTE: That this is shorthand for Redis::multi(Redis::PIPELINE)

+
+
+ +

Return Value

+ + + + + + +
bool|Redis

The redis object is returned, to facilitate method chaining.

+
<?php
+$redis = new Redis(['host' => 'localhost']);
+
+// array(3) {
+//   [0]=>
+//   bool(true)
+//   [1]=>
+//   int(0)
+//   [2]=>
+//   int(3)
+// }
+$redis->pipeline()
+      ->set('foo', 'bar')
+      ->del('mylist')
+      ->rpush('mylist', 'a', 'b', 'c')
+      ->exec();
+?>
+ + + + +
+
+ +
+
+

+ + bool + popen(string $host, int $port = 6379, float $timeout = 0, string $persistent_id = NULL, int $retry_interval = 0, float $read_timeout = 0, array $context = NULL) + deprecated +

+
+

+ deprecated + + + + +

+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
string$host
int$port
float$timeout
string$persistent_id
int$retry_interval
float$read_timeout
array$context
+ + +

Return Value

+ + + + + + +
bool
+ + + + +
+
+ +
+
+

+ + bool|Redis + psetex(string $key, int $expire, mixed $value) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + + + + + + +
string$key
int$expire
mixed$value
+ + +

Return Value

+ + + + + + +
bool|Redis
+ + + + +
+
+ +
+
+

+ + bool + psubscribe(array $patterns, callable $cb) + +

+
+ + + +
+

Subscribe to one or more glob-style patterns

+
+
+

Parameters

+ + + + + + + + + + + + +
array$patterns

One or more patterns to subscribe to.

callable$cb

A callback with the following prototype:

+
function ($redis, $channel, $message) { }
+ + +

Return Value

+ + + + + + +
bool

True if we were subscribed.

+ + + +

See also

+ + + + + + +
+ https://redis.io/commands/psubscribe +
+ + +
+
+ +
+
+

+ + Redis|int|false + pttl(string $key) + +

+
+ + + +
+

Get a keys time to live in milliseconds.

+
+
+

Parameters

+ + + + + + + +
string$key

The key to check.

+ + +

Return Value

+ + + + + + +
Redis|int|false

The keys TTL or false on failure.

+

NOTE: -1 means a key has no TTL and -2 means the key doesn't exist.

+
<?php
+
+$redis = new Redis(['host' => 'localhost']);
+
+$redis->setex('ttl-key', 60, 'ttl-value');
+
+// int(60000)
+var_dump($redis->pttl('ttl-key'));
+?>
+ + + +

See also

+ + + + + + +
+ https://redis.io/commands/pttl +
+ + +
+
+ +
+
+

+ + Redis|int|false + publish(string $channel, string $message) + +

+
+ + + +
+

Publish a message to a pubsub channel

+
+
+

Parameters

+ + + + + + + + + + + + +
string$channel

The channel to publish to.

string$message

The message itself.

+ + +

Return Value

+ + + + + + +
Redis|int|false

The number of subscribed clients to the given channel.

+ + + +

See also

+ + + + + + +
+ https://redis.io/commands/publish +
+ + +
+
+ +
+
+

+ + mixed + pubsub(string $command, mixed $arg = null) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + +
string$command
mixed$arg
+ + +

Return Value

+ + + + + + +
mixed
+ + + + +
+
+ +
+
+

+ + Redis|array|bool + punsubscribe(array $patterns) + +

+
+ + + +
+

Unsubscribe from one or more channels by pattern

+
+
+

Parameters

+ + + + + + + +
array$patterns

One or more glob-style patterns of channel names.

+ + +

Return Value

+ + + + + + +
Redis|array|bool

The array of subscribed patterns or false on failure.

+ + + +

See also

+ + + + + + + + + + + + + + +
+ https://redis.io/commands/punsubscribe +
+ https://redis.io/commands/subscribe +
+ +Redis::subscribe +
+ + +
+
+ +
+
+

+ + Redis|array|string|bool + rPop(string $key, int $count = 0) + +

+
+ + + +
+

Pop one or more elements from the end of a list.

+
+
+

Parameters

+ + + + + + + + + + + + +
string$key

A redis LIST key name.

int$count

The maximum number of elements to pop at once.

+

NOTE: The count argument requires Redis >= 6.2.0

+ + +

Return Value

+ + + + + + +
Redis|array|string|bool

One ore more popped elements or false if all were empty.

+
<?php
+<?php
+$redis = new Redis(['host' => 'localhost']);
+
+$redis->del('mylist');
+$redis->rPush('mylist', 'one', 'two', 'three');
+
+// string(5) "three"
+$redis->rPop('mylist');
+
+// string(3) "two"
+$redis->rPop('mylist');
+
+// string(3) "one"
+$redis->rPop('mylist');
+?>
+ + + +

See also

+ + + + + + +
+ https://redis.io/commands/rpop +
+ + +
+
+ +
+
+

+ + Redis|string|false + randomKey() + +

+
+ + + +
+

Return a random key from the current database

+
+
+ +

Return Value

+ + + + + + +
Redis|string|false

A random key name or false if no keys exist

+ + + +

See also

+ + + + + + +
+ https://redis.io/commands/randomkey +
+ + +
+
+ +
+
+

+ + mixed + rawcommand(string $command, mixed ...$args) + +

+
+ + + +
+

Execute any arbitrary Redis command by name.

+
+
+

Parameters

+ + + + + + + + + + + + +
string$command

The command to execute

mixed...$args

One or more arguments to pass to the command.

+
<?php
+
+$redis = new Redis(['host' => 'localhost']);
+
+$redis->rawCommand('del', 'mystring', 'mylist');
+$redis->rawCommand('set', 'mystring', 'myvalue');
+$redis->rawCommand('rpush', 'mylist', 'one', 'two', 'three');
+
+// string(7) "myvalue"
+$redis->rawCommand('get', 'mystring');
+
+// array(3) {
+//   [0]=>
+//   string(3) "one"
+//   [1]=>
+//   string(3) "two"
+//   [2]=>
+//   string(5) "three"
+// }
+$redis->rawCommand('lrange', 'mylist', 0, -1);
+?>
+ + +

Return Value

+ + + + + + +
mixed
+ + + + +
+
+ +
+
+

+ + Redis|bool + rename(string $old_name, string $new_name) + +

+
+ + + +
+

Unconditionally rename a key from $old_name to $new_name

+
+
+

Parameters

+ + + + + + + + + + + + +
string$old_name

The original name of the key

string$new_name

The new name for the key

+ + +

Return Value

+ + + + + + +
Redis|bool

True if the key was renamed or false if not.

+ + + +

See also

+ + + + + + +
+ https://redis.io/commands/rename +
+ + +
+
+ +
+
+

+ + Redis|bool + renameNx(string $key_src, string $key_dst) + +

+
+ + + +
+

Renames $key_src to $key_dst but only if newkey does not exist.

+
+
+

Parameters

+ + + + + + + + + + + + +
string$key_src

The source key name

string$key_dst

The destination key name.

+ + +

Return Value

+ + + + + + +
Redis|bool

True if the key was renamed, false if not.

+
<?php
+$redis = new Redis(['host' => 'localhost']);
+
+$redis->del('src', 'dst', 'existing-dst');
+
+$redis->set('src', 'src_key');
+$redis->set('existing-dst', 'i_exist');
+
+// bool(true)
+$redis->renamenx('src', 'dst');
+
+// bool(false)
+$redis->renamenx('dst', 'existing-dst');
+?>
+ + + +

See also

+ + + + + + +
+ https://redis.io/commands/renamenx +
+ + +
+
+ +
+
+

+ + Redis|bool + reset() + +

+
+ + + +
+

Reset the state of the connection.

+
+
+ +

Return Value

+ + + + + + +
Redis|bool

Should always return true unless there is an error.

+ + + + +
+
+ +
+
+

+ + Redis|bool + restore(string $key, int $ttl, string $value, array|null $options = NULL) + +

+
+ + + +
+

Restore a key by the binary payload generated by the DUMP command.

+
+
+

Parameters

+ + + + + + + + + + + + + + + + + + + + + + +
string$key

The name of the key you wish to create.

int$ttl

What Redis should set the key's TTL (in milliseconds) to once it is created. +Zero means no TTL at all.

string$value

The serialized binary value of the string (generated by DUMP).

array|null$options

An array of additional options that modifies how the command operates.

+
$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' => int // Tells Redis to set the keys internal 'idletime' value to a
+                      // specific number (see the Redis command OBJECT for more info).
+    'FREQ'     => int // Tells Redis to set the keys internal 'FREQ' value to a specific
+                      // number (this relates to Redis' LFU eviction algorithm).
+];
+ + +

Return Value

+ + + + + + +
Redis|bool

True if the key was stored, false if not.

+
<?php
+$redis = new Redis(['host' => 'localhost']);
+
+$redis->del('captains');
+
+$redis->sAdd('captains', 'Janeway', 'Picard', 'Sisko', 'Kirk', 'Archer');
+
+$serialized = $redis->dump('captains');
+
+$redis->select(1);
+$redis->restore('captains-backup', 0, $serialized);
+
+//array(5) {
+//  [0]=>
+//  string(6) "Archer"
+//  [1]=>
+//  string(4) "Kirk"
+//  [2]=>
+//  string(5) "Sisko"
+//  [3]=>
+//  string(6) "Picard"
+//  [4]=>
+//  string(7) "Janeway"
+//}
+var_dump($redis->sMembers('captains-backup'));
+?>
+ + + +

See also

+ + + + + + + + + + + + + + +
+ https://redis.io/commands/restore +
+ https://redis.io/commands/dump +
+ +Redis::dump +
+ + +
+
+ +
+
+

+ + mixed + role() + +

+
+ + + +
+

Query whether the connected instance is a primary or replica

+
+
+ +

Return Value

+ + + + + + +
mixed

Will return an array with the role of the connected instance unless there is +an error.

+ + + + +
+
+ +
+
+

+ + Redis|string|false + rpoplpush(string $srckey, string $dstkey) + +

+
+ + + +
+

Atomically pop an element off the end of a Redis LIST and push it to the beginning of +another.

+
+
+

Parameters

+ + + + + + + + + + + + +
string$srckey

The source key to pop from.

string$dstkey

The destination key to push to.

+ + +

Return Value

+ + + + + + +
Redis|string|false

The popped element or false if the source key was empty.

+
<?php
+$redis = new Redis(['host' => 'localhost']);
+
+$redis->pipeline()
+      ->del('list1', 'list2')
+      ->rpush('list1', 'list1-1', 'list1-2')
+      ->rpush('list2', 'list2-1', 'list2-2')
+      ->exec();
+
+var_dump($redis->rpoplpush('list2', 'list1'));
+var_dump($redis->lrange('list1', 0, -1));
+
+// --- OUTPUT ---
+// string(7) "list2-2"
+//
+// array(3) {
+//   [0]=>
+//   string(7) "list2-2"
+//   [1]=>
+//   string(7) "list1-1"
+//   [2]=>
+//   string(7) "list1-2"
+// }
+?>
+ + + +

See also

+ + + + + + +
+ https://redis.io/commands/rpoplpush +
+ + +
+
+ +
+
+

+ + Redis|int|false + sAdd(string $key, mixed $value, mixed ...$other_values) + +

+
+ + + +
+

Add one or more values to a Redis SET key.

+
+
+

Parameters

+ + + + + + + + + + + + + + + + + +
string$key

The key name

mixed$value
mixed...$other_values
+ + +

Return Value

+ + + + + + +
Redis|int|false

The number of values added to the set.

+
<?php
+$redis = new Redis(['host' => 'localhost']);
+
+$redis->del('myset');
+
+var_dump($redis->sadd('myset', 'foo', 'bar', 'baz'));
+var_dump($redis->sadd('myset', 'foo', 'new'));
+
+// --- OUTPUT ---
+// int(3)
+// int(1)
+?>
+ + + +

See also

+ + + + + + +
+ https://redis.io/commands/sadd +
+ + +
+
+ +
+
+

+ + int + sAddArray(string $key, array $values) + +

+
+ + + +
+

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.

+
+
+

Parameters

+ + + + + + + + + + + + +
string$key

The set to add values to.

array$values

One or more members to add to the set.

+ + +

Return Value

+ + + + + + +
int

The number of members added to the set.

+
<?php
+$redis = new Redis(['host' => 'localhost']);
+
+$redis->del('myset');
+
+var_dump($redis->sAddArray('myset', ['foo', 'bar', 'baz']));
+var_dump($redis->sAddArray('myset', ['foo', 'new']));
+
+// --- OUTPUT ---
+// int(3)
+// int(1)
+?>
+ + + +

See also

+ + + + + + + + + + +
+ https://redis.io/commands/sadd +
+ \Redis::sadd() +
+ + +
+
+ +
+
+

+ + Redis|array|false + sDiff(string $key, string ...$other_keys) + +

+
+ + + +
+

Given one or more Redis SETS, this command returns all of the members from the first +set that are not in any subsequent set.

+
+
+

Parameters

+ + + + + + + + + + + + +
string$key

The first set

string...$other_keys

One or more additional sets

+ + +

Return Value

+ + + + + + +
Redis|array|false

Returns the elements from keys 2..N that don't exist in the +first sorted set, or false on failure.

+

+<?php
+$redis = new Redis(['host' => 'localhost']);
+
+$redis->pipeline()
+      ->del('set1', 'set2', 'set3')
+      ->sadd('set1', 'apple', 'banana', 'carrot', 'date')
+      ->sadd('set2', 'carrot')
+      ->sadd('set3', 'apple', 'carrot', 'eggplant')
+      ->exec();
+
+// NOTE:  'banana' and 'date' are in set1 but none of the subsequent sets.
+var_dump($redis->sdiff('set1', 'set2', 'set3'));
+
+// --- OUTPUT ---
+array(2) {
+  [0]=>
+  string(6) "banana"
+  [1]=>
+  string(4) "date"
+}
+?>
+ + + +

See also

+ + + + + + +
+ https://redis.io/commands/sdiff +
+ + +
+
+ +
+
+

+ + Redis|int|false + sDiffStore(string $dst, string $key, string ...$other_keys) + +

+
+ + + +
+

This method performs the same operation as SDIFF except it stores the resulting diff +values in a specified destination key.

+
+
+

Parameters

+ + + + + + + + + + + + + + + + + +
string$dst

The key where to store the result

string$key

The first key to perform the DIFF on

string...$other_keys

One or more additional keys.

+ + +

Return Value

+ + + + + + +
Redis|int|false

The number of values stored in the destination set or false on failure.

+ + + +

See also

+ + + + + + + + + + +
+ https://redis.io/commands/sdiffstore +
+ \Redis::sdiff() +
+ + +
+
+ +
+
+

+ + Redis|array|false + sInter(array|string $key, string ...$other_keys) + +

+
+ + + +
+

Given one or more Redis SET keys, this command will return all of the elements that are +in every one.

+
+
+

Parameters

+ + + + + + + + + + + + +
array|string$key

The first SET key to intersect.

string...$other_keys

One or more Redis SET keys.

+
<?php
+
+$redis = new Redis(['host' => 'localhost']);
+
+$redis->pipeline()
+      ->del('alice_likes', 'bob_likes', 'bill_likes')
+      ->sadd('alice_likes', 'asparagus', 'broccoli', 'carrot', 'potato')
+      ->sadd('bob_likes', 'asparagus', 'carrot', 'potato')
+      ->sadd('bill_likes', 'broccoli', 'potato')
+      ->exec();
+
+// NOTE:  'potato' is the only value in all three sets
+var_dump($redis->sinter('alice_likes', 'bob_likes', 'bill_likes'));
+
+// --- OUTPUT ---
+// array(1) {
+//   [0]=>
+//   string(6) "potato"
+// }
+?>
+ + +

Return Value

+ + + + + + +
Redis|array|false
+ + + +

See also

+ + + + + + +
+ https://redis.io/commands/sinter +
+ + +
+
+ +
+
+

+ + Redis|int|false + sintercard(array $keys, int $limit = -1) + +

+
+ + + +
+

Compute the intersection of one or more sets and return the cardinality of the result.

+
+
+

Parameters

+ + + + + + + + + + + + +
array$keys

One or more set key names.

int$limit

A maximum cardinality to return. This is useful to put an upper bound +on the amount of work Redis will do.

+ + +

Return Value

+ + + + + + +
Redis|int|false

The

+
<?php
+$redis = new Redis(['host' => 'localhost']);
+
+$redis->del('set1', 'set2', 'set3');
+
+$redis->sAdd('set1', 'apple', 'pear', 'banana', 'carrot');
+$redis->sAdd('set2', 'apple',         'banana');
+$redis->sAdd('set3',          'pear', 'banana');
+
+// int(1)
+var_dump($redis->sInterCard(['set1', 'set2', 'set3']));
+?>
+ + + +

See also

+ + + + + + +
+ https://redis.io/commands/sintercard +
+ + +
+
+ +
+
+

+ + Redis|int|false + sInterStore(array|string $key, string ...$other_keys) + +

+
+ + + +
+

Perform the intersection of one or more Redis SETs, storing the result in a destination +key, rather than returning them.

+
+
+

Parameters

+ + + + + + + + + + + + +
array|string$key
string...$other_keys

If the first argument was a string, subsequent arguments should +be source key names.

+ + +

Return Value

+ + + + + + +
Redis|int|false

The number of values stored in the destination key or false on failure.

+
<?php
+$redis = new Redis(['host' => 'localhost']);
+
+// OPTION 1:  A single array
+$redis->sInterStore(['dst', 'src1', 'src2', 'src3']);
+
+// OPTION 2:  Variadic
+$redis->sInterStore('dst', 'src1', 'src'2', 'src3');
+?>
+ + + +

See also

+ + + + + + + + + + +
+ https://redis.io/commands/sinterstore +
+ \Redis::sinter() +
+ + +
+
+ +
+
+

+ + Redis|array|false + sMembers(string $key) + +

+
+ + + +
+

Retrieve every member from a set key.

+
+
+

Parameters

+ + + + + + + +
string$key

The set name.

+ + +

Return Value

+ + + + + + +
Redis|array|false

Every element in the set or false on failure.

+
$redis = new Redis(['host' => 'localhost']);
+
+$redis->del('tng-crew');
+
+$redis->sAdd('tng-crew', ...['Picard', 'Riker', 'Data', 'Worf', 'La Forge', 'Troi', 'Crusher', 'Broccoli']);
+
+// Array
+// (
+//     [0] => Riker
+//     [1] => Crusher
+//     [2] => Troi
+//     [3] => Worf
+//     [4] => LaForge
+//     [5] => Picard
+//     [6] => Broccoli
+//     [7] => Data
+// )
+$redis->sMembers('tng-crew');
+ + + +

See also

+ + + + + + +
+ https://redis.io/commands/smembers +
+ + +
+
+ +
+
+

+ + Redis|array|false + sMisMember(string $key, string $member, string ...$other_members) + +

+
+ + + +
+

Check if one or more values are members of a set.

+
+
+

Parameters

+ + + + + + + + + + + + + + + + + +
string$key

The set to query.

string$member

The first value to test if exists in the set.

string...$other_members

Any number of additional values to check.

+ + +

Return Value

+ + + + + + +
Redis|array|false

An array of integers representing whether each passed value +was a member of the set.

+
<?php
+$redis = new Redis(['host' => 'localhost']);
+
+$redis->del('ds9-crew');
+$redis->sAdd('ds9-crew', ...["Sisko", "Kira", "Dax", "Worf", "Bashir", "O'Brien"]);
+
+$names = ['Sisko', 'Picard', 'Data', 'Worf'];
+$members = $redis->sMIsMember('ds9-crew', ...$names);
+
+// array(4) {
+//   ["Sisko"]=>
+//   int(1)
+//   ["Picard"]=>
+//   int(0)
+//   ["Data"]=>
+//   int(0)
+//   ["Worf"]=>
+//   int(1)
+// }
+var_dump(array_combine($names, $members));
+?>
+ + + +

See also

+ + + + + + + + + + + + + + +
+ https://redis.io/commands/smismember +
+ https://redis.io/commands/smember +
+ \Redis::smember() +
+ + +
+
+ +
+
+

+ + Redis|bool + sMove(string $src, string $dst, mixed $value) + +

+
+ + + +
+

Pop a member from one set and push it onto another. This command will create the +destination set if it does not currently exist.

+
+
+

Parameters

+ + + + + + + + + + + + + + + + + +
string$src

The source set.

string$dst

The destination set.

mixed$value

The member you wish to move.

+ + +

Return Value

+ + + + + + +
Redis|bool

True if the member was moved, and false if it wasn't in the set.

+
<?php
+$redis = new Redis(['host' => 'localhost']);
+
+$redis->del('numbers', 'evens');
+$redis->sAdd('numbers', 'zero', 'one', 'two', 'three', 'four');
+
+$redis->sMove('numbers', 'evens', 'zero');
+$redis->sMove('numbers', 'evens', 'two');
+$redis->sMove('numbers', 'evens', 'four');
+
+// array(2) {
+//   [0]=>
+//   string(5) "three"
+//   [1]=>
+//   string(3) "one"
+// }
+var_dump($redis->sMembers('numbers'));
+
+// array(3) {
+//   [0]=>
+//   string(4) "zero"
+//   [1]=>
+//   string(3) "two"
+//   [2]=>
+//   string(4) "four"
+// }
+var_dump($redis->sMembers('evens'));
+
+?>
+ + + +

See also

+ + + + + + +
+ https://redis.io/commands/smove +
+ + +
+
+ +
+
+

+ + Redis|string|array|false + sPop(string $key, int $count = 0) + +

+
+ + + +
+

Remove one or more elements from a set.

+
+
+

Parameters

+ + + + + + + + + + + + +
string$key

The set in question.

int$count

An optional number of members to pop. This defaults to +removing one element.

+
<?php
+$redis = new Redis(['host' => 'localhost']);
+
+<?php
+
+$redis = new Redis(['host' => 'localhost']);
+
+$redis->del('numbers', 'evens');
+$redis->sAdd('numbers', 'zero', 'one', 'two', 'three', 'four');
+
+$redis->sMove('numbers', 'evens', 'zero');
+$redis->sMove('numbers', 'evens', 'two');
+$redis->sMove('numbers', 'evens', 'four');
+
+// array(2) {
+//   [0]=>
+//   string(5) "three"
+//   [1]=>
+//   string(3) "one"
+// }
+var_dump($redis->sMembers('numbers'));
+
+// array(3) {
+//   [0]=>
+//   string(4) "zero"
+//   [1]=>
+//   string(3) "two"
+//   [2]=>
+//   string(4) "four"
+// }
+var_dump($redis->sMembers('evens'));
+?>
+ + +

Return Value

+ + + + + + +
Redis|string|array|false
+ + + +

See also

+ + + + + + +
+ https://redis.io/commands/spop +
+ + +
+
+ +
+
+

+ + Redis|string|array|false + sRandMember(string $key, int $count = 0) + +

+
+ + + +
+

Retrieve one or more random members of a set.

+
+
+

Parameters

+ + + + + + + + + + + + +
string$key

The set to query.

int$count

An optional count of members to return.

+

If this value is positive, Redis will return up to the requested +number but with unique elements that will never repeat. This means +you may recieve fewer then $count replies.

+

If the number is negative, Redis will return the exact number requested +but the result may contain duplicate elements.

+ + +

Return Value

+ + + + + + +
Redis|string|array|false

One or more random members or false on failure.

+
<?php
+$redis = new Redis(['host' => 'localhost']);
+
+$redis->del('elder-gods');
+
+$redis->sAdd('elder-gods', ["Cthulhu", "Azathoth", "Daoloth", "D'endrrah"]);
+
+// A single random member returned.
+$rng1 = $redis->sRandMember('elder-gods');
+
+// Up to SCARD `elder-gods` random members returned
+$rng2 = $redis->sRandMember('elder-gods', 9999);
+
+// 9999 elements from the set returned with duplicates
+$rng3 = $redis->sRandMember('elder-gods', -9999);
+?>
+ + + + +
+
+ +
+
+

+ + Redis|array|false + sUnion(string $key, string ...$other_keys) + +

+
+ + + +
+

Returns the union of one or more Redis SET keys.

+
+
+

Parameters

+ + + + + + + + + + + + +
string$key

The first SET to do a union with

string...$other_keys

One or more subsequent keys

+ + +

Return Value

+ + + + + + +
Redis|array|false

The union of the one or more input sets or false on failure.

+
<?php
+$redis = new Redis(['host' => 'localhost']);
+
+$redis->pipeline()
+      ->del('set1', 'set2', 'set3')
+      ->sadd('set1', 'apple', 'banana', 'carrot')
+      ->sadd('set2', 'apple', 'carrot', 'fish')
+      ->sadd('set3', 'carrot', 'fig', 'eggplant');
+
+var_dump($redis->sunion('set1', 'set2', 'set3'));
+
+// --- OPUTPUT ---
+// array(5) {
+//   [0]=>
+//   string(6) "banana"
+//   [1]=>
+//   string(5) "apple"
+//   [2]=>
+//   string(4) "fish"
+//   [3]=>
+//   string(6) "carrot"
+//   [4]=>
+//   string(8) "eggplant"
+// }
+?>
+ + + +

See also

+ + + + + + +
+ https://redis.io/commands/sunion +
+ + +
+
+ +
+
+

+ + Redis|int|false + sUnionStore(string $dst, string $key, string ...$other_keys) + +

+
+ + + +
+

Perform a union of one or more Redis SET keys and store the result in a new set

+
+
+

Parameters

+ + + + + + + + + + + + + + + + + +
string$dst

The destination key

string$key

The first source key

string...$other_keys

One or more additional source keys

+ + +

Return Value

+ + + + + + +
Redis|int|false

The number of elements stored in the destination SET or +false on failure.

+ + + +

See also

+ + + + + + + + + + +
+ https://redis.io/commands/sunionstore +
+ \Redis::sunion() +
+ + +
+
+ +
+
+

+ + Redis|bool + save() + +

+
+ + + +
+

Persist the Redis database to disk. This command will block the server until the save is +completed. For a nonblocking alternative, see Redis::bgsave().

+
+
+ +

Return Value

+ + + + + + +
Redis|bool

Returns true unless an error occurs.

+ + + +

See also

+ + + + + + + + + + +
+ https://redis.io/commands/save +
+ \Redis::bgsave() +
+ + +
+
+ +
+
+

+ + array|false + scan(int|null $iterator, string|null $pattern = null, int $count = 0, string $type = NULL) + +

+
+ + + +
+

Incrementally scan the Redis keyspace, with optional pattern and type matching.

+
+
+

Parameters

+ + + + + + + + + + + + + + + + + + + + + + +
int|null$iterator

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.

string|null$pattern

An optional glob-style pattern for matching key names. If passed as +NULL, it is the equivalent of sending '*' (match every key).

int$count

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.

string$type

An optional argument to specify which key types to scan (e.g. +'STRING', 'LIST', 'SET')

+ + +

Return Value

+ + + + + + +
array|false

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.

+

A note about Redis::SCAN_NORETRY and Redis::SCAN_RETRY.

+

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.

+
<?php
+
+$redis = new Redis(['host' => 'localhost']);
+
+$redis->setOption(Redis::OPT_SCAN, Redis::SCAN_NORETRY);
+
+$it = NULL;
+
+do {
+    $keys = $redis->scan($it, '*zorg*');
+    foreach ($keys as $key) {
+        echo "KEY: $key\n";
+    }
+} while ($it != 0);
+
+$redis->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->scan($it, '*zorg*')) {
+    foreach ($keys as $key) {
+        echo "KEY: $key\n";
+    }
+}
+?>
+ + + +

See also

+ + + + + + + + + + +
+ https://redis.io/commands/scan +
+ +Redis::setOption +
+ + +
+
+ +
+
+

+ + Redis|int|false + scard(string $key) + +

+
+ + + +
+

Retrieve the number of members in a Redis set.

+
+
+

Parameters

+ + + + + + + +
string$key

The set to get the cardinality of.

+ + +

Return Value

+ + + + + + +
Redis|int|false

The cardinality of the set or false on failure.

+
<?php
+
+$redis = new Redis(['host' => 'localhost']);
+
+$redis->del('set');
+$redis->sadd('set', 'one', 'two', 'three', 'four', 'five');
+
+// Returns 5
+$redis->scard('set');
+?>
+ + + +

See also

+ + + + + + +
+ https://redis.io/commands/scard +
+ + +
+
+ +
+
+

+ + mixed + script(string $command, mixed ...$args) + +

+
+ + + +
+

An administrative command used to interact with LUA scripts stored on the server.

+
+
+

Parameters

+ + + + + + + + + + + + +
string$command

The script suboperation to execute.

mixed...$args

One ore more additional argument

+ + +

Return Value

+ + + + + + +
mixed

This command returns various things depending on the specific operation executed.

+
<?php
+$redis = new Redis(['host' => 'localhost']);
+
+$lua = sprintf("return %f", microtime(true));
+
+// array(1) {
+//   [0]=>
+//   int(0)
+// }
+var_dump($redis->script('exists', sha1($lua)));
+
+$redis->script('load', $lua);
+
+// array(1) {
+//   [0]=>
+//   int(1)
+// }
+var_dump($redis->script('exists', sha1($lua)));
+?>
+ + + +

See also

+ + + + + + +
+ https://redis.io/commands/script +
+ + +
+
+ +
+
+

+ + Redis|bool + select(int $db) + +

+
+ + + +
+

Select a specific Redis database.

+
+
+

Parameters

+ + + + + + + +
int$db

The database to select. Note that by default Redis has 16 databases (0-15).

+ + +

Return Value

+ + + + + + +
Redis|bool

true on success and false on failure

+
<?php
+$redis = new Redis(['host' => 'localhost']);
+
+$redis->select(1);
+$redis->set('this_is_db_1', 'test');
+
+$redis->select(0);
+var_dump($redis->exists('this_is_db_1'));
+
+$redis->select(1);
+var_dump($redis->exists('this_is_db_1'));
+
+// --- OUTPUT ---
+// int(0)
+// int(1)
+?>
+ + + + +
+
+ +
+
+

+ + Redis|string|bool + set(string $key, mixed $value, mixed $options = NULL) + +

+
+ + + +
+

Create or set a Redis STRING key to a value.

+
+
+

Parameters

+ + + + + + + + + + + + + + + + + +
string$key

The key name to set.

mixed$value

The value to set the key to.

mixed$options

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 SETEX command.

+

OPTION DESCRIPTION

+
+

['EX' => 60] expire 60 seconds. +['PX' => 6000] expire in 6000 milliseconds. +['EXAT' => time() + 10] expire in 10 seconds. +['PXAT' => time()*1000 + 1000] expire in 1 second. +['KEEPTTL' => 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 +OK return the previous value of the +key or NULL if the key didn't exist.

+ + +

Return Value

+ + + + + + +
Redis|string|bool

True if the key was set or false on failure.

+
<?php
+$redis = new Redis(['host' => 'localhost']);
+
+$redis->set('key', 'value');
+
+// Will actually send `SETEX 60 key value` to Redis.
+$redis->set('key', 'expires_in_60_seconds', 60);
+
+// Only have Redis set the key if it already exists.
+$redis->set('key', 'options_set', ['XX']);
+
+?>
+ + + +

See also

+ + + + + + + + + + +
+ https://redis.io/commands/set +
+ https://redis.io/commands/setex +
+ + +
+
+ +
+
+

+ + Redis|int|false + setBit(string $key, int $idx, bool $value) + +

+
+ + + +
+

Set a specific bit in a Redis string to zero or one

+
+
+

Parameters

+ + + + + + + + + + + + + + + + + +
string$key

The Redis STRING key to modify

int$idx
bool$value

Whether to set the bit to zero or one.

+ + +

Return Value

+ + + + + + +
Redis|int|false

The original value of the bit or false on failure.

+
<?php
+$redis = new Redis(['host' => 'localhost']);
+
+$redis->set('foo', 'bar');
+
+// Flip the 7th bit to 1
+$redis->setbit('foo', 7, 1);
+
+// The bit flip turned 'bar' -> 'car'
+$redis->get('foo');
+?>
+ + + +

See also

+ + + + + + +
+ https://redis.io/commands/setbit +
+ + +
+
+ +
+
+

+ + Redis|int|false + setRange(string $key, int $index, string $value) + +

+
+ + + +
+

Update or append to a Redis string at a specific starting index

+
+
+

Parameters

+ + + + + + + + + + + + + + + + + +
string$key

The key to update

int$index

Where to insert the provided value

string$value

The value to copy into the string.

+ + +

Return Value

+ + + + + + +
Redis|int|false

The new length of the string or false on failure

+
<?php
+$redis = new Redis(['host' => 'localhost']);
+
+$redis->set('message', 'Hello World');
+
+// Update 'Hello World' to 'Hello Redis'
+$redis->setRange('message', 6, 'Redis');
+?>
+ + + +

See also

+ + + + + + +
+ https://redis.io/commands/setrange +
+ + +
+
+ +
+
+

+ + bool + setOption(int $option, mixed $value) + +

+
+ + + +
+

Set a configurable option on the Redis object.

+
+
+

Parameters

+ + + + + + + + + + + + +
int$option

The option constant.

mixed$value

The option value.

+ + +

Return Value

+ + + + + + +
bool

True if the setting was updated, false if not.

+ + + +

See also

+ + + + + + + + + + +
+ +Redis::getOption + 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.
+ +Redis::__construct + for details about backoff strategies.
+ + +
+
+ +
+
+

+ + Redis|bool + setex(string $key, int $expire, mixed $value) + +

+
+ + + +
+

Set a Redis STRING key with a specific expiration in seconds.

+
+
+

Parameters

+ + + + + + + + + + + + + + + + + +
string$key

The name of the key to set.

int$expire

The key's expiration in seconds.

mixed$value

The value to set the key.

+ + +

Return Value

+ + + + + + +
Redis|bool

True on success or false on failure.

+
<?php
+$redis = new Redis(['host' => 'localhost']);
+
+// Set a key with a 60 second expiration
+$redis->set('some_key', 60, 'some_value');
+
+?>php
+ + + + +
+
+ +
+
+

+ + Redis|bool + setnx(string $key, mixed $value) + +

+
+ + + +
+

Set a key to a value, but only if that key does not already exist.

+
+
+

Parameters

+ + + + + + + + + + + + +
string$key

The key name to set.

mixed$value

What to set the key to.

+ + +

Return Value

+ + + + + + +
Redis|bool

Returns true if the key was set and false otherwise.

+
<?php
+$redis = new Redis(['host' => 'localhost']);
+
+$redis->del('new-key');
+$redis->set('existing-key', 'already-exists');
+
+// Key is new, returns 1
+$redis->setnx('key1', 'here-is-a-new-key');
+
+// Key exists, returns 0
+$redis->setnx('existing-key', 'new-value');
+?>
+ + + +

See also

+ + + + + + +
+ https://redis.io/commands/setnx +
+ + +
+
+ +
+
+

+ + Redis|bool + sismember(string $key, mixed $value) + +

+
+ + + +
+

Check whether a given value is the member of a Redis SET.

+
+
+

Parameters

+ + + + + + + + + + + + +
string$key

The redis set to check.

mixed$value

The value to test.

+ + +

Return Value

+ + + + + + +
Redis|bool

True if the member exists and false if not.

+
<?php
+$redis = new Redis(['host' => 'localhost']);
+
+$redis->multi()
+      ->del('myset')
+      ->sadd('myset', 'foo', 'bar', 'baz')
+      ->exec();
+
+// Will return true, as 'foo' is in the set
+$redis->sismember('myset', 'foo');
+
+// Will return false, as 'not-in-set' is not in the set
+$redis->sismember('myset', 'not-in-set');
+?>
+ + + + +
+
+ +
+
+

+ + Redis|bool + slaveof(string $host = NULL, int $port = 6379) + deprecated +

+
+

+ deprecated + + + + +

+ + + +
+

Turn a redis instance into a replica of another or promote a replica +to a primary.

This method and the corresponding command in Redis has been marked deprecated +and users should instead use Redis::replicaof() if connecting to redis-server

+
+

= 5.0.0.

+

+
+
+

Parameters

+ + + + + + + + + + + + +
string$host
int$port
+ + +

Return Value

+ + + + + + +
Redis|bool
+ + + +

See also

+ + + + + + + + + + + + + + +
+ https://redis.io/commands/slaveof +
+ https://redis.io/commands/replicaof +
+ +Redis::slaveof +
+ + +
+
+ +
+
+

+ + Redis|bool + replicaof(string $host = NULL, int $port = 6379) + +

+
+ + + +
+

Used to turn a Redis instance into a replica of another, or to remove +replica status promoting the instance to a primary.

+
+
+

Parameters

+ + + + + + + + + + + + +
string$host

The host of the primary to start replicating.

int$port

The port of the primary to start replicating.

+ + +

Return Value

+ + + + + + +
Redis|bool

Success if we were successfully able to start replicating a primary or +were able to promote teh replicat to a primary.

+
<?php
+$redis = new Redis(['host' => 'localhost']);
+
+// Attempt to become a replica of a Redis instance at 127.0.0.1:9999
+$redis->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->slaveof();
+?>
+ + + +

See also

+ + + + + + + + + + + + + + +
+ https://redis.io/commands/replicaof +
+ https://redis.io/commands/slaveof +
+ +Redis::slaveof +
+ + +
+
+ +
+
+

+ + Redis|int|false + touch(array|string $key_or_array, string ...$more_keys) + +

+
+ + + +
+

Update one or more keys last modified metadata.

+
+
+

Parameters

+ + + + + + + + + + + + +
array|string$key_or_array
string...$more_keys

One or more keys to send to the command.

+ + +

Return Value

+ + + + + + +
Redis|int|false

This command returns the number of keys that exist and +had their last modified time reset

+ + + +

See also

+ + + + + + +
+ https://redis.io/commands/touch/ +
+ + +
+
+ +
+
+

+ + mixed + slowlog(string $operation, int $length = 0) + +

+
+ + + +
+

Interact with Redis' slowlog functionality in various ways, depending +on the value of 'operation'.

+
+
+

Parameters

+ + + + + + + + + + + + +
string$operation

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.

+
<?php
+$redis->slowlog('get', -1);  // Retrieve all slowlog entries.
+$redis->slowlog('len');       // Retrieve slowlog length.
+$redis->slowlog('reset');     // Reset the slowlog.
+?>
int$length

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.

+

Note: With Redis >= 7.0.0 you can send -1 to mean "all".

+ + +

Return Value

+ + + + + + +
mixed
+ + + +

See also

+ + + + + + +
+ https://redis.io/commands/slowlog/ +
+ + +
+
+ +
+
+

+ + mixed + sort(string $key, array|null $options = null) + +

+
+ + + +
+

Sort the contents of a Redis key in various ways.

+
+
+

Parameters

+ + + + + + + + + + + + +
string$key

The key you wish to sort

array|null$options

Various options controlling how you would like the +data sorted. See blow for a detailed description +of this options array.

+ + +

Return Value

+ + + + + + +
mixed

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.

+
<?php
+$options = [
+    'SORT'  => 'ASC'|| 'DESC' // Sort in descending or descending order.
+    'ALPHA' => true || false  // Whether to sort alphanumerically.
+    'LIMIT' => [0, 10]        // Return a subset of the data at offset, count
+    'BY'    => 'weight_*'     // For each element in the key, read data from the
+                                 external key weight_* and sort based on that value.
+    'GET'   => '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'
+];
+?>
+ + + +

See also

+ + + + + + +
+ https://redis.io/commands/sort/ +
+ + +
+
+ +
+
+

+ + mixed + sort_ro(string $key, array|null $options = null) + +

+
+ + + +
+

This is simply a read-only variant of the sort command

+
+
+

Parameters

+ + + + + + + + + + + + +
string$key
array|null$options
+ + +

Return Value

+ + + + + + +
mixed
+ + + +

See also

+ + + + + + +
+ +Redis::sort +
+ + +
+
+ +
+
+

+ + array + sortAsc(string $key, string|null $pattern = null, mixed $get = null, int $offset = -1, int $count = -1, string|null $store = null) + deprecated +

+
+

+ deprecated + + + + +

+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
string$key
string|null$pattern
mixed$get
int$offset
int$count
string|null$store
+ + +

Return Value

+ + + + + + +
array
+ + + + +
+
+ +
+
+

+ + array + sortAscAlpha(string $key, string|null $pattern = null, mixed $get = null, int $offset = -1, int $count = -1, string|null $store = null) + deprecated +

+
+

+ deprecated + + + + +

+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
string$key
string|null$pattern
mixed$get
int$offset
int$count
string|null$store
+ + +

Return Value

+ + + + + + +
array
+ + + + +
+
+ +
+
+

+ + array + sortDesc(string $key, string|null $pattern = null, mixed $get = null, int $offset = -1, int $count = -1, string|null $store = null) + deprecated +

+
+

+ deprecated + + + + +

+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
string$key
string|null$pattern
mixed$get
int$offset
int$count
string|null$store
+ + +

Return Value

+ + + + + + +
array
+ + + + +
+
+ +
+
+

+ + array + sortDescAlpha(string $key, string|null $pattern = null, mixed $get = null, int $offset = -1, int $count = -1, string|null $store = null) + deprecated +

+
+

+ deprecated + + + + +

+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
string$key
string|null$pattern
mixed$get
int$offset
int$count
string|null$store
+ + +

Return Value

+ + + + + + +
array
+ + + + +
+
+ +
+
+

+ + Redis|int|false + srem(string $key, mixed $value, mixed ...$other_values) + +

+
+ + + +
+

Remove one or more values from a Redis SET key.

+
+
+

Parameters

+ + + + + + + + + + + + + + + + + +
string$key

The Redis SET key in question.

mixed$value

The first value to remove.

mixed...$other_values
+ + +

Return Value

+ + + + + + +
Redis|int|false

The number of values removed from the set or false on failure.

+
<?php
+$redis = new Redis(['host' => 'localhost']);
+
+$redis->pipeline()->del('set1')
+                  ->sadd('set1', 'foo', 'bar', 'baz')
+                  ->exec();
+
+var_dump($redis->sRem('set1', 'foo', 'bar', 'not-in-the-set'));
+
+// --- OUTPUT ---
+// int(2)
+?>
+ + + +

See also

+ + + + + + +
+ https://redis.io/commands/srem +
+ + +
+
+ +
+
+

+ + array|false + sscan(string $key, int|null $iterator, string|null $pattern = null, int $count = 0) + +

+
+ + + +
+

Scan the members of a redis SET key.

+
+
+

Parameters

+ + + + + + + + + + + + + + + + + + + + + + +
string$key

The Redis SET key in question.

int|null$iterator

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.

string|null$pattern

An optional glob style pattern to match against, so Redis only +returns the subset of members matching this pattern.

int$count

A hint to Redis as to how many members it should scan in one command +before returning members for that iteration.

+
$redis = new Redis(['host' => 'localhost']);
+
+$redis->del('myset');
+for ($i = 0; $i < 10000; $i++) {
+    $redis->sAdd('myset', "member:$i");
+}
+$redis->sadd('myset', 'foofoo');
+
+$redis->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->sscan('myset', $it, '*5*');
+    foreach ($members as $member) {
+         echo "NORETRY: $member\n";
+         $scanned++;
+    }
+} while ($it != 0);
+echo "TOTAL: $scanned\n";
+
+$redis->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->sscan('myset', $it, '*5*'))) {
+    foreach ($members as $member) {
+        echo "RETRY: $member\n";
+        $scanned++;
+    }
+}
+echo "TOTAL: $scanned\n";
+?>
+ + +

Return Value

+ + + + + + +
array|false
+ + + +

See also

+ + + + + + + + + + + + + + +
+ https://redis.io/commands/sscan +
+ https://redis.io/commands/scan +
+ +Redis::setOption +
+ + +
+
+ +
+
+

+ + Redis|int|false + strlen(string $key) + +

+
+ + + +
+

Retrieve the length of a Redis STRING key.

+
+
+

Parameters

+ + + + + + + +
string$key

The key we want the length of.

+ + +

Return Value

+ + + + + + +
Redis|int|false

The length of the string key if it exists, zero if it does not, and +false on failure.

+
<?php
+$redis = new Redis(['host' => 'localhost']);
+
+$redis->del('string');
+
+$redis->set('string', 'foo');
+
+// strlen('foo') == 3
+$redis->strlen('string');
+
+$redis->append('string', 'bar');
+
+// strlen('foobar') == 6
+$redis->strlen('string');
+
+?>
+ + + + +
+
+ +
+
+

+ + bool + subscribe(array $channels, callable $cb) + +

+
+ + + +
+

Subscribe to one or more Redis pubsub channels.

+
+
+

Parameters

+ + + + + + + + + + + + +
array$channels

One or more channel names.

callable$cb

The callback PhpRedis will invoke when we receive a message +from one of the subscribed channels.

+ + +

Return Value

+ + + + + + +
bool

True on success, false on faiilure. Note that this command will block the +client in a subscribe loop, waiting for messages to arrive.

+
<?php
+$redis = new Redis(['host' => 'localhost']);
+
+$redis->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->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";
+?>
+ + + + +
+
+ +
+
+

+ + Redis|bool + swapdb(int $src, int $dst) + +

+
+ + + +
+

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.

Note: This command simply swaps Redis' internal pointer to the database and is therefore +very fast, regardless of the size of the underlying databases.

+
+
+

Parameters

+ + + + + + + + + + + + +
int$src

The source database number

int$dst

The destination database number

+ + +

Return Value

+ + + + + + +
Redis|bool

Success if the databases could be swapped and false on failure.

+
<?php
+$redis = new Redis(['host' => 'localhost']);
+
+$redis->multi()->select(0)
+               ->set('db0-key1', 'value1')->set('db0-key2', 'value2')
+               ->select(1)
+               ->set('db1-key1', 'value1')->set('db1-key2', 'value2')
+               ->select(0)
+               ->exec();
+
+// Array
+// (
+//     [0] => db0-key1
+//     [1] => db0-key2
+// )
+print_r($redis->keys('*'));
+
+// Swap db0 and db1
+$redis->swapdb(0, 1);
+
+// Array
+// (
+//     [0] => db1-key2
+//     [1] => db1-key1
+// )
+print_r($redis->keys('*'));
+
+// Swap them back
+$redis->swapdb(0, 1);
+
+// Array
+// (
+//     [0] => db0-key1
+//     [1] => db0-key2
+// )
+print_r($redis->keys('*'));
+?>
+ + + +

See also

+ + + + + + + + + + +
+ https://redis.io/commands/swapdb +
+ +Redis::del +
+ + +
+
+ +
+
+

+ + Redis|array + time() + +

+
+ + + +
+

Retrieve the server time from the connected Redis instance.

+
+
+ +

Return Value

+ + + + + + +
Redis|array

two element array consisting of a Unix Timestamp and the number of microseconds +elapsed since the second.

+

+<?php
+$redis = new Redis(['host' => 'localhost']);
+
+// Array
+// (
+//     [0] => 1667271026
+//     [1] => 355678
+// )
+print_r($redis->time());
+ + + +

See also

+ + + + + + +
+ https://redis.io/commands/time +
+ + +
+
+ +
+
+

+ + Redis|int|false + ttl(string $key) + +

+
+ + + +
+

Get the amount of time a Redis key has before it will expire, in seconds.

+
+
+

Parameters

+ + + + + + + +
string$key

The Key we want the TTL for.

+ + +

Return Value

+ + + + + + +
Redis|int|false

(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.

+
<?php
+$redis = new Redis(['host' => 'localhost']);
+
+$redis->multi()
+      ->setex('expires_in_60s', 60, 'test')
+      ->set('doesnt_expire', 'persistent')
+      ->del('not_a_key')
+      ->exec();
+
+// Returns <= 60
+$redis->ttl('expires_in_60s');
+
+// Returns -1
+$redis->ttl('doesnt_expire');
+
+// Returns -2 (key doesn't exist)
+$redis->ttl('not_a_key');
+
+?>
+ + + + +
+
+ +
+
+

+ + Redis|int|false + type(string $key) + +

+
+ + + +
+

Get the type of a given Redis key.

+
+
+

Parameters

+ + + + + + + +
string$key

The key to check

+ + +

Return Value

+ + + + + + +
Redis|int|false

The Redis type constant or false on failure.

+

The Redis class defines several type constants that correspond with Redis key types.

+
Redis::REDIS_NOT_FOUND
+Redis::REDIS_STRING
+Redis::REDIS_SET
+Redis::REDIS_LIST
+Redis::REDIS_ZSET
+Redis::REDIS_HASH
+Redis::REDIS_STREAM
+ + + +

See also

+ + + + + + +
+ https://redis.io/commands/type +
+ + +
+
+ +
+
+ +
+ + + +
+

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.

+
+
+

Parameters

+ + + + + + + + + + + + +
array|string$key
string...$other_keys

If the first argument passed to this method was a string +you may pass any number of additional key names.

+ + +

Return Value

+ + + + + + +
Redis|int|false

The number of keys deleted or false on failure.

+
<?php
+$redis = new Redis(['host' => 'localhost']);
+
+// OPTION 1:  Called with a single array of keys
+$redis->unlink(['key1', 'key2', 'key3']);
+
+// OPTION 2:  Called with a variadic number of arguments
+$redis->unlink('key1', 'key2', 'key3');
+?>
+ + + +

See also

+ + + + + + + + + + + + + + +
+ https://redis.io/commands/unlink +
+ https://redis.io/commands/del +
+ +Redis::del +
+ + +
+
+ +
+
+

+ + Redis|array|bool + unsubscribe(array $channels) + +

+
+ + + +
+

Unsubscribe from one or more subscribed channels.

+
+
+

Parameters

+ + + + + + + +
array$channels
+ + +

Return Value

+ + + + + + +
Redis|array|bool
+ + + +

See also

+ + + + + + + + + + +
+ https://redis.io/commands/unsubscribe +
+ +Redis::subscribe +
+ + +
+
+ +
+
+

+ + Redis|bool + unwatch() + +

+
+ + + +
+

Remove any previously WATCH'ed keys in a transaction.

+
+
+ +

Return Value

+ + + + + + +
Redis|bool

on success and false on failure.

+ + + +

See also

+ + + + + + + + + + + + + + +
+ https://redis.io/commands/unwatch +
+ https://redis.io/commands/unwatch +
+ +Redis::watch +
+ + +
+
+ +
+
+

+ + bool|Redis + watch(array|string $key, string ...$other_keys) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + +
array|string$key
string...$other_keys
+ + +

Return Value

+ + + + + + +
bool|Redis
+ + + + +
+
+ +
+
+

+ + int|false + wait(int $numreplicas, int $timeout) + +

+
+ + + +
+

Block the client up to the provided timeout until a certain number of replicas have confirmed +recieving them.

+
+
+

Parameters

+ + + + + + + + + + + + +
int$numreplicas

The number of replicas we want to confirm write operaions

int$timeout

How long to wait (zero meaning forever).

+ + +

Return Value

+ + + + + + +
int|false

The number of replicas that have confirmed or false on failure.

+ + + +

See also

+ + + + + + +
+ https://redis.io/commands/wait +
+ + +
+
+ +
+
+

+ + int|false + xack(string $key, string $group, array $ids) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + + + + + + +
string$key
string$group
array$ids
+ + +

Return Value

+ + + + + + +
int|false
+ + + + +
+
+ +
+
+

+ + Redis|string|false + xadd(string $key, string $id, array $values, int $maxlen = 0, bool $approx = false, bool $nomkstream = false) + +

+
+ + + +
+

Append a message to a stream.

+
+
+

Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
string$key

The stream name.

string$id

The ID for the message we want to add. This can be the special value '' +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 - which will +generate an ID that appends to the end ot entries with the same value +(if any exist).

array$values
int$maxlen

If specified Redis will append the new message but trim any number of the +oldest messages in the stream until the length is <= $maxlen.

bool$approx

Used in conjunction with $maxlen, this flag tells Redis to trim the stream +but in a more efficient way, meaning the trimming may not be exactly to +$maxlen values.

bool$nomkstream

If passed as TRUE, the stream must exist for Redis to append the message.

+
</php
+<?php
+$redis = new Redis(['host' => 'localhost']);
+
+$redis->del('ds9-season-1');
+
+$redis->xAdd('ds9-season-1', '1-1', ['title' => 'Emissary Part 1']);
+$redis->xAdd('ds9-season-1', '1-2', ['title' => 'A Man Alone']);
+$redis->xAdd('ds9-season-1', '1-3', ['title' => 'Emissary Part 2']);
+$redis->xAdd('ds9-season-1', '1-4', ['title' => 'Past Prologue']);
+
+// Array
+// (
+//     [1-1] => Array
+//         (
+//             [title] => Emissary Part 1
+//         )
+//
+//     [1-2] => Array
+//         (
+//             [title] => A Man Alone
+//         )
+//
+// )
+$redis->xRange('ds9-season-1', '1-1', '1-2');
+?>
+?>
+ + +

Return Value

+ + + + + + +
Redis|string|false
+ + + +

See also

+ + + + + + +
+ https://redis.io/commands/xadd +
+ + +
+
+ +
+
+

+ + Redis|bool|array + xautoclaim(string $key, string $group, string $consumer, int $min_idle, string $start, int $count = -1, bool $justid = false) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
string$key
string$group
string$consumer
int$min_idle
string$start
int$count
bool$justid
+ + +

Return Value

+ + + + + + +
Redis|bool|array
+ + + + +
+
+ +
+
+

+ + Redis|bool|array + xclaim(string $key, string $group, string $consumer, int $min_idle, array $ids, array $options) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
string$key
string$group
string$consumer
int$min_idle
array$ids
array$options
+ + +

Return Value

+ + + + + + +
Redis|bool|array
+ + + + +
+
+ +
+
+

+ + Redis|int|false + xdel(string $key, array $ids) + +

+
+ + + +
+

Remove one or more specific IDs from a stream.

+
+
+

Parameters

+ + + + + + + + + + + + +
string$key

The stream to modify.

array$ids

One or more message IDs to remove.

+ + +

Return Value

+ + + + + + +
Redis|int|false

The number of messages removed or false on failure.

+
$redis = new Redis(['host' => 'localhost']);
+
+$redis->del('stream');
+
+for ($a = 1; $a <= 3; $a++) {
+    for ($b = 1; $b <= 2; $b++) {
+        $redis->xAdd('stream', "$a-$b", ['id' => "$a-$b"]);
+    }
+}
+
+// Remove some elements
+$redis->xDel('stream', ['1-1', '2-1', '3-1']);
+
+// Array
+// (
+//     [1-2] => Array
+//         (
+//             [id] => 1-2
+//         )
+//
+//     [2-2] => Array
+//         (
+//             [id] => 2-2
+//         )
+//
+//     [3-2] => Array
+//         (
+//             [id] => 3-2
+//         )
+//
+// )
+$redis->xRange('stream', '-', '+');
+?>
+ + + + +
+
+ +
+
+

+ + mixed + xgroup(string $operation, string $key = null, string $group = null, string $id_or_consumer = null, bool $mkstream = false, int $entries_read = -2) + +

+
+ + + +
+

XGROUP

Perform various operation on consumer groups for a particular Redis STREAM. What the command does +is primarily based on which operation is passed.

+
+
+

Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
string$operation

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.

string$key

The STREAM we're operating on.

string$group

The consumer group we want to create/modify/delete.

string$id_or_consumer

The STREAM id (e.g. '$') or consumer group. See the operation section +for information about which to send.

bool$mkstream

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.

int$entries_read
+ + +

Return Value

+ + + + + + +
mixed

This command return various results depending on the operation performed.

+ + + +

See also

+ + + + + + +
+ https://redis.io/commands/xgroup/ +
+ + +
+
+ +
+
+

+ + mixed + xinfo(string $operation, string|null $arg1 = null, string|null $arg2 = null, int $count = -1) + +

+
+ + + +
+

Retrieve information about a stream key.

+
+
+

Parameters

+ + + + + + + + + + + + + + + + + + + + + + +
string$operation

The specific info operation to perform.

string|null$arg1

The first argument (depends on operation)

string|null$arg2

The second argument

int$count

The COUNT argument to XINFO STREAM

+ + +

Return Value

+ + + + + + +
mixed

This command can return different things depending on the operation being called.

+
<?php
+$redis = new Redis(['host' => 'localhost']);
+
+$redis->del('stream');
+
+$redis->xAdd('stream', "0-1", ['payload' => '0-1']);
+$redis->xAdd('stream', "0-2", ['payload' => '0-2']);
+$redis->xAdd('stream', "0-3", ['payload' => '0-3']);
+
+// Retrieve any consmers for a given key
+$redis->xInfo('CONSUMERS', 'stream');
+
+// Retrieve any groups for a given key
+$redis->xInfo('GROUPS', 'stream');
+
+// Retrieve general stream information along with messages
+$redis->xInfo('STREAM', 'stream');
+?>
+ + + + +
+
+ +
+
+

+ + Redis|int|false + xlen(string $key) + +

+
+ + + +
+

Get the number of messages in a Redis STREAM key.

+
+
+

Parameters

+ + + + + + + +
string$key

The Stream to check.

+ + +

Return Value

+ + + + + + +
Redis|int|false

The number of messages or false on failure.

+
<?php
+$redis = new Redis(['host' => 'localhost']);
+
+$redis->del('stream');
+$redis->xadd('stream', '*', ['first' => 'message']);
+$redis->xadd('stream', '*', ['second' => 'message']);
+
+// int(2)
+$redis->xLen('stream');
+?>
+ + + +

See also

+ + + + + + +
+ https://redis.io/commands/xlen +
+ + +
+
+ +
+
+

+ + Redis|array|false + xpending(string $key, string $group, string|null $start = null, string|null $end = null, int $count = -1, string|null $consumer = null) + +

+
+ + + +
+

Interact with stream messages that have been consumed by a consumer group but not yet +acknowledged with XACK.

+
+
+

Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
string$key

The stream to inspect.

string$group

The user group we want to see pending messages from.

string|null$start

The minimum ID to consider.

string|null$end
int$count

Optional maximum number of messages to return.

string|null$consumer

If provided, limit the returned messages to a specific consumer.

+ + +

Return Value

+ + + + + + +
Redis|array|false

The pending messages belonging to the stream or false on failure.

+ + + +

See also

+ + + + + + + + + + +
+ https://redis.io/commands/xpending +
+ https://redis.io/commands/xreadgroup +
+ + +
+
+ +
+
+

+ + Redis|array|bool + xrange(string $key, string $start, string $end, int $count = -1) + +

+
+ + + +
+

Get a range of entries from a STREAM key.

+
+
+

Parameters

+ + + + + + + + + + + + + + + + + + + + + + +
string$key

The stream key name to list.

string$start

The minimum ID to return.

string$end

The maximum ID to return.

int$count

An optional maximum number of entries to return.

+ + +

Return Value

+ + + + + + +
Redis|array|bool

The entries in the stream within the requested range or false on failure.

+
<?php
+$redis = new Redis(['host' => 'localhost']);
+
+$redis->del('stream');
+
+for ($i = 0; $i < 2; $i++) {
+    for ($j = 1; $j <= 2; $j++) {
+        $redis->xAdd('stream', "$i-$j", ['message' => "$i:$j"]);
+    }
+}
+
+//Array
+//(
+//    [0-1] => Array
+//        (
+//            [message] => 0:1
+//        )
+//
+//    [0-2] => Array
+//        (
+//            [message] => 0:2
+//        )
+//
+//)
+$redis->xRange('stream', '0-1', '0-2');
+
+// '-' and '+' are special values which mean 'minimum possible',
+// and 'maximum possible' id, respectively.
+$redis->xRange('stream', '-', '+');
+?>
+ + + +

See also

+ + + + + + +
+ https://redis.io/commands/xrange +
+ + +
+
+ +
+
+

+ + Redis|array|bool + xread(array $streams, int $count = -1, int $block = -1) + +

+
+ + + +
+

Consume one or more unconsumed elements in one or more streams.

+
+
+

Parameters

+ + + + + + + + + + + + + + + + + +
array$streams

An associative array with stream name keys and minimum id values.

int$count

An optional limit to how many entries are returnd per stream

int$block

An optional maximum number of milliseconds to block the caller if no +data is available on any of the provided streams.

+
$redis = new Redis(['host' => 'localhost']);
+
+$redis->del('s03', 's03');
+
+$redis->xAdd('s03', '3-1', ['title' => 'The Search, Part I']);
+$redis->xAdd('s03', '3-2', ['title' => 'The Search, Part II']);
+$redis->xAdd('s03', '3-3', ['title' => 'The House Of Quark']);
+
+$redis->xAdd('s04', '4-1', ['title' => 'The Way of the Warrior']);
+$redis->xAdd('s04', '4-3', ['title' => 'The Visitor']);
+$redis->xAdd('s04', '4-4', ['title' => 'Hippocratic Oath']);
+
+// Array
+// (
+//     [s03] => Array
+//         (
+//             [3-3] => Array
+//                 (
+//                     [title] => The House Of Quark
+//                 )
+//
+//         )
+//
+//     [s04] => Array
+//         (
+//             [4-3] => Array
+//                 (
+//                     [title] => The Visitor
+//                 )
+//
+//             [4-4] => Array
+//                 (
+//                     [title] => Hippocratic Oath
+//                 )
+//
+//         )
+//
+// )
+print_r($redis->xRead(['s03' => '3-2', 's04' => '4-1']));
+ + +

Return Value

+ + + + + + +
Redis|array|bool
+ + + +

See also

+ + + + + + +
+ https://redis.io/commands/xread +
+ + +
+
+ +
+
+

+ + Redis|array|bool + xreadgroup(string $group, string $consumer, array $streams, int $count = 1, int $block = 1) + +

+
+ + + +
+

Read one or more messages using a consumer group.

+
+
+

Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
string$group

The consumer group to use.

string$consumer

The consumer to use.

array$streams

An array of stream names and message IDs

int$count

Optional maximum number of messages to return

int$block

How long to block if there are no messages available.

+ + +

Return Value

+ + + + + + +
Redis|array|bool

Zero or more unread messages or false on failure.

+
<?php
+
+$redis = new Redis(['host' => 'localhost']);
+
+$redis->del('episodes');
+
+// Create a consumer group (and stream)
+$redis->xGroup('CREATE', 'episodes', 'ds9', '0-0', true);
+
+// Add a couple of messages to the stream
+$redis->xAdd('episodes', '1-1', ['title' => 'Emissary: Part 1']);
+$redis->xAdd('episodes', '1-2', ['title' => 'A Man Alone']);
+
+// Now read some messages with our consumer group
+$messages = $redis->xReadGroup('ds9', 'sisko', ['episodes' => '>']);
+
+// After having read the two messages, add another
+$redis->xAdd('episodes', '1-3', ['title' => 'Emissary: Part 2']);
+
+// Acknowledge the first two read messages
+foreach ($messages as $stream => $stream_messages) {
+    $ids = array_keys($stream_messages);
+    $redis->xAck('stream', 'ds9', $ids);
+}
+
+// We can now pick up where we left off, and will only get the final message
+$msgs = $redis->xReadGroup('ds9', 'sisko', ['episodes' => '>']);
+
+// array(1) {
+//   ["episodes"]=>
+//   array(1) {
+//     ["1-3"]=>
+//     array(1) {
+//       ["title"]=>
+//       string(16) "Emissary: Part 2"
+//     }
+//   }
+// }
+var_dump($msgs);
+?>
+ + + + +
+
+ +
+
+

+ + Redis|array|bool + xrevrange(string $key, string $end, string $start, int $count = -1) + +

+
+ + + +
+

Get a range of entries from a STREAM ke in reverse cronological order.

+
+
+

Parameters

+ + + + + + + + + + + + + + + + + + + + + + +
string$key

The stream key to query.

string$end

The maximum message ID to include.

string$start

The minimum message ID to include.

int$count

An optional maximum number of messages to include.

+ + +

Return Value

+ + + + + + +
Redis|array|bool

The entries within the requested range, from newest to oldest.

+
<?php
+$redis = new Redis(['host' => 'localhost']);
+
+$redis->del('stream');
+
+for ($i = 0; $i < 2; $i++) {
+    for ($j = 1; $j <= 2; $j++) {
+        $redis->xAdd('stream', "$i-$j", ['message' => "$i:$j"]);
+    }
+}
+
+// Array
+// (
+//     [0-2] => Array
+//         (
+//             [message] => 0:2
+//         )
+//
+//     [0-1] => Array
+//         (
+//             [message] => 0:1
+//         )
+//
+// )
+$redis->xRevRange('stream', '0-2', '0-1');
+
+// '-' and '+' are special values which mean 'minimum possible',
+// and 'maximum possible' id, respectively.
+$redis->xRevRange('stream', '+', '-');
+?>
+ + + +

See also

+ + + + + + + + + + +
+ https://redis.io/commands/xrevrange +
+ https://redis.io/commands/xrange +
+ + +
+
+ +
+
+

+ + Redis|int|false + xtrim(string $key, string $threshold, bool $approx = false, bool $minid = false, int $limit = -1) + +

+
+ + + +
+

Truncate a STREAM key in various ways.

+
+
+

Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
string$key

The STREAM key to trim.

string$threshold

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.

bool$approx

Whether redis is allowed to do an approximate trimming of the stream. This is +more efficient for Redis given how streams are stored internally.

bool$minid

When set to true, users should pass a minimum ID to the $threshold argument.

int$limit

An optional upper bound on how many entries to trim during the command.

+
<?php
+$redis = new Redis(['host' => 'localhost']);
+
+$redis->del('stream');
+$redis->xAdd('stream', '1-1', ['one' => 'one']);
+$redis->xAdd('stream', '1-2', ['one' => 'two']);
+$redis->xAdd('stream', '2-1', ['two' => 'one']);
+$redis->xAdd('stream', '2-2', ['two' => 'two']);
+
+// Trim to three elemn
+$redis->xTrim('stream', 3);
+
+// Array
+// (
+//     [1-2] => Array
+//         (
+//             [one] => two
+//         )
+//
+//     [2-1] => Array
+//         (
+//             [two] => one
+//         )
+//
+//     [2-2] => Array
+//         (
+//             [two] => two
+//         )
+//
+// )
+$redis->xRange('stream', '-', '+');
+
+// Now let's trim everything older than '2-1'
+$redis->xTrim('stream', '2-1', false, true);
+
+// Array
+// (
+//     [2-1] => Array
+//         (
+//             [two] => one
+//         )
+//
+//     [2-2] => Array
+//         (
+//             [two] => two
+//         )
+//
+// )
+print_r($redis->xRange('stream', '-', '+'));
+?>
+ + +

Return Value

+ + + + + + +
Redis|int|false
+ + + +

See also

+ + + + + + +
+ https://redis.io/commands/xtrim +
+ + +
+
+ +
+
+

+ + Redis|int|false + zAdd(string $key, array|float $score_or_options, mixed ...$more_scores_and_mems) + +

+
+ + + +
+

Add one or more elements and scores to a Redis sorted set.

+
+
+

Parameters

+ + + + + + + + + + + + + + + + + +
string$key

The sorted set in question.

array|float$score_or_options

Either the score for the first element, or an array +containing one or more options for the operation.

mixed...$more_scores_and_mems

A variadic number of additional scores and members.

+

Following is information about the options that may be passed as the scond argument:

+
$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.
+
+

<?php +$redis = new Redis(['host' => 'localhost']);

+

$redis->del('zs');

+

// Add three new elements to our zset +$redis->zadd('zs', 1, 'first', 2, 'second', 3, 'third');

+

// Array +// ( +// [first] => 1 +// [second] => 2 +// [third] => 3 +// ) +$redis->zRange('zs', 0, -1, true);

+

// Update only existing elements. Note that 'new-element' isn't added +$redis->zAdd('zs', ['XX'], 8, 'second', 99, 'new-element');

+

// Array +// ( +// [first] => 1 +// [third] => 3 +// [second] => 8 +// ) +print_r($redis->zRange('zs', 0, -1, true)); +?>

+
+ + +

Return Value

+ + + + + + +
Redis|int|false
+ + + +

See also

+ + + + + + +
+ https://redis.io/commands/zadd +
+ + +
+
+ +
+
+

+ + Redis|int|false + zCard(string $key) + +

+
+ + + +
+

Return the number of elements in a sorted set.

+
+
+

Parameters

+ + + + + + + +
string$key

The sorted set to retreive cardinality from.

+ + +

Return Value

+ + + + + + +
Redis|int|false

The number of elements in the set or false on failure

+
<?php
+$redis = new Redis(['host' => 'localhost']);
+
+$redis->del('zs');
+$redis->zAdd('zs', 0, 'a', 1, 'b', 2, 'c');
+
+// count(['a', 'b', 'c']) == 3
+$redis->zCard('zs');
+?>
+ + + +

See also

+ + + + + + +
+ https://redis.io/commands/zcard +
+ + +
+
+ +
+
+

+ + Redis|int|false + zCount(string $key, string $start, string $end) + +

+
+ + + +
+

Count the number of members in a sorted set with scores inside a provided range.

+
+
+

Parameters

+ + + + + + + + + + + + + + + + + +
string$key

The sorted set to check.

string$start
string$end
+ + +

Return Value

+ + + + + + +
Redis|int|false
+ + + +

See also

+ + + + + + +
+ https://redis.io/commands/zcount +
+ + +
+
+ +
+
+

+ + Redis|float|false + zIncrBy(string $key, float $value, mixed $member) + +

+
+ + + +
+

Create or increment the score of a member in a Redis sorted set

+
+
+

Parameters

+ + + + + + + + + + + + + + + + + +
string$key

The sorted set in question.

float$value

How much to increment the score.

mixed$member
+ + +

Return Value

+ + + + + + +
Redis|float|false

The new score of the member or false on failure.

+
<?php
+$redis = new Redis(['host' => 'localhost']);
+
+$redis->del('zs');
+$redis->zAdd('zs', 0, 'apples', 2, 'bananas');
+
+// 2 + 5.0 == 7
+print_r($redis->zIncrBy('zs', 5.0, 'bananas'));
+
+// new element so 0 + 2.0 == 2
+print_r($redis->zIncrBy('zs', 2.0, 'eggplants'));
+?>
+ + + +

See also

+ + + + + + +
+ https://redis.io/commands/zincrby +
+ + +
+
+ +
+
+

+ + Redis|int|false + zLexCount(string $key, string $min, string $max) + +

+
+ + + +
+

Count the number of elements in a sorted set whos members fall within the provided +lexographical range.

+
+
+

Parameters

+ + + + + + + + + + + + + + + + + +
string$key

The sorted set to check.

string$min

The minimum matching lexographical string

string$max

The maximum matching lexographical string

+ + +

Return Value

+ + + + + + +
Redis|int|false

The number of members that fall within the range or false on failure.

+
<?php
+$redis = new Redis(['host' => 'localhost']);
+
+$redis->del('captains');
+$redis->zAdd('captains', 0, 'Janeway', 0, 'Kirk', 0, 'Picard', 0, 'Sisko', 0, 'Archer');
+
+count(['Archer', 'Janeway', 'Kirk', 'Picard']) == 4
+$redis->zLexCount('captains', '[A', '[S');
+
+count(['Kirk', 'Picard']) == 2
+$redis->zRangeByLex('captains', '[A', '[S', 2, 2);
+?>
+ + + +

See also

+ + + + + + +
+ https://redis.io/commands/zlexcount +
+ + +
+
+ +
+
+

+ + Redis|array|false + zMscore(string $key, mixed $member, mixed ...$other_members) + +

+
+ + + +
+

Retrieve the score of one or more members in a sorted set.

+
+
+

Parameters

+ + + + + + + + + + + + + + + + + +
string$key

The sorted set

mixed$member

The first member to return the score from

mixed...$other_members

One or more additional members to return the scores of.

+ + +

Return Value

+ + + + + + +
Redis|array|false

An array of the scores of the requested elements.

+
<?php
+$redis = new Redis(['host' => 'localhost']);
+
+$redis->del('zs');
+
+$redis->zAdd('zs', 0, 'zero', 1, 'one', 2, 'two', 3, 'three');
+
+// array(2) {
+//   [0]=>
+//   float(0)
+//   [1]=>
+//   float(2)
+// }
+$redis->zMScore('zs', 'zero', 'two');
+
+// array(2) {
+//   [0]=>
+//   float(1)
+//   [1]=>
+//   bool(false)
+// }
+$redis->zMScore('zs', 'one', 'not-a-member');
+?>
+ + + +

See also

+ + + + + + +
+ https://redis.io/commands/zmscore +
+ + +
+
+ +
+
+

+ + Redis|array|false + zPopMax(string $key, int $count = null) + +

+
+ + + +
+

Pop one or more of the highest scoring elements from a sorted set.

+
+
+

Parameters

+ + + + + + + + + + + + +
string$key

The sorted set to pop elements from.

int$count

An optional count of elements to pop.

+ + +

Return Value

+ + + + + + +
Redis|array|false

All of the popped elements with scores or false on fialure.

+
<?php
+$redis = new Redis(['host' => 'localhost']);
+
+$redis->del('zs');
+$redis->zAdd('zs', 0, 'zero', 1, 'one', 2, 'two', 3, 'three');
+
+// Array
+// (
+//     [three] => 3
+// )
+print_r($redis->zPopMax('zs'));
+
+// Array
+// (
+//     [two] => 2
+//     [one] => 1
+// )
+print_r($redis->zPopMax('zs', 2));
+?>
+ + + +

See also

+ + + + + + +
+ https://redis.io/commands/zpopmax +
+ + +
+
+ +
+
+

+ + Redis|array|false + zPopMin(string $key, int $count = null) + +

+
+ + + +
+

Pop one or more of the lowest scoring elements from a sorted set.

+
+
+

Parameters

+ + + + + + + + + + + + +
string$key

The sorted set to pop elements from.

int$count

An optional count of elements to pop.

+ + +

Return Value

+ + + + + + +
Redis|array|false

The popped elements with their scores or false on failure.

+
<?php
+$redis = new Redis(['host' => 'localhost']);
+
+$redis->del('zs');
+$redis->zAdd('zs', 0, 'zero', 1, 'one', 2, 'two', 3, 'three');
+
+// Array
+// (
+//     [zero] => 0
+// )
+$redis->zPopMin('zs');
+
+// Array
+// (
+//     [one] => 1
+//     [two] => 2
+// )
+$redis->zPopMin('zs', 2);
+?>
+ + + +

See also

+ + + + + + +
+ https://redis.io/commands/zpopmin +
+ + +
+
+ +
+
+

+ + Redis|array|false + zRange(string $key, mixed $start, mixed $end, array|bool|null $options = null) + +

+
+ + + +
+

Retrieve a range of elements of a sorted set between a start and end point.

How the command works in particular is greatly affected by the options that +are passed in.

+
+
+

Parameters

+ + + + + + + + + + + + + + + + + + + + + + +
string$key

The sorted set in question.

mixed$start

The starting index we want to return.

mixed$end

The final index we want to return.

array|bool|null$options

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.

+ + +

Return Value

+ + + + + + +
Redis|array|false

An array with matching elements or false on failure.

+

Detailed description of options array:

+
<?php
+$options = [
+    'WITHSCORES' => true,     // Return both scores and members.
+    'LIMIT'      => [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.
+];
+?>
+

Note: 'BYLEX' and 'BYSCORE' are mutually exclusive.

+ + + +

See also

+ + + + + + +
+ https://redis.io/commands/zrange/ +
+ + +
+
+ +
+
+

+ + Redis|array|false + zRangeByLex(string $key, string $min, string $max, int $offset = -1, int $count = -1) + +

+
+ + + +
+

Retrieve a range of elements from a sorted set by legographical range.

+
+
+

Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
string$key

The sorted set to retreive elements from

string$min

The minimum legographical value to return

string$max

The maximum legographical value to return

int$offset

An optional offset within the matching values to return

int$count

An optional count to limit the replies to (used in conjunction with offset)

+ + +

Return Value

+ + + + + + +
Redis|array|false

An array of matching elements or false on failure.

+
<?php
+$redis = new Redis(['host' => 'localhost']);
+
+$redis->del('captains');
+$redis->zAdd('captains', 0, 'Janeway', 0, 'Kirk', 0, 'Picard', 0, 'Sisko', 0, 'Archer');
+
+// Array
+// (
+//     [0] => Archer
+//     [1] => Janeway
+//     [2] => Kirk
+//     [3] => Picard
+// )
+$redis->zRangeByLex('captains', '[A', '[S');
+
+// Array
+// (
+//     [0] => Kirk
+//     [1] => Picard
+// )
+$redis->zRangeByLex('captains', '[A', '[S', 2, 2);
+?>
+ + + +

See also

+ + + + + + +
+ https://redis.io/commands/zrangebylex +
+ + +
+
+ +
+
+

+ + Redis|array|false + zRangeByScore(string $key, string $start, string $end, array $options = []) + +

+
+ + + +
+

Retrieve a range of members from a sorted set by their score.

+
+
+

Parameters

+ + + + + + + + + + + + + + + + + + + + + + +
string$key

The sorted set to query.

string$start

The minimum score of elements that Redis should return.

string$end

The maximum score of elements that Redis should return.

array$options

Options that change how Redis will execute the command.

+

OPTION TYPE MEANING +'WITHSCORES' bool Whether to also return scores. +'LIMIT' [offset, count] Limit the reply to a subset of elements.

+ + +

Return Value

+ + + + + + +
Redis|array|false

The number of matching elements or false on failure.

+
</php
+$redis = new Redis(['host' => 'localhost']);
+
+$redis->del('zs');
+
+for ($i = 0; $i < 50; $i++) {
+    $redis->zAdd('zs', $i, "mem:$i");
+}
+
+// Array
+// (
+//     [0] => mem:0
+//     [1] => mem:1
+//     [2] => mem:2
+//     [3] => mem:3
+//     [4] => mem:4
+// )
+$redis->zRangeByScore('zs', 0, 4);
+
+// Array
+// (
+//     [mem:20] => 20
+//     [mem:21] => 21
+//     [mem:22] => 22
+//     [mem:23] => 23
+//     [mem:24] => 24
+//     [mem:25] => 25
+//     [mem:26] => 26
+//     [mem:27] => 27
+//     [mem:28] => 28
+//     [mem:29] => 29
+//     [mem:30] => 30
+// )
+$redis->zRangeByScore('zs', 20, 30, ['WITHSCORES' => true]);
+
+// Array
+// (
+//     [mem:25] => 25
+//     [mem:26] => 26
+//     [mem:27] => 27
+//     [mem:28] => 28
+//     [mem:29] => 29
+// )
+$redis->zRangeByScore('zs', 20, 30, ['WITHSCORES' => true, 'LIMIT' => [5, 5]]);
+?>
+ + + +

See also

+ + + + + + +
+ https://redis.io/commands/zrangebyscore +
+ + +
+
+ +
+
+

+ + Redis|int|false + zrangestore(string $dstkey, string $srckey, string $start, string $end, array|bool|null $options = NULL) + +

+
+ + + +
+

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

+
+
+

Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
string$dstkey

The key to store the resulting element(s)

string$srckey

The source key with element(s) to retrieve

string$start

The starting index to store

string$end

The ending index to store

array|bool|null$options

Our options array that controls how the command will function.

+ + +

Return Value

+ + + + + + +
Redis|int|false

The number of elements stored in $dstkey or false on failure.

+

See Redis::zRange for a full description of the possible options.

+ + + +

See also

+ + + + + + + + + + +
+ https://redis.io/commands/zrange/ +
+ Redis::zRange +
+ + +
+
+ +
+
+

+ + Redis|string|array + zRandMember(string $key, array $options = null) + +

+
+ + + +
+

Retrieve one or more random members from a Redis sorted set.

+
+
+

Parameters

+ + + + + + + + + + + + +
string$key

The sorted set to pull random members from.

array$options

One or more options that determine exactly how the command operates.

+
                   OPTION       TYPE     MEANING
+                   'COUNT'      int      The number of random members to return.
+                   'WITHSCORES' bool     Whether to return scores and members instead of
+                                         just members.
+
<?php
+$redis = new Redis(['host' => 'localhost']);
+
+$redis->multi()->del('zs')->zadd('zs', 1, 'one', 2, 'two', 3, 'three')->exec();
+
+// Return two random members from our set, with scores
+$redis->zRandMember('zs', ['COUNT' => 2, 'WITHSCORES' => true]);
+
+?>
+ + +

Return Value

+ + + + + + +
Redis|string|array
+ + + +

See also

+ + + + + + +
+ https://redis.io/commands/zrandmember +
+ + +
+
+ +
+
+

+ + Redis|int|false + zRank(string $key, mixed $member) + +

+
+ + + +
+

Get the rank of a member of a sorted set, by score.

+
+
+

Parameters

+ + + + + + + + + + + + +
string$key

The sorted set to check.

mixed$member
+ + +

Return Value

+ + + + + + +
Redis|int|false
+ + + +

See also

+ + + + + + +
+ https://redis.io/commands/zrank +
+ + +
+
+ +
+
+

+ + Redis|int|false + zRem(mixed $key, mixed $member, mixed ...$other_members) + +

+
+ + + +
+

Remove one or more members from a Redis sorted set.

+
+
+

Parameters

+ + + + + + + + + + + + + + + + + +
mixed$key

The sorted set in question.

mixed$member

The first member to remove.

mixed...$other_members

One or more members to remove passed in a variadic fashion.

+ + +

Return Value

+ + + + + + +
Redis|int|false

The number of members that were actually removed or false on failure.

+

+<?php
+$redis = new Redis(['host' => 'localhost']);
+
+$redis->del('zs');
+
+for ($i = 0; $i < 10; $i++) {
+    $redis->zAdd('zs', $i, "mem:$i");
+}
+
+// Remove a few elements
+$redis->zRem('zs', 'mem:0', 'mem:1', 'mem:2', 'mem:6', 'mem:7', 'mem:8', 'mem:9');
+
+// Array
+// (
+//     [0] => mem:3
+//     [1] => mem:4
+//     [2] => mem:5
+// )
+$redis->zRange('zs', 0, -1);
+?>
+ + + +

See also

+ + + + + + +
+ https://redis.io/commands/zrem +
+ + +
+
+ +
+
+

+ + Redis|int|false + zRemRangeByLex(string $key, string $min, string $max) + +

+
+ + + +
+

Remove zero or more elements from a Redis sorted set by legographical range.

+
+
+

Parameters

+ + + + + + + + + + + + + + + + + +
string$key

The sorted set to remove elements from.

string$min

The start of the lexographical range to remove.

string$max

The end of the lexographical range to remove

+ + +

Return Value

+ + + + + + +
Redis|int|false

The number of elements removed from the set or false on failure.

+
<?php
+$redis = new Redis(['host' => 'localhost']);
+
+$redis->pipeline()->del('zs')
+               ->zAdd('zs', 1, 'apple', 2, 'banana', 3, 'carrot', 4, 'date', 5, 'eggplant')
+               ->exec();
+
+// Remove a* (inclusive) .. b* (exclusive), meaning 'apple' will be removed, but 'banana' not
+$redis->zRemRangeByLex('zs', '[a', '(b');
+
+// Array
+// (
+//     [0] => banana
+//     [1] => carrot
+//     [2] => date
+//     [3] => eggplant
+// )
+print_r($redis->zRange('zs', 0, -1));
+
+// Remove the elements between 'banana' and 'eggplant'
+$redis->zRemRangeByLex('zs', '(banana', '(eggplant');
+
+// Array
+// (
+//     [0] => banana
+//     [1] => eggplant
+// )
+print_r($redis->zRange('zs', 0, -1));
+?>
+ + + +

See also

+ + + + + + + + + + +
+ https://redis.io/commands/zremrangebylex +
+ \Redis::zrangebylex() +
+ + +
+
+ +
+
+

+ + Redis|int|false + zRemRangeByRank(string $key, int $start, int $end) + +

+
+ + + +
+

Remove one or more members of a sorted set by their rank.

+
+
+

Parameters

+ + + + + + + + + + + + + + + + + +
string$key

The sorted set where we wnat to remove members.

int$start

The rank when we want to start removing members

int$end

The rank we want to stop removing membersk.

+ + +

Return Value

+ + + + + + +
Redis|int|false

The number of members removed from the set or false on failure.

+
<?php
+$redis = new Redis(['host' => 'localhost']);
+
+$redis->del('zs');
+$redis->zAdd('zs', 0, 'zeroth', 1, 'first', 2, 'second', 3, 'third', 4, 'fourth');
+
+// Remove ranks 0..3
+$redis->zRemRangeByRank('zs', 0, 3);
+
+// Array
+// (
+//     [0] => fourth
+// )
+$redis->zRange('zs', 0, -1);
+?>
+ + + +

See also

+ + + + + + +
+ https://redis.io/commands/zremrangebyrank +
+ + +
+
+ +
+
+

+ + Redis|int|false + zRemRangeByScore(string $key, string $start, string $end) + +

+
+ + + +
+

Remove one or more members of a sorted set by their score.

+
+
+

Parameters

+ + + + + + + + + + + + + + + + + +
string$key

The sorted set where we wnat to remove members.

string$start

The lowest score to remove.

string$end

The highest score to remove.

+ + +

Return Value

+ + + + + + +
Redis|int|false

The number of members removed from the set or false on failure.

+
<?php
+$redis = new Redis(['host' => 'localhost']);
+
+$redis->del('zs');
+$redis->zAdd('zs', 3, 'three', 5, 'five', 7, 'seven', 7, 'seven-again', 13, 'thirteen', 22, 'twenty-two');
+
+// Removes every member with scores >= 7 and scores <= 13.
+$redis->zRemRangeByScore('zs', 7, 13);
+
+// Array
+// (
+//     [0] => three
+//     [1] => five
+//     [2] => twenty-two
+// )
+$redis->zRange('zs', 0, -1);
+?>
+ + + +

See also

+ + + + + + +
+ https://redis.io/commands/zremrangebyrank +
+ + +
+
+ +
+
+

+ + Redis|array|false + zRevRange(string $key, int $start, int $end, mixed $scores = null) + +

+
+ + + +
+

List the members of a Redis sorted set in reverse order

+
+
+

Parameters

+ + + + + + + + + + + + + + + + + + + + + + +
string$key

The sorted set in question.

int$start

The index to start listing elements

int$end

The index to stop listing elements.

mixed$scores
+ + +

Return Value

+ + + + + + +
Redis|array|false

The members (and possibly scores) of the matching elements or false +on failure.

+

$redis = new Redis(['host' => 'localhost']);

+

$redis->del('zs'); +$redis->zAdd('zs', 1, 'one', 2, 'two', 5, 'five', 10, 'ten');

+

// Array +// ( +// [0] => ten +// [1] => five +// [2] => two +// [3] => one +// ) +print_r($redis->zRevRange('zs', 0, -1));

+

// Array +// ( +// [0] => two +// [1] => one +// ) +print_r($redis->zRevRange('zs', 2, 3));

+

// Additionally, you may pass true or ['withscores' => true] to tell redis to return scores +// as well as members. +$redis->zRevRange('zs', 0, -1, true); +$redis->zRevRange('zs', 0, -1, ['withscores' => true]); +?>

+
+ + + + +
+
+ +
+
+

+ + Redis|array|false + zRevRangeByLex(string $key, string $max, string $min, int $offset = -1, int $count = -1) + +

+
+ + + +
+

List members of a Redis sorted set within a legographical range, in reverse order.

+
+
+

Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
string$key

The sorted set to list

string$max
string$min

The maximum legographical element to include in the result.

int$offset

An option offset within the matching elements to start at.

int$count

An optional count to limit the replies to.

+ + +

Return Value

+ + + + + + +
Redis|array|false

The matching members or false on failure.

+
<?php
+
+$redis = new Redis(['host' => 'localhost']);
+
+$redis->del('captains');
+$redis->zAdd('captains', 0, 'Janeway', 0, 'Picard', 0, 'Kirk', 0, 'Archer');
+
+// Array
+// (
+//     [0] => Picard
+//     [1] => Kirk
+//     [2] => Janeway
+// )
+$redis->zRevRangeByLex('captains', '[Q', '[J');
+
+// Array
+// (
+//     [0] => Kirk
+//     [1] => Janeway
+// )
+$redis->zRevRangeByLex('captains', '[Q', '[J', 1, 2);
+?>
+ + + +

See also

+ + + + + + + + + + +
+ https://redis.io/commands/zrevrangebylex +
+ \Redis::zrangebylex() +
+ + +
+
+ +
+
+

+ + Redis|array|false + zRevRangeByScore(string $key, string $max, string $min, array|bool $options = []) + +

+
+ + + +
+

List elements from a Redis sorted set by score, highest to lowest

+
+
+

Parameters

+ + + + + + + + + + + + + + + + + + + + + + +
string$key

The sorted set to query.

string$max

The highest score to include in the results.

string$min

The lowest score to include in the results.

array|bool$options

An options array that modifies how the command executes.

+
$options = [
+    'WITHSCORES' => true|false # Whether or not to return scores
+    'LIMIT' => [offset, count] # Return a subset of the matching members
+];
+

NOTE: For legacy reason, you may also simply pass true for the +options argument, to mean WITHSCORES.

+ + +

Return Value

+ + + + + + +
Redis|array|false

The matching members in reverse order of score or false on failure.

+
<?php
+$redis = new Redis(['host' => 'localhost']);
+
+$redis->del('oldest-people');
+
+$redis->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] => Kane Tanaka
+//     [1] => Sarah Knauss
+// )
+$redis->zRevRangeByScore('oldest-people', 122, 119);
+
+//Array
+//(
+//    [0] => Jeanne Calment
+//    [1] => Kane Tanaka
+//    [2] => Sarah Knauss
+//    [3] => Lucile Randon
+//)
+$redis->zRevRangeByScore('oldest-people', 'inf', 118);
+
+// Array
+// (
+//     [0] => Emma Morano
+// )
+$redis->zRevRangeByScore('oldest-people', '117.5', '-inf', ['LIMIT' => [0, 1]]);
+?>
+ + + + +
+
+ +
+
+

+ + Redis|int|false + zRevRank(string $key, mixed $member) + +

+
+ + + +
+

Retrieve a member of a sorted set by reverse rank.

+
+
+

Parameters

+ + + + + + + + + + + + +
string$key

The sorted set to query.

mixed$member

The member to look up.

+ + +

Return Value

+ + + + + + +
Redis|int|false

The reverse rank (the rank if counted high to low) of the member or +false on failure.

+
<?php
+$redis = new Redis(['host' => 'localhost']);
+
+$redis->del('ds9-characters');
+
+$redis->zAdd('ds9-characters', 10, 'Sisko', 9, 'Garak', 8, 'Dax', 7, 'Odo');
+
+// Highest score, reverse rank 0
+$redis->zrevrank('ds9-characters', 'Sisko');
+
+// Second highest score, reverse rank 1
+$redis->zrevrank('ds9-characters', 'Garak');
+?>
+ + + +

See also

+ + + + + + +
+ https://redis.io/commands/zrevrank +
+ + +
+
+ +
+
+

+ + Redis|float|false + zScore(string $key, mixed $member) + +

+
+ + + +
+

Get the score of a member of a sorted set.

+
+
+

Parameters

+ + + + + + + + + + + + +
string$key

The sorted set to query.

mixed$member

The member we wish to query.

+ + +

Return Value

+ + + + + + +
Redis|float|false

score of the requested element or false if it is not found.

+
<?php
+$redis = new Redis(['host' => 'localhost']);
+
+$redis->del('telescopes');
+
+$redis->zAdd('telescopes', 11.9, 'LBT', 10.4, 'GTC', 10, 'HET');
+
+foreach ($redis->zRange('telescopes', 0, -1) as $name) {
+    // Get the score for this member
+    $aperature = $redis->zScore('telescopes', $name);
+
+    echo "The '$name' telescope has an effective aperature of: $aperature meters\n";
+}
+?>
+ + + +

See also

+ + + + + + +
+ https://redis.io/commands/zscore +
+ + +
+
+ +
+
+

+ + Redis|array|false + zdiff(array $keys, array $options = null) + +

+
+ + + +
+

Given one or more sorted set key names, return every element that is in the first +set but not any of the others.

+
+
+

Parameters

+ + + + + + + + + + + + +
array$keys

One ore more sorted sets.

array$options

An array which can contain ['WITHSCORES' => true] if you want Redis to +return members and scores.

+ + +

Return Value

+ + + + + + +
Redis|array|false

An array of members or false on failure.

+
<?php
+$redis = new Redis(['host' => 'localhost']);
+
+$redis->del('primes', 'evens', 'mod3');
+
+$redis->zAdd('primes', 1, 'one', 3, 'three', 5, 'five');
+$redis->zAdd('evens', 2, 'two', 4, 'four');
+$redis->zAdd('mod3', 3, 'three', 6, 'six');
+
+// Array
+// (
+//     [0] => one
+//     [1] => five
+// )
+print_r($redis->zDiff(['primes', 'evens', 'mod3']));
+?>
+ + + +

See also

+ + + + + + +
+ https://redis.io/commands/zdiff +
+ + +
+
+ +
+
+

+ + Redis|int|false + zdiffstore(string $dst, array $keys) + +

+
+ + + +
+

Store the difference of one or more sorted sets in a destination sorted set.

+
+
+

Parameters

+ + + + + + + + + + + + +
string$dst
array$keys

One or more source key names

+ + +

Return Value

+ + + + + + +
Redis|int|false

The number of elements stored in the destination set or false on +failure.

+

NOTE: See Redis::zdiff() for a more detailed description of how the diff operation works.

+ + + +

See also

+ + + + + + + + + + +
+ https://redis.io/commands/zdiff +
+ +Redis::zdiff +
+ + +
+
+ +
+
+

+ + Redis|array|false + zinter(array $keys, array|null $weights = null, array|null $options = null) + +

+
+ + + +
+

Compute the intersection of one or more sorted sets and return the members

+
+
+

Parameters

+ + + + + + + + + + + + + + + + + +
array$keys

One ore more sorted sets.

array|null$weights

An optional array of weights to be applied to each set when performing +the intersection.

array|null$options

Options for how Redis should combine duplicate elements when performing the +intersection. See Redis::zunion() for details.

+ + +

Return Value

+ + + + + + +
Redis|array|false

All of the members that exist in every set.

+
<?php
+
+$redis = new Redis(['host' => 'localhost']);
+
+$redis->del('tng', 'ds9');
+
+$redis->zAdd('TNG', 2, 'Worf', 2.5, 'Data', 4.0, 'Picard');
+$redis->zAdd('DS9', 2.5, 'Worf', 3.0, 'Kira', 4.0, 'Sisko');
+
+// Array
+// (
+//     [0] => Worf
+// )
+$redis->zInter(['TNG', 'DS9']);
+
+// Array
+// (
+//     [Worf] => 4.5
+// )
+$redis->zInter(['TNG', 'DS9'], NULL, ['withscores' => true]);
+
+// Array
+// (
+//     [Worf] => 2.5
+// )
+$redis->zInter(['TNG', 'DS9'], NULL, ['withscores' => true, 'aggregate' => 'max']);
+
+?>
+ + + +

See also

+ + + + + + +
+ https://redis.io/commands/zinter +
+ + +
+
+ +
+
+

+ + Redis|int|false + zintercard(array $keys, int $limit = -1) + +

+
+ + + +
+

Similar to ZINTER but instead of returning the intersected values, this command returns the +cardinality of the intersected set.

+
+
+

Parameters

+ + + + + + + + + + + + +
array$keys

One ore more sorted set key names.

int$limit

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.

+ + +

Return Value

+ + + + + + +
Redis|int|false

The cardinality of the intersection or false on failure.

+
<?php
+$redis = new Redis(['host' => 'localhost']);
+
+$redis->del('zs1', 'zs2');
+
+$redis->zAdd('zs1', 1, 'one', 2, 'two', 3, 'three', 4, 'four');
+$redis->zAdd('zs2', 2, 'two', 4, 'four');
+
+// count(['two', 'four']) == 2
+$redis->zInterCard(['zs1', 'zs2']);
+?>
+ + + +

See also

+ + + + + + + + + + + + + + +
+ https://redis.io/commands/zintercard +
+ https://redis.io/commands/zinter +
+ +Redis::zinter +
+ + +
+
+ +
+
+

+ + Redis|int|false + zinterstore(string $dst, array $keys, array|null $weights = null, string|null $aggregate = null) + +

+
+ + + +
+

Compute the intersection of one ore more sorted sets storing the result in a new sorted set.

+
+
+

Parameters

+ + + + + + + + + + + + + + + + + + + + + + +
string$dst

The destination sorted set to store the intersected values.

array$keys

One ore more sorted set key names.

array|null$weights

An optional array of floats to weight each passed input set.

string|null$aggregate

An optional aggregation method to use.

+

'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.

+ + +

Return Value

+ + + + + + +
Redis|int|false

The total number of members writtern to the destination set or false on failure.

+

+<?php
+$redis = new Redis(['host' => 'localhost']);
+
+$redis->del('zs', 'zs2', 'zs3');
+$redis->zAdd('zs1', 3, 'apples', 2, 'pears');
+$redis->zAdd('zs2', 4, 'pears', 3, 'bananas');
+$redis->zAdd('zs3', 2, 'figs', 3, 'pears');
+
+// Returns 1 (only 'pears' is in every set)
+$redis->zInterStore('fruit-sum', ['zs1', 'zs2', 'zs3']);
+
+// Array
+// (
+//     [pears] => 9
+// )
+$redis->zRange('fruit-sum', 0, -1, true);
+
+$redis->zInterStore('fruit-max', ['zs1', 'zs2', 'zs3'], NULL, 'MAX');
+
+// Array
+// (
+//     [pears] => 4
+// )
+print_r($redis->zRange('fruit-max', 0, -1, true));
+?>
+ + + +

See also

+ + + + + + + + + + +
+ https://redis.io/commands/zinterstore +
+ https://redis.io/commands/zinter +
+ + +
+
+ +
+
+

+ + Redis|array|false + zscan(string $key, int|null $iterator, string|null $pattern = null, int $count = 0) + +

+
+ + + +
+

Scan the members of a sorted set incrementally, using a cursor

+
+
+

Parameters

+ + + + + + + + + + + + + + + + + + + + + + +
string$key

The sorted set to scan.

int|null$iterator

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

string|null$pattern

An optional glob-style pattern that limits which members are returned during +the scanning process.

int$count

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.

+ + +

Return Value

+ + + + + + +
Redis|array|false

An array of elements or false on failure.

+

NOTE: See Redis::scan() for detailed example code on how to call SCAN like commands.

+ + + +

See also

+ + + + + + + + + + + + + + +
+ https://redis.io/commands/zscan +
+ https://redis.io/commands/scan +
+ +Redis::scan +
+ + +
+
+ +
+
+

+ + Redis|array|false + zunion(array $keys, array|null $weights = null, array|null $options = null) + +

+
+ + + +
+

Retrieve the union of one or more sorted sets

+
+
+

Parameters

+ + + + + + + + + + + + + + + + + +
array$keys

One ore more sorted set key names

array|null$weights

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.

array|null$options

An array that modifies how this command functions.

+
$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' => 'sum' | 'min' | 'max'
+
+    // Whether Redis should also return each members aggregated score.
+    'WITHSCORES' => true | false
+]
+ + +

Return Value

+ + + + + + +
Redis|array|false

The union of each sorted set or false on failure

+
<?php
+$redis = new Redis(['host' => 'localhost']);
+
+$redis->del('store1', 'store2', 'store3');
+$redis->zAdd('store1', 1, 'apples', 3, 'pears', 6, 'bananas');
+$redis->zAdd('store2', 3, 'apples', 5, 'coconuts', 2, 'bananas');
+$redis->zAdd('store3', 2, 'bananas', 6, 'apples', 4, 'figs');
+
+// Array
+// (
+//     [pears] => 3
+//     [figs] => 4
+//     [coconuts] => 5
+//     [apples] => 10
+//     [bananas] => 10
+// )
+$redis->zUnion(['store1', 'store2', 'store3'], NULL, ['withscores' => true]);
+
+// Array
+// (
+//     [figs] => 2
+//     [apples] => 5
+//     [pears] => 6
+//     [bananas] => 13
+// )
+$redis->zUnion(['store1', 'store3'], [2, .5], ['withscores' => true]);
+
+// Array
+// (
+//     [bananas] => 1
+//     [apples] => 2
+//     [figs] => 2
+//     [pears] => 6
+// )
+$redis->zUnion(['store1', 'store3'], [2, .5], ['withscores' => true, 'aggregate' => 'MIN']);
+?>
+ + + + +
+
+ +
+
+

+ + Redis|int|false + zunionstore(string $dst, array $keys, array|null $weights = NULL, string|null $aggregate = NULL) + +

+
+ + + +
+

Perform a union on one or more Redis sets and store the result in a destination sorted set.

+
+
+

Parameters

+ + + + + + + + + + + + + + + + + + + + + + +
string$dst

The destination set to store the union.

array$keys

One or more input keys on which to perform our union.

array|null$weights

An optional weights array used to weight each input set.

string|null$aggregate

An optional modifier in how Redis will combine duplicate members. +Valid: 'MIN', 'MAX', 'SUM'.

+ + +

Return Value

+ + + + + + +
Redis|int|false

The number of members stored in the destination set or false on failure.

+
<?php
+$redis = new Redis(['host' => 'localhost']);
+
+$redis->del('zs1', 'zs2', 'zs3');
+
+$redis->zAdd('zs1', 1, 'one', 3, 'three');
+$redis->zAdd('zs1', 2, 'two', 4, 'four');
+$redis->zadd('zs3', 1, 'one', 7, 'five');
+
+// count(['one','two','three','four','five']) == 5
+$redis->zUnionStore('dst', ['zs1', 'zs2', 'zs3']);
+
+// Array
+// (
+//     [0] => one
+//     [1] => two
+//     [2] => three
+//     [3] => four
+//     [4] => five
+// )
+$redis->zRange('dst', 0, -1);
+?>
+ + + +

See also

+ + + + + + + + + + +
+ https://redis.io/commands/zunionstore +
+ +Redis::zunion +
+ + +
+
+ +
+
+ + +
+
+ + + diff --git a/docs/RedisArray.html b/docs/RedisArray.html new file mode 100644 index 0000000..43becf9 --- /dev/null +++ b/docs/RedisArray.html @@ -0,0 +1,1739 @@ + + + + + + RedisArray | PhpRedis API + + + + + + + + + + + + + + + + + +
+
+
+ +
+ + +
+
+
+ +
+ +
+
+ + +
+ + + +

class + RedisArray (View source) +

+ + + + + + + + + +

Methods

+ +
+
+
+ mixed +
+
+ __call(string $function_name, array $arguments) + +

No description

+
+
+
+
+
+ +
+
+ __construct(string|array $name_or_hosts, array $options = NULL) + +

No description

+
+
+
+
+
+ bool|array +
+
+ _continuum() + +

No description

+
+
+
+
+
+ bool|callable +
+
+ _distributor() + +

No description

+
+
+
+
+
+ bool|callable +
+
+ _function() + +

No description

+
+
+
+
+
+ bool|array +
+
+ _hosts() + +

No description

+
+
+
+
+
+ bool|null|Redis +
+
+ _instance(string $host) + +

No description

+
+
+
+
+
+ bool|null +
+
+ _rehash(callable $fn = NULL) + +

No description

+
+
+
+
+
+ bool|string|null +
+
+ _target(string $key) + +

No description

+
+
+
+
+
+ array +
+
+ bgsave() + +

No description

+
+
+
+
+
+ bool|int +
+
+ del(string|array $key, string ...$otherkeys) + +

No description

+
+
+
+
+
+ bool|null +
+
+ discard() + +

No description

+
+
+
+
+
+ bool|null +
+
+ exec() + +

No description

+
+
+
+
+
+ bool|array +
+
+ flushall() + +

No description

+
+
+
+
+
+ bool|array +
+
+ flushdb() + +

No description

+
+
+
+
+
+ bool|array +
+
+ getOption(int $opt) + +

No description

+
+
+
+
+
+ bool|array +
+
+ hscan(string $key, int|null $iterator, string|null $pattern = null, int $count = 0) + +

No description

+
+
+
+
+
+ bool|array +
+
+ info() + +

No description

+
+
+
+
+
+ bool|array +
+
+ keys(string $pattern) + +

No description

+
+
+
+
+
+ bool|array +
+
+ mget(array $keys) + +

No description

+
+
+
+
+
+ bool +
+
+ mset(array $pairs) + +

No description

+
+
+
+
+
+ bool|RedisArray +
+
+ multi(string $host, int $mode = NULL) + +

No description

+
+
+
+
+
+ bool|array +
+
+ ping() + +

No description

+
+
+
+
+
+ bool|array +
+
+ save() + +

No description

+
+
+
+
+
+ bool|array +
+
+ scan(int|null $iterator, string $node, string|null $pattern = null, int $count = 0) + +

No description

+
+
+
+
+
+ bool|array +
+
+ select(int $index) + +

No description

+
+
+
+
+
+ bool|array +
+
+ setOption(int $opt, string $value) + +

No description

+
+
+
+
+
+ bool|array +
+
+ sscan(string $key, int|null $iterator, string|null $pattern = null, int $count = 0) + +

No description

+
+
+
+
+
+ bool|int +
+
+ unlink(string|array $key, string ...$otherkeys) + +

No description

+
+
+
+
+
+ bool|null +
+
+ unwatch() + +

No description

+
+
+
+
+
+ bool|array +
+
+ zscan(string $key, int|null $iterator, string|null $pattern = null, int $count = 0) + +

No description

+
+
+
+
+ + +

Details

+ +
+
+

+ + mixed + __call(string $function_name, array $arguments) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + +
string$function_name
array$arguments
+ + +

Return Value

+ + + + + + +
mixed
+ + + + +
+
+ +
+
+

+ + + __construct(string|array $name_or_hosts, array $options = NULL) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + +
string|array$name_or_hosts
array$options
+ + + + + +
+
+ +
+
+

+ + bool|array + _continuum() + +

+
+ + + +
+

No description

+ +
+
+ +

Return Value

+ + + + + + +
bool|array
+ + + + +
+
+ +
+
+

+ + bool|callable + _distributor() + +

+
+ + + +
+

No description

+ +
+
+ +

Return Value

+ + + + + + +
bool|callable
+ + + + +
+
+ +
+
+

+ + bool|callable + _function() + +

+
+ + + +
+

No description

+ +
+
+ +

Return Value

+ + + + + + +
bool|callable
+ + + + +
+
+ +
+
+

+ + bool|array + _hosts() + +

+
+ + + +
+

No description

+ +
+
+ +

Return Value

+ + + + + + +
bool|array
+ + + + +
+
+ +
+
+

+ + bool|null|Redis + _instance(string $host) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + +
string$host
+ + +

Return Value

+ + + + + + +
bool|null|Redis
+ + + + +
+
+ +
+
+

+ + bool|null + _rehash(callable $fn = NULL) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + +
callable$fn
+ + +

Return Value

+ + + + + + +
bool|null
+ + + + +
+
+ +
+
+

+ + bool|string|null + _target(string $key) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + +
string$key
+ + +

Return Value

+ + + + + + +
bool|string|null
+ + + + +
+
+ +
+
+

+ + array + bgsave() + +

+
+ + + +
+

No description

+ +
+
+ +

Return Value

+ + + + + + +
array
+ + + + +
+
+ +
+
+

+ + bool|int + del(string|array $key, string ...$otherkeys) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + +
string|array$key
string...$otherkeys
+ + +

Return Value

+ + + + + + +
bool|int
+ + + + +
+
+ +
+
+

+ + bool|null + discard() + +

+
+ + + +
+

No description

+ +
+
+ +

Return Value

+ + + + + + +
bool|null
+ + + + +
+
+ +
+
+

+ + bool|null + exec() + +

+
+ + + +
+

No description

+ +
+
+ +

Return Value

+ + + + + + +
bool|null
+ + + + +
+
+ +
+
+

+ + bool|array + flushall() + +

+
+ + + +
+

No description

+ +
+
+ +

Return Value

+ + + + + + +
bool|array
+ + + + +
+
+ +
+
+

+ + bool|array + flushdb() + +

+
+ + + +
+

No description

+ +
+
+ +

Return Value

+ + + + + + +
bool|array
+ + + + +
+
+ +
+
+

+ + bool|array + getOption(int $opt) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + +
int$opt
+ + +

Return Value

+ + + + + + +
bool|array
+ + + + +
+
+ +
+
+

+ + bool|array + hscan(string $key, int|null $iterator, string|null $pattern = null, int $count = 0) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + + + + + + + + + + + +
string$key
int|null$iterator
string|null$pattern
int$count
+ + +

Return Value

+ + + + + + +
bool|array
+ + + + +
+
+ +
+
+

+ + bool|array + info() + +

+
+ + + +
+

No description

+ +
+
+ +

Return Value

+ + + + + + +
bool|array
+ + + + +
+
+ +
+
+

+ + bool|array + keys(string $pattern) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + +
string$pattern
+ + +

Return Value

+ + + + + + +
bool|array
+ + + + +
+
+ +
+
+

+ + bool|array + mget(array $keys) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + +
array$keys
+ + +

Return Value

+ + + + + + +
bool|array
+ + + + +
+
+ +
+
+

+ + bool + mset(array $pairs) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + +
array$pairs
+ + +

Return Value

+ + + + + + +
bool
+ + + + +
+
+ +
+
+

+ + bool|RedisArray + multi(string $host, int $mode = NULL) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + +
string$host
int$mode
+ + +

Return Value

+ + + + + + +
bool|RedisArray
+ + + + +
+
+ +
+
+

+ + bool|array + ping() + +

+
+ + + +
+

No description

+ +
+
+ +

Return Value

+ + + + + + +
bool|array
+ + + + +
+
+ +
+
+

+ + bool|array + save() + +

+
+ + + +
+

No description

+ +
+
+ +

Return Value

+ + + + + + +
bool|array
+ + + + +
+
+ +
+
+

+ + bool|array + scan(int|null $iterator, string $node, string|null $pattern = null, int $count = 0) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + + + + + + + + + + + +
int|null$iterator
string$node
string|null$pattern
int$count
+ + +

Return Value

+ + + + + + +
bool|array
+ + + + +
+
+ +
+
+

+ + bool|array + select(int $index) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + +
int$index
+ + +

Return Value

+ + + + + + +
bool|array
+ + + + +
+
+ +
+
+

+ + bool|array + setOption(int $opt, string $value) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + +
int$opt
string$value
+ + +

Return Value

+ + + + + + +
bool|array
+ + + + +
+
+ +
+
+

+ + bool|array + sscan(string $key, int|null $iterator, string|null $pattern = null, int $count = 0) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + + + + + + + + + + + +
string$key
int|null$iterator
string|null$pattern
int$count
+ + +

Return Value

+ + + + + + +
bool|array
+ + + + +
+
+ +
+
+ +
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + +
string|array$key
string...$otherkeys
+ + +

Return Value

+ + + + + + +
bool|int
+ + + + +
+
+ +
+
+

+ + bool|null + unwatch() + +

+
+ + + +
+

No description

+ +
+
+ +

Return Value

+ + + + + + +
bool|null
+ + + + +
+
+ +
+
+

+ + bool|array + zscan(string $key, int|null $iterator, string|null $pattern = null, int $count = 0) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + + + + + + + + + + + +
string$key
int|null$iterator
string|null$pattern
int$count
+ + +

Return Value

+ + + + + + +
bool|array
+ + + + +
+
+ +
+
+ + +
+
+ + + diff --git a/docs/RedisCluster.html b/docs/RedisCluster.html new file mode 100644 index 0000000..7894808 --- /dev/null +++ b/docs/RedisCluster.html @@ -0,0 +1,14846 @@ + + + + + + RedisCluster | PhpRedis API + + + + + + + + + + + + + + + + + +
+
+
+ +
+ + +
+
+
+ +
+ +
+
+ + +
+ + + +

class + RedisCluster (View source) +

+ + + + + + + + + +

Methods

+ +
+
+
+ +
+
+ __construct(string|null $name, array $seeds = NULL, int|float $timeout = 0, int|float $read_timeout = 0, bool $persistent = false, mixed $auth = NULL, array $context = NULL) + +

No description

+
+
+
+
+
+ string +
+
+ _compress(string $value) + +

No description

+
+
+
+
+
+ string +
+
+ _uncompress(string $value) + +

No description

+
+
+
+
+
+ bool|string +
+
+ _serialize(mixed $value) + +

No description

+
+
+
+
+
+ mixed +
+
+ _unserialize(string $value) + +

No description

+
+
+
+
+
+ string +
+
+ _pack(mixed $value) + +

No description

+
+
+
+
+
+ mixed +
+
+ _unpack(string $value) + +

No description

+
+
+
+
+
+ bool|string +
+
+ _prefix(string $key) + +

No description

+
+
+
+
+
+ array +
+
+ _masters() + +

No description

+
+
+
+
+
+ string|null +
+
+ _redir() + +

No description

+
+
+
+
+
+ mixed +
+
+ acl(string|array $key_or_address, string $subcmd, string ...$args) + +

No description

+
+
+
+
+
+ RedisCluster|bool|int +
+
+ append(string $key, mixed $value) + +

No description

+
+
+
+
+
+ RedisCluster|bool +
+
+ bgrewriteaof(string|array $key_or_address) + +

No description

+
+
+
+
+
+ RedisCluster|bool +
+
+ bgsave(string|array $key_or_address) + +

No description

+
+
+
+
+
+ RedisCluster|bool|int +
+
+ bitcount(string $key, int $start = 0, int $end = -1, bool $bybit = false) + +

No description

+
+
+
+
+
+ RedisCluster|bool|int +
+
+ bitop(string $operation, string $deskey, string $srckey, string ...$otherkeys) + +

No description

+
+
+
+
+
+ RedisCluster|int|false +
+
+ bitpos(string $key, bool $bit, int $start = 0, int $end = -1, bool $bybit = false) + +

Return the position of the first bit set to 0 or 1 in a string.

+
+
+
+
+ RedisCluster|array|null|false +
+
+ blpop(string|array $key, string|float|int $timeout_or_key, mixed ...$extra_args) + +

See Redis::blpop()

+
+
+
+
+ RedisCluster|array|null|false +
+
+ brpop(string|array $key, string|float|int $timeout_or_key, mixed ...$extra_args) + +

See Redis::brpop()

+
+
+
+
+ mixed +
+
+ brpoplpush(string $srckey, string $deskey, int $timeout) + +

See Redis::brpoplpush()

+
+
+
+
+ array +
+
+ bzpopmax(string|array $key, string|int $timeout_or_key, mixed ...$extra_args) + +

No description

+
+
+
+
+
+ array +
+
+ bzpopmin(string|array $key, string|int $timeout_or_key, mixed ...$extra_args) + +

No description

+
+
+
+
+
+ RedisCluster|array|null|false +
+
+ bzmpop(float $timeout, array $keys, string $from, int $count = 1) + +

No description

+
+
+
+
+
+ RedisCluster|array|null|false +
+
+ zmpop(array $keys, string $from, int $count = 1) + +

No description

+
+
+
+
+
+ RedisCluster|array|null|false +
+
+ blmpop(float $timeout, array $keys, string $from, int $count = 1) + +

No description

+
+
+
+
+
+ RedisCluster|array|null|false +
+
+ lmpop(array $keys, string $from, int $count = 1) + +

No description

+
+
+
+
+
+ bool +
+
+ clearlasterror() + +

No description

+
+
+
+
+
+ array|string|bool +
+
+ client(string|array $key_or_address, string $subcommand, string|null $arg = NULL) + +

No description

+
+
+
+
+
+ bool +
+
+ close() + +

No description

+
+
+
+
+
+ mixed +
+
+ cluster(string|array $key_or_address, string $command, mixed ...$extra_args) + +

No description

+
+
+
+
+
+ mixed +
+
+ command(mixed ...$extra_args) + +

No description

+
+
+
+
+
+ mixed +
+
+ config(string|array $key_or_address, string $subcommand, mixed ...$extra_args) + +

No description

+
+
+
+
+
+ RedisCluster|int +
+
+ dbsize(string|array $key_or_address) + +

No description

+
+
+
+
+
+ RedisCluster|int|false +
+
+ decr(string $key, int $by = 1) + +

No description

+
+
+
+
+
+ RedisCluster|int|false +
+
+ decrby(string $key, int $value) + +

No description

+
+
+
+
+
+ float +
+
+ decrbyfloat(string $key, float $value) + +

No description

+
+
+
+
+
+ RedisCluster|int|false +
+
+ del(array|string $key, string ...$other_keys) + +

No description

+
+
+
+
+
+ bool +
+
+ discard() + +

No description

+
+
+
+
+
+ RedisCluster|string|false +
+
+ dump(string $key) + +

No description

+
+
+
+
+
+ RedisCluster|string|false +
+
+ echo(string|array $key_or_address, string $msg) + +

No description

+
+
+
+
+
+ mixed +
+
+ eval(string $script, array $args = [], int $num_keys = 0) + +

No description

+
+
+
+
+
+ mixed +
+
+ eval_ro(string $script, array $args = [], int $num_keys = 0) + +

No description

+
+
+
+
+
+ mixed +
+
+ evalsha(string $script_sha, array $args = [], int $num_keys = 0) + +

No description

+
+
+
+
+
+ mixed +
+
+ evalsha_ro(string $script_sha, array $args = [], int $num_keys = 0) + +

No description

+
+
+
+
+
+ array|false +
+
+ exec() + +

No description

+
+
+
+
+
+ RedisCluster|int|bool +
+
+ exists(mixed $key, mixed ...$other_keys) + +

No description

+
+
+
+
+
+ RedisCluster|int|bool +
+
+ touch(mixed $key, mixed ...$other_keys) + +

No description

+
+
+
+
+
+ RedisCluster|bool +
+
+ expire(string $key, int $timeout, string|null $mode = NULL) + +

No description

+
+
+
+
+
+ RedisCluster|bool +
+
+ expireat(string $key, int $timestamp, string|null $mode = NULL) + +

No description

+
+
+
+
+
+ RedisCluster|int|false +
+
+ expiretime(string $key) + +

No description

+
+
+
+
+
+ RedisCluster|int|false +
+
+ pexpiretime(string $key) + +

No description

+
+
+
+
+
+ RedisCluster|bool +
+
+ flushall(string|array $key_or_address, bool $async = false) + +

No description

+
+
+
+
+
+ RedisCluster|bool +
+
+ flushdb(string|array $key_or_address, bool $async = false) + +

No description

+
+
+
+
+
+ RedisCluster|int|false +
+
+ geoadd(string $key, float $lng, float $lat, string $member, mixed ...$other_triples_and_options) + +

No description

+
+
+
+
+
+ RedisCluster|float|false +
+
+ geodist(string $key, string $src, string $dest, string|null $unit = null) + +

No description

+
+
+
+
+
+ RedisCluster|array|false +
+
+ geohash(string $key, string $member, string ...$other_members) + +

No description

+
+
+
+
+
+ RedisCluster|array|false +
+
+ geopos(string $key, string $member, string ...$other_members) + +

No description

+
+
+
+
+
+ mixed +
+
+ georadius(string $key, float $lng, float $lat, float $radius, string $unit, array $options = []) + +

No description

+
+
+
+
+
+ mixed +
+
+ georadius_ro(string $key, float $lng, float $lat, float $radius, string $unit, array $options = []) + +

No description

+
+
+
+
+
+ mixed +
+
+ georadiusbymember(string $key, string $member, float $radius, string $unit, array $options = []) + +

No description

+
+
+
+
+
+ mixed +
+
+ georadiusbymember_ro(string $key, string $member, float $radius, string $unit, array $options = []) + +

No description

+
+
+
+
+
+ mixed +
+
+ get(string $key) + +

No description

+
+
+
+
+
+ RedisCluster|int|false +
+
+ getbit(string $key, int $value) + +

No description

+
+
+
+
+
+ string|null +
+
+ getlasterror() + +

No description

+
+
+
+
+
+ int +
+
+ getmode() + +

No description

+
+
+
+
+
+ mixed +
+
+ getoption(int $option) + +

No description

+
+
+
+
+
+ RedisCluster|string|false +
+
+ getrange(string $key, int $start, int $end) + +

No description

+
+
+
+
+
+ RedisCluster|string|array|int|false +
+
+ lcs(string $key1, string $key2, array|null $options = NULL) + +

No description

+
+
+
+
+
+ RedisCluster|string|bool +
+
+ getset(string $key, mixed $value) + +

No description

+
+
+
+
+
+ int|false +
+
+ gettransferredbytes() + +

No description

+
+
+
+
+
+ RedisCluster|int|false +
+
+ hdel(string $key, string $member, string ...$other_members) + +

No description

+
+
+
+
+
+ RedisCluster|bool +
+
+ hexists(string $key, string $member) + +

No description

+
+
+
+
+
+ mixed +
+
+ hget(string $key, string $member) + +

No description

+
+
+
+
+
+ RedisCluster|array|false +
+
+ hgetall(string $key) + +

No description

+
+
+
+
+
+ RedisCluster|int|false +
+
+ hincrby(string $key, string $member, int $value) + +

No description

+
+
+
+
+
+ RedisCluster|float|false +
+
+ hincrbyfloat(string $key, string $member, float $value) + +

No description

+
+
+
+
+
+ RedisCluster|array|false +
+
+ hkeys(string $key) + +

No description

+
+
+
+
+
+ RedisCluster|int|false +
+
+ hlen(string $key) + +

No description

+
+
+
+
+
+ RedisCluster|array|false +
+
+ hmget(string $key, array $keys) + +

No description

+
+
+
+
+
+ RedisCluster|bool +
+
+ hmset(string $key, array $key_values) + +

No description

+
+
+
+
+
+ array|bool +
+
+ hscan(string $key, int|null $iterator, string|null $pattern = null, int $count = 0) + +

No description

+
+
+
+
+
+ RedisCluster|int|false +
+
+ hset(string $key, string $member, mixed $value) + +

No description

+
+
+
+
+
+ RedisCluster|bool +
+
+ hsetnx(string $key, string $member, mixed $value) + +

No description

+
+
+
+
+
+ RedisCluster|int|false +
+
+ hstrlen(string $key, string $field) + +

No description

+
+
+
+
+
+ RedisCluster|array|false +
+
+ hvals(string $key) + +

No description

+
+
+
+
+
+ RedisCluster|int|false +
+
+ incr(string $key, int $by = 1) + +

No description

+
+
+
+
+
+ RedisCluster|int|false +
+
+ incrby(string $key, int $value) + +

No description

+
+
+
+
+
+ RedisCluster|float|false +
+
+ incrbyfloat(string $key, float $value) + +

No description

+
+
+
+
+
+ RedisCluster|array|false +
+
+ info(string|array $key_or_address, string ...$sections) + +

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.

+
+
+
+
+ RedisCluster|array|false +
+
+ keys(string $pattern) + +

No description

+
+
+
+
+
+ RedisCluster|int|false +
+
+ lastsave(string|array $key_or_address) + +

No description

+
+
+
+
+
+ RedisCluster|string|bool +
+
+ lget(string $key, int $index) + +

No description

+
+
+
+
+
+ mixed +
+
+ lindex(string $key, int $index) + +

No description

+
+
+
+
+
+ RedisCluster|int|false +
+
+ linsert(string $key, string $pos, mixed $pivot, mixed $value) + +

No description

+
+
+
+
+
+ RedisCluster|int|bool +
+
+ llen(string $key) + +

No description

+
+
+
+
+
+ RedisCluster|bool|string|array +
+
+ lpop(string $key, int $count = 0) + +

No description

+
+
+
+
+
+ RedisCluster|int|bool +
+
+ lpush(string $key, mixed $value, mixed ...$other_values) + +

No description

+
+
+
+
+
+ RedisCluster|int|bool +
+
+ lpushx(string $key, mixed $value) + +

No description

+
+
+
+
+
+ RedisCluster|array|false +
+
+ lrange(string $key, int $start, int $end) + +

No description

+
+
+
+
+
+ RedisCluster|int|bool +
+
+ lrem(string $key, mixed $value, int $count = 0) + +

No description

+
+
+
+
+
+ RedisCluster|bool +
+
+ lset(string $key, int $index, mixed $value) + +

No description

+
+
+
+
+
+ RedisCluster|bool +
+
+ ltrim(string $key, int $start, int $end) + +

No description

+
+
+
+
+
+ RedisCluster|array|false +
+
+ mget(array $keys) + +

No description

+
+
+
+
+
+ RedisCluster|bool +
+
+ mset(array $key_values) + +

No description

+
+
+
+
+
+ RedisCluster|array|false +
+
+ msetnx(array $key_values) + +

No description

+
+
+
+
+
+ RedisCluster|bool +
+
+ multi(int $value = Redis::MULTI) + +

No description

+
+
+
+
+
+ RedisCluster|int|string|false +
+
+ object(string $subcommand, string $key) + +

No description

+
+
+
+
+
+ RedisCluster|bool +
+
+ persist(string $key) + +

No description

+
+
+
+
+
+ RedisCluster|bool +
+
+ pexpire(string $key, int $timeout, string|null $mode = NULL) + +

No description

+
+
+
+
+
+ RedisCluster|bool +
+
+ pexpireat(string $key, int $timestamp, string|null $mode = NULL) + +

No description

+
+
+
+
+
+ RedisCluster|bool +
+
+ pfadd(string $key, array $elements) + +

No description

+
+
+
+
+
+ RedisCluster|int|false +
+
+ pfcount(string $key) + +

No description

+
+
+
+
+
+ RedisCluster|bool +
+
+ pfmerge(string $key, array $keys) + +

No description

+
+
+
+
+
+ mixed +
+
+ ping(string|array $key_or_address, string|null $message = NULL) + +

PING an instance in the redis cluster.

+
+
+
+
+ RedisCluster|bool +
+
+ psetex(string $key, int $timeout, string $value) + +

No description

+
+
+
+
+
+ void +
+
+ psubscribe(array $patterns, callable $callback) + +

No description

+
+
+
+
+
+ RedisCluster|int|false +
+
+ pttl(string $key) + +

No description

+
+
+
+
+
+ RedisCluster|bool +
+
+ publish(string $channel, string $message) + +

No description

+
+
+
+
+
+ mixed +
+
+ pubsub(string|array $key_or_address, string ...$values) + +

No description

+
+
+
+
+
+ bool|array +
+
+ punsubscribe(string $pattern, string ...$other_patterns) + +

No description

+
+
+
+
+
+ RedisCluster|bool|string +
+
+ randomkey(string|array $key_or_address) + +

No description

+
+
+
+
+
+ mixed +
+
+ rawcommand(string|array $key_or_address, string $command, mixed ...$args) + +

No description

+
+
+
+
+
+ RedisCluster|bool +
+
+ rename(string $key_src, string $key_dst) + +

No description

+
+
+
+
+
+ RedisCluster|bool +
+
+ renamenx(string $key, string $newkey) + +

No description

+
+
+
+
+
+ RedisCluster|bool +
+
+ restore(string $key, int $timeout, string $value, array|null $options = NULL) + +

No description

+
+
+
+
+
+ mixed +
+
+ role(string|array $key_or_address) + +

No description

+
+
+
+
+
+ RedisCluster|bool|string|array +
+
+ rpop(string $key, int $count = 0) + +

No description

+
+
+
+
+
+ RedisCluster|bool|string +
+
+ rpoplpush(string $src, string $dst) + +

No description

+
+
+
+
+
+ RedisCluster|int|false +
+
+ rpush(string $key, mixed ...$elements) + +

No description

+
+
+
+
+
+ RedisCluster|bool|int +
+
+ rpushx(string $key, string $value) + +

No description

+
+
+
+
+
+ RedisCluster|int|false +
+
+ sadd(string $key, mixed $value, mixed ...$other_values) + +

No description

+
+
+
+
+
+ RedisCluster|bool|int +
+
+ saddarray(string $key, array $values) + +

No description

+
+
+
+
+
+ RedisCluster|bool +
+
+ save(string|array $key_or_address) + +

No description

+
+
+
+
+
+ bool|array +
+
+ scan(int|null $iterator, string|array $key_or_address, string|null $pattern = null, int $count = 0) + +

No description

+
+
+
+
+
+ RedisCluster|int|false +
+
+ scard(string $key) + +

No description

+
+
+
+
+
+ mixed +
+
+ script(string|array $key_or_address, mixed ...$args) + +

No description

+
+
+
+
+
+ RedisCluster|array|false +
+
+ sdiff(string $key, string ...$other_keys) + +

No description

+
+
+
+
+
+ RedisCluster|int|false +
+
+ sdiffstore(string $dst, string $key, string ...$other_keys) + +

No description

+
+
+
+
+
+ RedisCluster|string|bool +
+
+ set(string $key, mixed $value, mixed $options = NULL) + +

No description

+
+
+
+
+
+ RedisCluster|int|false +
+
+ setbit(string $key, int $offset, bool $onoff) + +

No description

+
+
+
+
+
+ RedisCluster|bool +
+
+ setex(string $key, int $expire, mixed $value) + +

No description

+
+
+
+
+
+ RedisCluster|bool +
+
+ setnx(string $key, mixed $value) + +

No description

+
+
+
+
+
+ bool +
+
+ setoption(int $option, mixed $value) + +

No description

+
+
+
+
+
+ RedisCluster|int|false +
+
+ setrange(string $key, int $offset, string $value) + +

No description

+
+
+
+
+
+ RedisCluster|array|false +
+
+ sinter(array|string $key, string ...$other_keys) + +

No description

+
+
+
+
+
+ RedisCluster|int|false +
+
+ sintercard(array $keys, int $limit = -1) + +

No description

+
+
+
+
+
+ RedisCluster|int|false +
+
+ sinterstore(array|string $key, string ...$other_keys) + +

No description

+
+
+
+
+
+ RedisCluster|bool +
+
+ sismember(string $key, mixed $value) + +

No description

+
+
+
+
+
+ mixed +
+
+ slowlog(string|array $key_or_address, mixed ...$args) + +

No description

+
+
+
+
+
+ RedisCluster|array|false +
+
+ smembers(string $key) + +

No description

+
+
+
+
+
+ RedisCluster|bool +
+
+ smove(string $src, string $dst, string $member) + +

No description

+
+
+
+
+
+ RedisCluster|array|bool|int|string +
+
+ sort(string $key, array|null $options = NULL) + +

No description

+
+
+
+
+
+ RedisCluster|array|bool|int|string +
+
+ sort_ro(string $key, array|null $options = NULL) + +

No description

+
+
+
+
+
+ RedisCluster|string|array|false +
+
+ spop(string $key, int $count = 0) + +

No description

+
+
+
+
+
+ RedisCluster|string|array|false +
+
+ srandmember(string $key, int $count = 0) + +

No description

+
+
+
+
+
+ RedisCluster|int|false +
+
+ srem(string $key, mixed $value, mixed ...$other_values) + +

No description

+
+
+
+
+
+ array|false +
+
+ sscan(string $key, int|null $iterator, string|null $pattern = null, int $count = 0) + +

No description

+
+
+
+
+
+ RedisCluster|int|false +
+
+ strlen(string $key) + +

No description

+
+
+
+
+
+ void +
+
+ subscribe(array $channels, callable $cb) + +

No description

+
+
+
+
+
+ RedisCluster|bool|array +
+
+ sunion(string $key, string ...$other_keys) + +

No description

+
+
+
+
+
+ RedisCluster|int|false +
+
+ sunionstore(string $dst, string $key, string ...$other_keys) + +

No description

+
+
+
+
+
+ RedisCluster|bool|array +
+
+ time(string|array $key_or_address) + +

No description

+
+
+
+
+
+ RedisCluster|int|false +
+
+ ttl(string $key) + +

No description

+
+
+
+
+
+ RedisCluster|int|false +
+
+ type(string $key) + +

No description

+
+
+
+
+
+ bool|array +
+
+ unsubscribe(array $channels) + +

No description

+
+
+
+
+
+ RedisCluster|int|false +
+
+ unlink(array|string $key, string ...$other_keys) + +

No description

+
+
+
+
+
+ bool +
+
+ unwatch() + +

No description

+
+
+
+
+
+ RedisCluster|bool +
+
+ watch(string $key, string ...$other_keys) + +

No description

+
+
+
+
+
+ RedisCluster|int|false +
+
+ xack(string $key, string $group, array $ids) + +

No description

+
+
+
+
+
+ RedisCluster|string|false +
+
+ xadd(string $key, string $id, array $values, int $maxlen = 0, bool $approx = false) + +

No description

+
+
+
+
+
+ RedisCluster|string|array|false +
+
+ xclaim(string $key, string $group, string $consumer, int $min_iddle, array $ids, array $options) + +

No description

+
+
+
+
+
+ RedisCluster|int|false +
+
+ xdel(string $key, array $ids) + +

No description

+
+
+
+
+
+ mixed +
+
+ xgroup(string $operation, string $key = null, string $arg1 = null, string $arg2 = null, bool $arg3 = false) + +

No description

+
+
+
+
+
+ mixed +
+
+ xinfo(string $operation, string|null $arg1 = null, string|null $arg2 = null, int $count = -1) + +

No description

+
+
+
+
+
+ RedisCluster|int|false +
+
+ xlen(string $key) + +

No description

+
+
+
+
+
+ RedisCluster|array|false +
+
+ xpending(string $key, string $group, string|null $start = null, string|null $end = null, int $count = -1, string|null $consumer = null) + +

No description

+
+
+
+
+
+ RedisCluster|bool|array +
+
+ xrange(string $key, string $start, string $end, int $count = -1) + +

No description

+
+
+
+
+
+ RedisCluster|bool|array +
+
+ xread(array $streams, int $count = -1, int $block = -1) + +

No description

+
+
+
+
+
+ RedisCluster|bool|array +
+
+ xreadgroup(string $group, string $consumer, array $streams, int $count = 1, int $block = 1) + +

No description

+
+
+
+
+
+ RedisCluster|bool|array +
+
+ xrevrange(string $key, string $start, string $end, int $count = -1) + +

No description

+
+
+
+
+
+ RedisCluster|int|false +
+
+ xtrim(string $key, int $maxlen, bool $approx = false, bool $minid = false, int $limit = -1) + +

No description

+
+
+
+
+
+ RedisCluster|int|false +
+
+ zadd(string $key, array|float $score_or_options, mixed ...$more_scores_and_mems) + +

No description

+
+
+
+
+
+ RedisCluster|int|false +
+
+ zcard(string $key) + +

No description

+
+
+
+
+
+ RedisCluster|int|false +
+
+ zcount(string $key, string $start, string $end) + +

No description

+
+
+
+
+
+ RedisCluster|float|false +
+
+ zincrby(string $key, float $value, string $member) + +

No description

+
+
+
+
+
+ RedisCluster|int|false +
+
+ zinterstore(string $dst, array $keys, array|null $weights = null, string|null $aggregate = null) + +

No description

+
+
+
+
+
+ RedisCluster|int|false +
+
+ zintercard(array $keys, int $limit = -1) + +

No description

+
+
+
+
+
+ RedisCluster|int|false +
+
+ zlexcount(string $key, string $min, string $max) + +

No description

+
+
+
+
+
+ RedisCluster|bool|array +
+
+ zpopmax(string $key, int $value = null) + +

No description

+
+
+
+
+
+ RedisCluster|bool|array +
+
+ zpopmin(string $key, int $value = null) + +

No description

+
+
+
+
+
+ RedisCluster|array|bool +
+
+ zrange(string $key, mixed $start, mixed $end, array|bool|null $options = null) + +

No description

+
+
+
+
+
+ RedisCluster|int|false +
+
+ zrangestore(string $dstkey, string $srckey, int $start, int $end, array|bool|null $options = null) + +

No description

+
+
+
+
+
+ RedisCluster|array|false +
+
+ zrangebylex(string $key, string $min, string $max, int $offset = -1, int $count = -1) + +

No description

+
+
+
+
+
+ RedisCluster|array|false +
+
+ zrangebyscore(string $key, string $start, string $end, array $options = []) + +

No description

+
+
+
+
+
+ RedisCluster|int|false +
+
+ zrank(string $key, mixed $member) + +

No description

+
+
+
+
+
+ RedisCluster|int|false +
+
+ zrem(string $key, string $value, string ...$other_values) + +

No description

+
+
+
+
+
+ RedisCluster|int|false +
+
+ zremrangebylex(string $key, string $min, string $max) + +

No description

+
+
+
+
+
+ RedisCluster|int|false +
+
+ zremrangebyrank(string $key, string $min, string $max) + +

No description

+
+
+
+
+
+ RedisCluster|int|false +
+
+ zremrangebyscore(string $key, string $min, string $max) + +

No description

+
+
+
+
+
+ RedisCluster|bool|array +
+
+ zrevrange(string $key, string $min, string $max, array $options = null) + +

No description

+
+
+
+
+
+ RedisCluster|bool|array +
+
+ zrevrangebylex(string $key, string $min, string $max, array $options = null) + +

No description

+
+
+
+
+
+ RedisCluster|bool|array +
+
+ zrevrangebyscore(string $key, string $min, string $max, array $options = null) + +

No description

+
+
+
+
+
+ RedisCluster|int|false +
+
+ zrevrank(string $key, mixed $member) + +

No description

+
+
+
+
+
+ RedisCluster|bool|array +
+
+ zscan(string $key, int|null $iterator, string|null $pattern = null, int $count = 0) + +

No description

+
+
+
+
+
+ RedisCluster|float|false +
+
+ zscore(string $key, mixed $member) + +

No description

+
+
+
+
+
+ RedisCluster|int|false +
+
+ zunionstore(string $dst, array $keys, array|null $weights = NULL, string|null $aggregate = NULL) + +

No description

+
+
+
+
+ + +

Details

+ +
+
+

+ + + __construct(string|null $name, array $seeds = NULL, int|float $timeout = 0, int|float $read_timeout = 0, bool $persistent = false, mixed $auth = NULL, array $context = NULL) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
string|null$name
array$seeds
int|float$timeout
int|float$read_timeout
bool$persistent
mixed$auth
array$context
+ + + + + +
+
+ +
+
+

+ + string + _compress(string $value) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + +
string$value
+ + +

Return Value

+ + + + + + +
string
+ + + +

See also

+ + + + + + +
+ +Redis::_compress +
+ + +
+
+ +
+
+

+ + string + _uncompress(string $value) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + +
string$value
+ + +

Return Value

+ + + + + + +
string
+ + + +

See also

+ + + + + + +
+ +Redis::_uncompress +
+ + +
+
+ +
+
+

+ + bool|string + _serialize(mixed $value) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + +
mixed$value
+ + +

Return Value

+ + + + + + +
bool|string
+ + + +

See also

+ + + + + + +
+ +Redis::_serialize +
+ + +
+
+ +
+
+

+ + mixed + _unserialize(string $value) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + +
string$value
+ + +

Return Value

+ + + + + + +
mixed
+ + + +

See also

+ + + + + + +
+ +Redis::_unserialize +
+ + +
+
+ +
+
+

+ + string + _pack(mixed $value) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + +
mixed$value
+ + +

Return Value

+ + + + + + +
string
+ + + +

See also

+ + + + + + +
+ +Redis::_pack +
+ + +
+
+ +
+
+

+ + mixed + _unpack(string $value) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + +
string$value
+ + +

Return Value

+ + + + + + +
mixed
+ + + +

See also

+ + + + + + +
+ +Redis::_unpack +
+ + +
+
+ +
+
+

+ + bool|string + _prefix(string $key) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + +
string$key
+ + +

Return Value

+ + + + + + +
bool|string
+ + + +

See also

+ + + + + + +
+ +Redis::_prefix +
+ + +
+
+ +
+
+

+ + array + _masters() + +

+
+ + + +
+

No description

+ +
+
+ +

Return Value

+ + + + + + +
array
+ + + + +
+
+ +
+
+

+ + string|null + _redir() + +

+
+ + + +
+

No description

+ +
+
+ +

Return Value

+ + + + + + +
string|null
+ + + + +
+
+ +
+
+

+ + mixed + acl(string|array $key_or_address, string $subcmd, string ...$args) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + + + + + + +
string|array$key_or_address
string$subcmd
string...$args
+ + +

Return Value

+ + + + + + +
mixed
+ + + +

See also

+ + + + + + +
+ Redis::acl +
+ + +
+
+ +
+
+

+ + RedisCluster|bool|int + append(string $key, mixed $value) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + +
string$key
mixed$value
+ + +

Return Value

+ + + + + + +
RedisCluster|bool|int
+ + + +

See also

+ + + + + + +
+ +Redis::append +
+ + +
+
+ +
+
+

+ + RedisCluster|bool + bgrewriteaof(string|array $key_or_address) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + +
string|array$key_or_address
+ + +

Return Value

+ + + + + + +
RedisCluster|bool
+ + + +

See also

+ + + + + + +
+ Redis::bgrewriteaof +
+ + +
+
+ +
+
+

+ + RedisCluster|bool + bgsave(string|array $key_or_address) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + +
string|array$key_or_address
+ + +

Return Value

+ + + + + + +
RedisCluster|bool
+ + + +

See also

+ + + + + + +
+ Redis::bgsave +
+ + +
+
+ +
+
+

+ + RedisCluster|bool|int + bitcount(string $key, int $start = 0, int $end = -1, bool $bybit = false) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + + + + + + + + + + + +
string$key
int$start
int$end
bool$bybit
+ + +

Return Value

+ + + + + + +
RedisCluster|bool|int
+ + + +

See also

+ + + + + + +
+ Redis::bitcount +
+ + +
+
+ +
+
+

+ + RedisCluster|bool|int + bitop(string $operation, string $deskey, string $srckey, string ...$otherkeys) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + + + + + + + + + + + +
string$operation
string$deskey
string$srckey
string...$otherkeys
+ + +

Return Value

+ + + + + + +
RedisCluster|bool|int
+ + + +

See also

+ + + + + + +
+ Redis::bitop +
+ + +
+
+ +
+
+

+ + RedisCluster|int|false + bitpos(string $key, bool $bit, int $start = 0, int $end = -1, bool $bybit = false) + +

+
+ + + +
+

Return the position of the first bit set to 0 or 1 in a string.

+
+
+

Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
string$key

The key to check (must be a string)

bool$bit

Whether to look for an unset (0) or set (1) bit.

int$start

Where in the string to start looking.

int$end

Where in the string to stop looking.

bool$bybit

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.

+ + +

Return Value

+ + + + + + +
RedisCluster|int|false
+ + + +

See also

+ + + + + + +
+ https://https://redis.io/commands/bitpos/ +
+ + +
+
+ +
+
+

+ + RedisCluster|array|null|false + blpop(string|array $key, string|float|int $timeout_or_key, mixed ...$extra_args) + +

+
+ + + +
+

See Redis::blpop()

+
+
+

Parameters

+ + + + + + + + + + + + + + + + + +
string|array$key
string|float|int$timeout_or_key
mixed...$extra_args
+ + +

Return Value

+ + + + + + +
RedisCluster|array|null|false
+ + + + +
+
+ +
+
+

+ + RedisCluster|array|null|false + brpop(string|array $key, string|float|int $timeout_or_key, mixed ...$extra_args) + +

+
+ + + +
+

See Redis::brpop()

+
+
+

Parameters

+ + + + + + + + + + + + + + + + + +
string|array$key
string|float|int$timeout_or_key
mixed...$extra_args
+ + +

Return Value

+ + + + + + +
RedisCluster|array|null|false
+ + + + +
+
+ +
+
+

+ + mixed + brpoplpush(string $srckey, string $deskey, int $timeout) + +

+
+ + + +
+

See Redis::brpoplpush()

+
+
+

Parameters

+ + + + + + + + + + + + + + + + + +
string$srckey
string$deskey
int$timeout
+ + +

Return Value

+ + + + + + +
mixed
+ + + + +
+
+ +
+
+

+ + array + bzpopmax(string|array $key, string|int $timeout_or_key, mixed ...$extra_args) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + + + + + + +
string|array$key
string|int$timeout_or_key
mixed...$extra_args
+ + +

Return Value

+ + + + + + +
array
+ + + +

See also

+ + + + + + +
+ Redis::bzpopmax +
+ + +
+
+ +
+
+

+ + array + bzpopmin(string|array $key, string|int $timeout_or_key, mixed ...$extra_args) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + + + + + + +
string|array$key
string|int$timeout_or_key
mixed...$extra_args
+ + +

Return Value

+ + + + + + +
array
+ + + +

See also

+ + + + + + +
+ Redis::bzpopmin +
+ + +
+
+ +
+
+

+ + RedisCluster|array|null|false + bzmpop(float $timeout, array $keys, string $from, int $count = 1) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + + + + + + + + + + + +
float$timeout
array$keys
string$from
int$count
+ + +

Return Value

+ + + + + + +
RedisCluster|array|null|false
+ + + +

See also

+ + + + + + +
+ Redis::bzmpop +
+ + +
+
+ +
+
+

+ + RedisCluster|array|null|false + zmpop(array $keys, string $from, int $count = 1) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + + + + + + +
array$keys
string$from
int$count
+ + +

Return Value

+ + + + + + +
RedisCluster|array|null|false
+ + + +

See also

+ + + + + + +
+ Redis::zmpop +
+ + +
+
+ +
+
+

+ + RedisCluster|array|null|false + blmpop(float $timeout, array $keys, string $from, int $count = 1) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + + + + + + + + + + + +
float$timeout
array$keys
string$from
int$count
+ + +

Return Value

+ + + + + + +
RedisCluster|array|null|false
+ + + +

See also

+ + + + + + +
+ +Redis::blmpop +
+ + +
+
+ +
+
+

+ + RedisCluster|array|null|false + lmpop(array $keys, string $from, int $count = 1) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + + + + + + +
array$keys
string$from
int$count
+ + +

Return Value

+ + + + + + +
RedisCluster|array|null|false
+ + + +

See also

+ + + + + + +
+ +Redis::lmpop +
+ + +
+
+ +
+
+

+ + bool + clearlasterror() + +

+
+ + + +
+

No description

+ +
+
+ +

Return Value

+ + + + + + +
bool
+ + + +

See also

+ + + + + + +
+ \Redis::clearlasterror() +
+ + +
+
+ +
+
+

+ + array|string|bool + client(string|array $key_or_address, string $subcommand, string|null $arg = NULL) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + + + + + + +
string|array$key_or_address
string$subcommand
string|null$arg
+ + +

Return Value

+ + + + + + +
array|string|bool
+ + + +

See also

+ + + + + + +
+ Redis::client +
+ + +
+
+ +
+
+

+ + bool + close() + +

+
+ + + +
+

No description

+ +
+
+ +

Return Value

+ + + + + + +
bool
+ + + +

See also

+ + + + + + +
+ Redis::close +
+ + +
+
+ +
+
+

+ + mixed + cluster(string|array $key_or_address, string $command, mixed ...$extra_args) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + + + + + + +
string|array$key_or_address
string$command
mixed...$extra_args
+ + +

Return Value

+ + + + + + +
mixed
+ + + +

See also

+ + + + + + +
+ Redis::cluster +
+ + +
+
+ +
+
+

+ + mixed + command(mixed ...$extra_args) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + +
mixed...$extra_args
+ + +

Return Value

+ + + + + + +
mixed
+ + + +

See also

+ + + + + + +
+ Redis::command +
+ + +
+
+ +
+
+

+ + mixed + config(string|array $key_or_address, string $subcommand, mixed ...$extra_args) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + + + + + + +
string|array$key_or_address
string$subcommand
mixed...$extra_args
+ + +

Return Value

+ + + + + + +
mixed
+ + + +

See also

+ + + + + + +
+ +Redis::config +
+ + +
+
+ +
+
+

+ + RedisCluster|int + dbsize(string|array $key_or_address) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + +
string|array$key_or_address
+ + +

Return Value

+ + + + + + +
RedisCluster|int
+ + + +

See also

+ + + + + + +
+ \Redis::dbsize() +
+ + +
+
+ +
+
+

+ + RedisCluster|int|false + decr(string $key, int $by = 1) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + +
string$key
int$by
+ + +

Return Value

+ + + + + + +
RedisCluster|int|false
+ + + +

See also

+ + + + + + +
+ +Redis::decr +
+ + +
+
+ +
+
+

+ + RedisCluster|int|false + decrby(string $key, int $value) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + +
string$key
int$value
+ + +

Return Value

+ + + + + + +
RedisCluster|int|false
+ + + +

See also

+ + + + + + +
+ \Redis::decrby() +
+ + +
+
+ +
+
+

+ + float + decrbyfloat(string $key, float $value) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + +
string$key
float$value
+ + +

Return Value

+ + + + + + +
float
+ + + +

See also

+ + + + + + +
+ Redis::decrbyfloat +
+ + +
+
+ +
+
+

+ + RedisCluster|int|false + del(array|string $key, string ...$other_keys) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + +
array|string$key
string...$other_keys
+ + +

Return Value

+ + + + + + +
RedisCluster|int|false
+ + + +

See also

+ + + + + + +
+ +Redis::del +
+ + +
+
+ +
+
+

+ + bool + discard() + +

+
+ + + +
+

No description

+ +
+
+ +

Return Value

+ + + + + + +
bool
+ + + +

See also

+ + + + + + +
+ Redis::discard +
+ + +
+
+ +
+
+

+ + RedisCluster|string|false + dump(string $key) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + +
string$key
+ + +

Return Value

+ + + + + + +
RedisCluster|string|false
+ + + +

See also

+ + + + + + +
+ Redis::dump +
+ + +
+
+ +
+
+

+ + RedisCluster|string|false + echo(string|array $key_or_address, string $msg) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + +
string|array$key_or_address
string$msg
+ + +

Return Value

+ + + + + + +
RedisCluster|string|false
+ + + +

See also

+ + + + + + +
+ +Redis::echo +
+ + +
+
+ +
+
+

+ + mixed + eval(string $script, array $args = [], int $num_keys = 0) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + + + + + + +
string$script
array$args
int$num_keys
+ + +

Return Value

+ + + + + + +
mixed
+ + + +

See also

+ + + + + + +
+ Redis::eval +
+ + +
+
+ +
+
+

+ + mixed + eval_ro(string $script, array $args = [], int $num_keys = 0) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + + + + + + +
string$script
array$args
int$num_keys
+ + +

Return Value

+ + + + + + +
mixed
+ + + +

See also

+ + + + + + +
+ Redis::eval_ro +
+ + +
+
+ +
+
+

+ + mixed + evalsha(string $script_sha, array $args = [], int $num_keys = 0) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + + + + + + +
string$script_sha
array$args
int$num_keys
+ + +

Return Value

+ + + + + + +
mixed
+ + + +

See also

+ + + + + + +
+ Redis::evalsha +
+ + +
+
+ +
+
+

+ + mixed + evalsha_ro(string $script_sha, array $args = [], int $num_keys = 0) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + + + + + + +
string$script_sha
array$args
int$num_keys
+ + +

Return Value

+ + + + + + +
mixed
+ + + +

See also

+ + + + + + +
+ Redis::evalsha_ro +
+ + +
+
+ +
+
+

+ + array|false + exec() + +

+
+ + + +
+

No description

+ +
+
+ +

Return Value

+ + + + + + +
array|false
+ + + +

See also

+ + + + + + +
+ +Redis::exec +
+ + +
+
+ +
+
+

+ + RedisCluster|int|bool + exists(mixed $key, mixed ...$other_keys) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + +
mixed$key
mixed...$other_keys
+ + +

Return Value

+ + + + + + +
RedisCluster|int|bool
+ + + +

See also

+ + + + + + +
+ Redis::exists +
+ + +
+
+ +
+
+

+ + RedisCluster|int|bool + touch(mixed $key, mixed ...$other_keys) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + +
mixed$key
mixed...$other_keys
+ + +

Return Value

+ + + + + + +
RedisCluster|int|bool
+ + + +

See also

+ + + + + + +
+ +Redis::touch +
+ + +
+
+ +
+
+

+ + RedisCluster|bool + expire(string $key, int $timeout, string|null $mode = NULL) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + + + + + + +
string$key
int$timeout
string|null$mode
+ + +

Return Value

+ + + + + + +
RedisCluster|bool
+ + + +

See also

+ + + + + + +
+ Redis::expire +
+ + +
+
+ +
+
+

+ + RedisCluster|bool + expireat(string $key, int $timestamp, string|null $mode = NULL) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + + + + + + +
string$key
int$timestamp
string|null$mode
+ + +

Return Value

+ + + + + + +
RedisCluster|bool
+ + + +

See also

+ + + + + + +
+ Redis::expireat +
+ + +
+
+ +
+
+

+ + RedisCluster|int|false + expiretime(string $key) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + +
string$key
+ + +

Return Value

+ + + + + + +
RedisCluster|int|false
+ + + +

See also

+ + + + + + +
+ +Redis::expiretime +
+ + +
+
+ +
+
+

+ + RedisCluster|int|false + pexpiretime(string $key) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + +
string$key
+ + +

Return Value

+ + + + + + +
RedisCluster|int|false
+ + + +

See also

+ + + + + + +
+ +Redis::pexpiretime +
+ + +
+
+ +
+
+

+ + RedisCluster|bool + flushall(string|array $key_or_address, bool $async = false) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + +
string|array$key_or_address
bool$async
+ + +

Return Value

+ + + + + + +
RedisCluster|bool
+ + + +

See also

+ + + + + + +
+ Redis::flushall +
+ + +
+
+ +
+
+

+ + RedisCluster|bool + flushdb(string|array $key_or_address, bool $async = false) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + +
string|array$key_or_address
bool$async
+ + +

Return Value

+ + + + + + +
RedisCluster|bool
+ + + +

See also

+ + + + + + +
+ Redis::flushdb +
+ + +
+
+ +
+
+

+ + RedisCluster|int|false + geoadd(string $key, float $lng, float $lat, string $member, mixed ...$other_triples_and_options) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
string$key
float$lng
float$lat
string$member
mixed...$other_triples_and_options
+ + +

Return Value

+ + + + + + +
RedisCluster|int|false
+ + + +

See also

+ + + + + + +
+ Redis::geoadd +
+ + +
+
+ +
+
+

+ + RedisCluster|float|false + geodist(string $key, string $src, string $dest, string|null $unit = null) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + + + + + + + + + + + +
string$key
string$src
string$dest
string|null$unit
+ + +

Return Value

+ + + + + + +
RedisCluster|float|false
+ + + +

See also

+ + + + + + +
+ Redis::geodist +
+ + +
+
+ +
+
+

+ + RedisCluster|array|false + geohash(string $key, string $member, string ...$other_members) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + + + + + + +
string$key
string$member
string...$other_members
+ + +

Return Value

+ + + + + + +
RedisCluster|array|false
+ + + +

See also

+ + + + + + +
+ Redis::geohash +
+ + +
+
+ +
+
+

+ + RedisCluster|array|false + geopos(string $key, string $member, string ...$other_members) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + + + + + + +
string$key
string$member
string...$other_members
+ + +

Return Value

+ + + + + + +
RedisCluster|array|false
+ + + +

See also

+ + + + + + +
+ Redis::geopos +
+ + +
+
+ +
+
+

+ + mixed + georadius(string $key, float $lng, float $lat, float $radius, string $unit, array $options = []) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
string$key
float$lng
float$lat
float$radius
string$unit
array$options
+ + +

Return Value

+ + + + + + +
mixed
+ + + +

See also

+ + + + + + +
+ Redis::georadius +
+ + +
+
+ +
+
+

+ + mixed + georadius_ro(string $key, float $lng, float $lat, float $radius, string $unit, array $options = []) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
string$key
float$lng
float$lat
float$radius
string$unit
array$options
+ + +

Return Value

+ + + + + + +
mixed
+ + + +

See also

+ + + + + + +
+ Redis::georadius_ro +
+ + +
+
+ +
+
+

+ + mixed + georadiusbymember(string $key, string $member, float $radius, string $unit, array $options = []) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
string$key
string$member
float$radius
string$unit
array$options
+ + +

Return Value

+ + + + + + +
mixed
+ + + +

See also

+ + + + + + +
+ Redis::georadiusbymember +
+ + +
+
+ +
+
+

+ + mixed + georadiusbymember_ro(string $key, string $member, float $radius, string $unit, array $options = []) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
string$key
string$member
float$radius
string$unit
array$options
+ + +

Return Value

+ + + + + + +
mixed
+ + + +

See also

+ + + + + + +
+ Redis::georadiusbymember_ro +
+ + +
+
+ +
+
+

+ + mixed + get(string $key) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + +
string$key
+ + +

Return Value

+ + + + + + +
mixed
+ + + +

See also

+ + + + + + +
+ Redis::get +
+ + +
+
+ +
+
+

+ + RedisCluster|int|false + getbit(string $key, int $value) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + +
string$key
int$value
+ + +

Return Value

+ + + + + + +
RedisCluster|int|false
+ + + +

See also

+ + + + + + +
+ Redis::getbit +
+ + +
+
+ +
+
+

+ + string|null + getlasterror() + +

+
+ + + +
+

No description

+ +
+
+ +

Return Value

+ + + + + + +
string|null
+ + + +

See also

+ + + + + + +
+ Redis::getlasterror +
+ + +
+
+ +
+
+

+ + int + getmode() + +

+
+ + + +
+

No description

+ +
+
+ +

Return Value

+ + + + + + +
int
+ + + +

See also

+ + + + + + +
+ Redis::getmode +
+ + +
+
+ +
+
+

+ + mixed + getoption(int $option) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + +
int$option
+ + +

Return Value

+ + + + + + +
mixed
+ + + +

See also

+ + + + + + +
+ Redis::getoption +
+ + +
+
+ +
+
+

+ + RedisCluster|string|false + getrange(string $key, int $start, int $end) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + + + + + + +
string$key
int$start
int$end
+ + +

Return Value

+ + + + + + +
RedisCluster|string|false
+ + + +

See also

+ + + + + + +
+ Redis::getrange +
+ + +
+
+ +
+
+

+ + RedisCluster|string|array|int|false + lcs(string $key1, string $key2, array|null $options = NULL) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + + + + + + +
string$key1
string$key2
array|null$options
+ + +

Return Value

+ + + + + + +
RedisCluster|string|array|int|false
+ + + +

See also

+ + + + + + +
+ Redis::lcs +
+ + +
+
+ +
+
+

+ + RedisCluster|string|bool + getset(string $key, mixed $value) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + +
string$key
mixed$value
+ + +

Return Value

+ + + + + + +
RedisCluster|string|bool
+ + + +

See also

+ + + + + + +
+ Redis::getset +
+ + +
+
+ +
+
+

+ + int|false + gettransferredbytes() + +

+
+ + + +
+

No description

+ +
+
+ +

Return Value

+ + + + + + +
int|false
+ + + +

See also

+ + + + + + +
+ Redis::gettransferredbytes +
+ + +
+
+ +
+
+

+ + RedisCluster|int|false + hdel(string $key, string $member, string ...$other_members) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + + + + + + +
string$key
string$member
string...$other_members
+ + +

Return Value

+ + + + + + +
RedisCluster|int|false
+ + + +

See also

+ + + + + + +
+ Redis::hdel +
+ + +
+
+ +
+
+

+ + RedisCluster|bool + hexists(string $key, string $member) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + +
string$key
string$member
+ + +

Return Value

+ + + + + + +
RedisCluster|bool
+ + + +

See also

+ + + + + + +
+ Redis::hexists +
+ + +
+
+ +
+
+

+ + mixed + hget(string $key, string $member) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + +
string$key
string$member
+ + +

Return Value

+ + + + + + +
mixed
+ + + +

See also

+ + + + + + +
+ Redis::hget +
+ + +
+
+ +
+
+

+ + RedisCluster|array|false + hgetall(string $key) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + +
string$key
+ + +

Return Value

+ + + + + + +
RedisCluster|array|false
+ + + +

See also

+ + + + + + +
+ Redis::hgetall +
+ + +
+
+ +
+
+

+ + RedisCluster|int|false + hincrby(string $key, string $member, int $value) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + + + + + + +
string$key
string$member
int$value
+ + +

Return Value

+ + + + + + +
RedisCluster|int|false
+ + + +

See also

+ + + + + + +
+ Redis::hincrby +
+ + +
+
+ +
+
+

+ + RedisCluster|float|false + hincrbyfloat(string $key, string $member, float $value) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + + + + + + +
string$key
string$member
float$value
+ + +

Return Value

+ + + + + + +
RedisCluster|float|false
+ + + +

See also

+ + + + + + +
+ Redis::hincrbyfloat +
+ + +
+
+ +
+
+

+ + RedisCluster|array|false + hkeys(string $key) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + +
string$key
+ + +

Return Value

+ + + + + + +
RedisCluster|array|false
+ + + +

See also

+ + + + + + +
+ Redis::hkeys +
+ + +
+
+ +
+
+

+ + RedisCluster|int|false + hlen(string $key) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + +
string$key
+ + +

Return Value

+ + + + + + +
RedisCluster|int|false
+ + + +

See also

+ + + + + + +
+ Redis::hlen +
+ + +
+
+ +
+
+

+ + RedisCluster|array|false + hmget(string $key, array $keys) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + +
string$key
array$keys
+ + +

Return Value

+ + + + + + +
RedisCluster|array|false
+ + + +

See also

+ + + + + + +
+ Redis::hmget +
+ + +
+
+ +
+
+

+ + RedisCluster|bool + hmset(string $key, array $key_values) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + +
string$key
array$key_values
+ + +

Return Value

+ + + + + + +
RedisCluster|bool
+ + + +

See also

+ + + + + + +
+ Redis::hmset +
+ + +
+
+ +
+
+

+ + array|bool + hscan(string $key, int|null $iterator, string|null $pattern = null, int $count = 0) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + + + + + + + + + + + +
string$key
int|null$iterator
string|null$pattern
int$count
+ + +

Return Value

+ + + + + + +
array|bool
+ + + +

See also

+ + + + + + +
+ Redis::hscan +
+ + +
+
+ +
+
+

+ + RedisCluster|int|false + hset(string $key, string $member, mixed $value) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + + + + + + +
string$key
string$member
mixed$value
+ + +

Return Value

+ + + + + + +
RedisCluster|int|false
+ + + +

See also

+ + + + + + +
+ Redis::hset +
+ + +
+
+ +
+
+

+ + RedisCluster|bool + hsetnx(string $key, string $member, mixed $value) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + + + + + + +
string$key
string$member
mixed$value
+ + +

Return Value

+ + + + + + +
RedisCluster|bool
+ + + +

See also

+ + + + + + +
+ Redis::hsetnx +
+ + +
+
+ +
+
+

+ + RedisCluster|int|false + hstrlen(string $key, string $field) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + +
string$key
string$field
+ + +

Return Value

+ + + + + + +
RedisCluster|int|false
+ + + +

See also

+ + + + + + +
+ Redis::hstrlen +
+ + +
+
+ +
+
+

+ + RedisCluster|array|false + hvals(string $key) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + +
string$key
+ + +

Return Value

+ + + + + + +
RedisCluster|array|false
+ + + +

See also

+ + + + + + +
+ Redis::hvals +
+ + +
+
+ +
+
+

+ + RedisCluster|int|false + incr(string $key, int $by = 1) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + +
string$key
int$by
+ + +

Return Value

+ + + + + + +
RedisCluster|int|false
+ + + +

See also

+ + + + + + +
+ Redis::incr +
+ + +
+
+ +
+
+

+ + RedisCluster|int|false + incrby(string $key, int $value) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + +
string$key
int$value
+ + +

Return Value

+ + + + + + +
RedisCluster|int|false
+ + + +

See also

+ + + + + + +
+ Redis::incrby +
+ + +
+
+ +
+
+

+ + RedisCluster|float|false + incrbyfloat(string $key, float $value) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + +
string$key
float$value
+ + +

Return Value

+ + + + + + +
RedisCluster|float|false
+ + + +

See also

+ + + + + + +
+ Redis::incrbyfloat +
+ + +
+
+ +
+
+

+ + RedisCluster|array|false + info(string|array $key_or_address, string ...$sections) + +

+
+ + + +
+

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.

If connected to Redis server >= 7.0.0 you may pass multiple optional sections.

+
+
+

Parameters

+ + + + + + + + + + + + +
string|array$key_or_address

Either a key name or array with host and port indicating +which cluster node we want to send the command to.

string...$sections

Optional section(s) you wish Redis server to return.

+ + +

Return Value

+ + + + + + +
RedisCluster|array|false
+ + + +

See also

+ + + + + + +
+ https://redis.io/commands/info/ +
+ + +
+
+ +
+
+

+ + RedisCluster|array|false + keys(string $pattern) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + +
string$pattern
+ + +

Return Value

+ + + + + + +
RedisCluster|array|false
+ + + +

See also

+ + + + + + +
+ Redis::keys +
+ + +
+
+ +
+
+

+ + RedisCluster|int|false + lastsave(string|array $key_or_address) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + +
string|array$key_or_address
+ + +

Return Value

+ + + + + + +
RedisCluster|int|false
+ + + +

See also

+ + + + + + +
+ Redis::lastsave +
+ + +
+
+ +
+
+

+ + RedisCluster|string|bool + lget(string $key, int $index) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + +
string$key
int$index
+ + +

Return Value

+ + + + + + +
RedisCluster|string|bool
+ + + +

See also

+ + + + + + +
+ Redis::lget +
+ + +
+
+ +
+
+

+ + mixed + lindex(string $key, int $index) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + +
string$key
int$index
+ + +

Return Value

+ + + + + + +
mixed
+ + + +

See also

+ + + + + + +
+ Redis::lindex +
+ + +
+
+ +
+
+

+ + RedisCluster|int|false + linsert(string $key, string $pos, mixed $pivot, mixed $value) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + + + + + + + + + + + +
string$key
string$pos
mixed$pivot
mixed$value
+ + +

Return Value

+ + + + + + +
RedisCluster|int|false
+ + + +

See also

+ + + + + + +
+ Redis::linsert +
+ + +
+
+ +
+
+

+ + RedisCluster|int|bool + llen(string $key) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + +
string$key
+ + +

Return Value

+ + + + + + +
RedisCluster|int|bool
+ + + +

See also

+ + + + + + +
+ Redis::llen +
+ + +
+
+ +
+
+

+ + RedisCluster|bool|string|array + lpop(string $key, int $count = 0) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + +
string$key
int$count
+ + +

Return Value

+ + + + + + +
RedisCluster|bool|string|array
+ + + +

See also

+ + + + + + +
+ Redis::lpop +
+ + +
+
+ +
+
+

+ + RedisCluster|int|bool + lpush(string $key, mixed $value, mixed ...$other_values) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + + + + + + +
string$key
mixed$value
mixed...$other_values
+ + +

Return Value

+ + + + + + +
RedisCluster|int|bool
+ + + +

See also

+ + + + + + +
+ Redis::lpush +
+ + +
+
+ +
+
+

+ + RedisCluster|int|bool + lpushx(string $key, mixed $value) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + +
string$key
mixed$value
+ + +

Return Value

+ + + + + + +
RedisCluster|int|bool
+ + + +

See also

+ + + + + + +
+ Redis::lpushx +
+ + +
+
+ +
+
+

+ + RedisCluster|array|false + lrange(string $key, int $start, int $end) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + + + + + + +
string$key
int$start
int$end
+ + +

Return Value

+ + + + + + +
RedisCluster|array|false
+ + + +

See also

+ + + + + + +
+ Redis::lrange +
+ + +
+
+ +
+
+

+ + RedisCluster|int|bool + lrem(string $key, mixed $value, int $count = 0) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + + + + + + +
string$key
mixed$value
int$count
+ + +

Return Value

+ + + + + + +
RedisCluster|int|bool
+ + + +

See also

+ + + + + + +
+ Redis::lrem +
+ + +
+
+ +
+
+

+ + RedisCluster|bool + lset(string $key, int $index, mixed $value) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + + + + + + +
string$key
int$index
mixed$value
+ + +

Return Value

+ + + + + + +
RedisCluster|bool
+ + + +

See also

+ + + + + + +
+ Redis::lset +
+ + +
+
+ +
+
+

+ + RedisCluster|bool + ltrim(string $key, int $start, int $end) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + + + + + + +
string$key
int$start
int$end
+ + +

Return Value

+ + + + + + +
RedisCluster|bool
+ + + +

See also

+ + + + + + +
+ Redis::ltrim +
+ + +
+
+ +
+
+

+ + RedisCluster|array|false + mget(array $keys) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + +
array$keys
+ + +

Return Value

+ + + + + + +
RedisCluster|array|false
+ + + +

See also

+ + + + + + +
+ Redis::mget +
+ + +
+
+ +
+
+

+ + RedisCluster|bool + mset(array $key_values) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + +
array$key_values
+ + +

Return Value

+ + + + + + +
RedisCluster|bool
+ + + +

See also

+ + + + + + +
+ Redis::mset +
+ + +
+
+ +
+
+

+ + RedisCluster|array|false + msetnx(array $key_values) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + +
array$key_values
+ + +

Return Value

+ + + + + + +
RedisCluster|array|false
+ + + +

See also

+ + + + + + +
+ Redis::msetnx +
+ + +
+
+ +
+
+

+ + RedisCluster|bool + multi(int $value = Redis::MULTI) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + +
int$value
+ + +

Return Value

+ + + + + + +
RedisCluster|bool
+ + + + +
+
+ +
+
+

+ + RedisCluster|int|string|false + object(string $subcommand, string $key) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + +
string$subcommand
string$key
+ + +

Return Value

+ + + + + + +
RedisCluster|int|string|false
+ + + +

See also

+ + + + + + +
+ Redis::object +
+ + +
+
+ +
+
+

+ + RedisCluster|bool + persist(string $key) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + +
string$key
+ + +

Return Value

+ + + + + + +
RedisCluster|bool
+ + + +

See also

+ + + + + + +
+ Redis::persist +
+ + +
+
+ +
+
+

+ + RedisCluster|bool + pexpire(string $key, int $timeout, string|null $mode = NULL) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + + + + + + +
string$key
int$timeout
string|null$mode
+ + +

Return Value

+ + + + + + +
RedisCluster|bool
+ + + +

See also

+ + + + + + +
+ Redis::pexpire +
+ + +
+
+ +
+
+

+ + RedisCluster|bool + pexpireat(string $key, int $timestamp, string|null $mode = NULL) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + + + + + + +
string$key
int$timestamp
string|null$mode
+ + +

Return Value

+ + + + + + +
RedisCluster|bool
+ + + +

See also

+ + + + + + +
+ Redis::pexpireat +
+ + +
+
+ +
+
+

+ + RedisCluster|bool + pfadd(string $key, array $elements) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + +
string$key
array$elements
+ + +

Return Value

+ + + + + + +
RedisCluster|bool
+ + + +

See also

+ + + + + + +
+ +Redis::pfadd +
+ + +
+
+ +
+
+

+ + RedisCluster|int|false + pfcount(string $key) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + +
string$key
+ + +

Return Value

+ + + + + + +
RedisCluster|int|false
+ + + +

See also

+ + + + + + +
+ +Redis::pfcount +
+ + +
+
+ +
+
+

+ + RedisCluster|bool + pfmerge(string $key, array $keys) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + +
string$key
array$keys
+ + +

Return Value

+ + + + + + +
RedisCluster|bool
+ + + +

See also

+ + + + + + +
+ +Redis::pfmerge +
+ + +
+
+ +
+
+

+ + mixed + ping(string|array $key_or_address, string|null $message = NULL) + +

+
+ + + +
+

PING an instance in the redis cluster.

+
+
+

Parameters

+ + + + + + + + + + + + +
string|array$key_or_address

Either a key name or a two element array with host and +address, informing RedisCluster which node to ping.

string|null$message

An optional message to send.

+ + +

Return Value

+ + + + + + +
mixed

This method always returns true if no message was sent, and the message itself +if one was.

+ + + +

See also

+ + + + + + +
+ +Redis::ping +
+ + +
+
+ +
+
+

+ + RedisCluster|bool + psetex(string $key, int $timeout, string $value) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + + + + + + +
string$key
int$timeout
string$value
+ + +

Return Value

+ + + + + + +
RedisCluster|bool
+ + + +

See also

+ + + + + + +
+ Redis::psetex +
+ + +
+
+ +
+
+

+ + void + psubscribe(array $patterns, callable $callback) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + +
array$patterns
callable$callback
+ + +

Return Value

+ + + + + + +
void
+ + + +

See also

+ + + + + + +
+ Redis::psubscribe +
+ + +
+
+ +
+
+

+ + RedisCluster|int|false + pttl(string $key) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + +
string$key
+ + +

Return Value

+ + + + + + +
RedisCluster|int|false
+ + + +

See also

+ + + + + + +
+ Redis::pttl +
+ + +
+
+ +
+
+

+ + RedisCluster|bool + publish(string $channel, string $message) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + +
string$channel
string$message
+ + +

Return Value

+ + + + + + +
RedisCluster|bool
+ + + +

See also

+ + + + + + +
+ Redis::publish +
+ + +
+
+ +
+
+

+ + mixed + pubsub(string|array $key_or_address, string ...$values) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + +
string|array$key_or_address
string...$values
+ + +

Return Value

+ + + + + + +
mixed
+ + + +

See also

+ + + + + + +
+ Redis::pubsub +
+ + +
+
+ +
+
+

+ + bool|array + punsubscribe(string $pattern, string ...$other_patterns) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + +
string$pattern
string...$other_patterns
+ + +

Return Value

+ + + + + + +
bool|array
+ + + +

See also

+ + + + + + +
+ Redis::punsubscribe +
+ + +
+
+ +
+
+

+ + RedisCluster|bool|string + randomkey(string|array $key_or_address) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + +
string|array$key_or_address
+ + +

Return Value

+ + + + + + +
RedisCluster|bool|string
+ + + +

See also

+ + + + + + +
+ Redis::randomkey +
+ + +
+
+ +
+
+

+ + mixed + rawcommand(string|array $key_or_address, string $command, mixed ...$args) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + + + + + + +
string|array$key_or_address
string$command
mixed...$args
+ + +

Return Value

+ + + + + + +
mixed
+ + + +

See also

+ + + + + + +
+ Redis::rawcommand +
+ + +
+
+ +
+
+

+ + RedisCluster|bool + rename(string $key_src, string $key_dst) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + +
string$key_src
string$key_dst
+ + +

Return Value

+ + + + + + +
RedisCluster|bool
+ + + +

See also

+ + + + + + +
+ Redis::rename +
+ + +
+
+ +
+
+

+ + RedisCluster|bool + renamenx(string $key, string $newkey) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + +
string$key
string$newkey
+ + +

Return Value

+ + + + + + +
RedisCluster|bool
+ + + +

See also

+ + + + + + +
+ Redis::renamenx +
+ + +
+
+ +
+
+

+ + RedisCluster|bool + restore(string $key, int $timeout, string $value, array|null $options = NULL) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + + + + + + + + + + + +
string$key
int$timeout
string$value
array|null$options
+ + +

Return Value

+ + + + + + +
RedisCluster|bool
+ + + +

See also

+ + + + + + +
+ Redis::restore +
+ + +
+
+ +
+
+

+ + mixed + role(string|array $key_or_address) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + +
string|array$key_or_address
+ + +

Return Value

+ + + + + + +
mixed
+ + + +

See also

+ + + + + + +
+ Redis::role +
+ + +
+
+ +
+
+

+ + RedisCluster|bool|string|array + rpop(string $key, int $count = 0) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + +
string$key
int$count
+ + +

Return Value

+ + + + + + +
RedisCluster|bool|string|array
+ + + +

See also

+ + + + + + +
+ \Redis::rpop() +
+ + +
+
+ +
+
+

+ + RedisCluster|bool|string + rpoplpush(string $src, string $dst) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + +
string$src
string$dst
+ + +

Return Value

+ + + + + + +
RedisCluster|bool|string
+ + + +

See also

+ + + + + + +
+ +Redis::rpoplpush +
+ + +
+
+ +
+
+

+ + RedisCluster|int|false + rpush(string $key, mixed ...$elements) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + +
string$key
mixed...$elements
+ + +

Return Value

+ + + + + + +
RedisCluster|int|false
+ + + +

See also

+ + + + + + +
+ Redis::rpush +
+ + +
+
+ +
+
+

+ + RedisCluster|bool|int + rpushx(string $key, string $value) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + +
string$key
string$value
+ + +

Return Value

+ + + + + + +
RedisCluster|bool|int
+ + + +

See also

+ + + + + + +
+ Redis::rpushx +
+ + +
+
+ +
+
+

+ + RedisCluster|int|false + sadd(string $key, mixed $value, mixed ...$other_values) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + + + + + + +
string$key
mixed$value
mixed...$other_values
+ + +

Return Value

+ + + + + + +
RedisCluster|int|false
+ + + +

See also

+ + + + + + +
+ \Redis::sadd() +
+ + +
+
+ +
+
+

+ + RedisCluster|bool|int + saddarray(string $key, array $values) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + +
string$key
array$values
+ + +

Return Value

+ + + + + + +
RedisCluster|bool|int
+ + + +

See also

+ + + + + + +
+ \Redis::saddarray() +
+ + +
+
+ +
+
+

+ + RedisCluster|bool + save(string|array $key_or_address) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + +
string|array$key_or_address
+ + +

Return Value

+ + + + + + +
RedisCluster|bool
+ + + +

See also

+ + + + + + +
+ Redis::save +
+ + +
+
+ +
+
+

+ + bool|array + scan(int|null $iterator, string|array $key_or_address, string|null $pattern = null, int $count = 0) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + + + + + + + + + + + +
int|null$iterator
string|array$key_or_address
string|null$pattern
int$count
+ + +

Return Value

+ + + + + + +
bool|array
+ + + +

See also

+ + + + + + +
+ Redis::scan +
+ + +
+
+ +
+
+

+ + RedisCluster|int|false + scard(string $key) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + +
string$key
+ + +

Return Value

+ + + + + + +
RedisCluster|int|false
+ + + +

See also

+ + + + + + +
+ Redis::scard +
+ + +
+
+ +
+
+

+ + mixed + script(string|array $key_or_address, mixed ...$args) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + +
string|array$key_or_address
mixed...$args
+ + +

Return Value

+ + + + + + +
mixed
+ + + +

See also

+ + + + + + +
+ Redis::script +
+ + +
+
+ +
+
+

+ + RedisCluster|array|false + sdiff(string $key, string ...$other_keys) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + +
string$key
string...$other_keys
+ + +

Return Value

+ + + + + + +
RedisCluster|array|false
+ + + +

See also

+ + + + + + +
+ \Redis::sdiff() +
+ + +
+
+ +
+
+

+ + RedisCluster|int|false + sdiffstore(string $dst, string $key, string ...$other_keys) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + + + + + + +
string$dst
string$key
string...$other_keys
+ + +

Return Value

+ + + + + + +
RedisCluster|int|false
+ + + +

See also

+ + + + + + +
+ \Redis::sdiffstore() +
+ + +
+
+ +
+
+

+ + RedisCluster|string|bool + set(string $key, mixed $value, mixed $options = NULL) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + + + + + + +
string$key
mixed$value
mixed$options
+ + +

Return Value

+ + + + + + +
RedisCluster|string|bool
+ + + +

See also

+ + + + + + +
+ https://redis.io/commands/set +
+ + +
+
+ +
+
+

+ + RedisCluster|int|false + setbit(string $key, int $offset, bool $onoff) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + + + + + + +
string$key
int$offset
bool$onoff
+ + +

Return Value

+ + + + + + +
RedisCluster|int|false
+ + + +

See also

+ + + + + + +
+ Redis::setbit +
+ + +
+
+ +
+
+

+ + RedisCluster|bool + setex(string $key, int $expire, mixed $value) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + + + + + + +
string$key
int$expire
mixed$value
+ + +

Return Value

+ + + + + + +
RedisCluster|bool
+ + + +

See also

+ + + + + + +
+ Redis::setex +
+ + +
+
+ +
+
+

+ + RedisCluster|bool + setnx(string $key, mixed $value) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + +
string$key
mixed$value
+ + +

Return Value

+ + + + + + +
RedisCluster|bool
+ + + +

See also

+ + + + + + +
+ Redis::setnx +
+ + +
+
+ +
+
+

+ + bool + setoption(int $option, mixed $value) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + +
int$option
mixed$value
+ + +

Return Value

+ + + + + + +
bool
+ + + +

See also

+ + + + + + +
+ Redis::setoption +
+ + +
+
+ +
+
+

+ + RedisCluster|int|false + setrange(string $key, int $offset, string $value) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + + + + + + +
string$key
int$offset
string$value
+ + +

Return Value

+ + + + + + +
RedisCluster|int|false
+ + + +

See also

+ + + + + + +
+ Redis::setrange +
+ + +
+
+ +
+
+

+ + RedisCluster|array|false + sinter(array|string $key, string ...$other_keys) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + +
array|string$key
string...$other_keys
+ + +

Return Value

+ + + + + + +
RedisCluster|array|false
+ + + +

See also

+ + + + + + +
+ \Redis::sinter() +
+ + +
+
+ +
+
+

+ + RedisCluster|int|false + sintercard(array $keys, int $limit = -1) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + +
array$keys
int$limit
+ + +

Return Value

+ + + + + + +
RedisCluster|int|false
+ + + +

See also

+ + + + + + +
+ Redis::sintercard +
+ + +
+
+ +
+
+

+ + RedisCluster|int|false + sinterstore(array|string $key, string ...$other_keys) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + +
array|string$key
string...$other_keys
+ + +

Return Value

+ + + + + + +
RedisCluster|int|false
+ + + +

See also

+ + + + + + +
+ \Redis::sinterstore() +
+ + +
+
+ +
+
+

+ + RedisCluster|bool + sismember(string $key, mixed $value) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + +
string$key
mixed$value
+ + +

Return Value

+ + + + + + +
RedisCluster|bool
+ + + +

See also

+ + + + + + +
+ Redis::sismember +
+ + +
+
+ +
+
+

+ + mixed + slowlog(string|array $key_or_address, mixed ...$args) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + +
string|array$key_or_address
mixed...$args
+ + +

Return Value

+ + + + + + +
mixed
+ + + +

See also

+ + + + + + +
+ Redis::slowlog +
+ + +
+
+ +
+
+

+ + RedisCluster|array|false + smembers(string $key) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + +
string$key
+ + +

Return Value

+ + + + + + +
RedisCluster|array|false
+ + + +

See also

+ + + + + + +
+ \Redis::smembers() +
+ + +
+
+ +
+
+

+ + RedisCluster|bool + smove(string $src, string $dst, string $member) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + + + + + + +
string$src
string$dst
string$member
+ + +

Return Value

+ + + + + + +
RedisCluster|bool
+ + + +

See also

+ + + + + + +
+ \Redis::smove() +
+ + +
+
+ +
+
+

+ + RedisCluster|array|bool|int|string + sort(string $key, array|null $options = NULL) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + +
string$key
array|null$options
+ + +

Return Value

+ + + + + + +
RedisCluster|array|bool|int|string
+ + + +

See also

+ + + + + + +
+ +Redis::sort +
+ + +
+
+ +
+
+

+ + RedisCluster|array|bool|int|string + sort_ro(string $key, array|null $options = NULL) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + +
string$key
array|null$options
+ + +

Return Value

+ + + + + + +
RedisCluster|array|bool|int|string
+ + + +

See also

+ + + + + + +
+ +Redis::sort_ro +
+ + +
+
+ +
+
+

+ + RedisCluster|string|array|false + spop(string $key, int $count = 0) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + +
string$key
int$count
+ + +

Return Value

+ + + + + + +
RedisCluster|string|array|false
+ + + +

See also

+ + + + + + +
+ Redis::spop +
+ + +
+
+ +
+
+

+ + RedisCluster|string|array|false + srandmember(string $key, int $count = 0) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + +
string$key
int$count
+ + +

Return Value

+ + + + + + +
RedisCluster|string|array|false
+ + + +

See also

+ + + + + + +
+ Redis::srandmember +
+ + +
+
+ +
+
+

+ + RedisCluster|int|false + srem(string $key, mixed $value, mixed ...$other_values) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + + + + + + +
string$key
mixed$value
mixed...$other_values
+ + +

Return Value

+ + + + + + +
RedisCluster|int|false
+ + + +

See also

+ + + + + + +
+ Redis::srem +
+ + +
+
+ +
+
+

+ + array|false + sscan(string $key, int|null $iterator, string|null $pattern = null, int $count = 0) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + + + + + + + + + + + +
string$key
int|null$iterator
string|null$pattern
int$count
+ + +

Return Value

+ + + + + + +
array|false
+ + + +

See also

+ + + + + + +
+ Redis::sscan +
+ + +
+
+ +
+
+

+ + RedisCluster|int|false + strlen(string $key) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + +
string$key
+ + +

Return Value

+ + + + + + +
RedisCluster|int|false
+ + + +

See also

+ + + + + + +
+ Redis::strlen +
+ + +
+
+ +
+
+

+ + void + subscribe(array $channels, callable $cb) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + +
array$channels
callable$cb
+ + +

Return Value

+ + + + + + +
void
+ + + +

See also

+ + + + + + +
+ Redis::subscribe +
+ + +
+
+ +
+
+

+ + RedisCluster|bool|array + sunion(string $key, string ...$other_keys) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + +
string$key
string...$other_keys
+ + +

Return Value

+ + + + + + +
RedisCluster|bool|array
+ + + +

See also

+ + + + + + +
+ \Redis::sunion() +
+ + +
+
+ +
+
+

+ + RedisCluster|int|false + sunionstore(string $dst, string $key, string ...$other_keys) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + + + + + + +
string$dst
string$key
string...$other_keys
+ + +

Return Value

+ + + + + + +
RedisCluster|int|false
+ + + +

See also

+ + + + + + +
+ \Redis::sunionstore() +
+ + +
+
+ +
+
+

+ + RedisCluster|bool|array + time(string|array $key_or_address) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + +
string|array$key_or_address
+ + +

Return Value

+ + + + + + +
RedisCluster|bool|array
+ + + +

See also

+ + + + + + +
+ Redis::time +
+ + +
+
+ +
+
+

+ + RedisCluster|int|false + ttl(string $key) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + +
string$key
+ + +

Return Value

+ + + + + + +
RedisCluster|int|false
+ + + +

See also

+ + + + + + +
+ Redis::ttl +
+ + +
+
+ +
+
+

+ + RedisCluster|int|false + type(string $key) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + +
string$key
+ + +

Return Value

+ + + + + + +
RedisCluster|int|false
+ + + +

See also

+ + + + + + +
+ Redis::type +
+ + +
+
+ +
+
+

+ + bool|array + unsubscribe(array $channels) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + +
array$channels
+ + +

Return Value

+ + + + + + +
bool|array
+ + + +

See also

+ + + + + + +
+ Redis::unsubscribe +
+ + +
+
+ +
+
+ +
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + +
array|string$key
string...$other_keys
+ + +

Return Value

+ + + + + + +
RedisCluster|int|false
+ + + +

See also

+ + + + + + +
+ Redis::unlink +
+ + +
+
+ +
+
+

+ + bool + unwatch() + +

+
+ + + +
+

No description

+ +
+
+ +

Return Value

+ + + + + + +
bool
+ + + +

See also

+ + + + + + +
+ Redis::unwatch +
+ + +
+
+ +
+
+

+ + RedisCluster|bool + watch(string $key, string ...$other_keys) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + +
string$key
string...$other_keys
+ + +

Return Value

+ + + + + + +
RedisCluster|bool
+ + + +

See also

+ + + + + + +
+ Redis::watch +
+ + +
+
+ +
+
+

+ + RedisCluster|int|false + xack(string $key, string $group, array $ids) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + + + + + + +
string$key
string$group
array$ids
+ + +

Return Value

+ + + + + + +
RedisCluster|int|false
+ + + +

See also

+ + + + + + +
+ Redis::xack +
+ + +
+
+ +
+
+

+ + RedisCluster|string|false + xadd(string $key, string $id, array $values, int $maxlen = 0, bool $approx = false) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
string$key
string$id
array$values
int$maxlen
bool$approx
+ + +

Return Value

+ + + + + + +
RedisCluster|string|false
+ + + +

See also

+ + + + + + +
+ Redis::xadd +
+ + +
+
+ +
+
+

+ + RedisCluster|string|array|false + xclaim(string $key, string $group, string $consumer, int $min_iddle, array $ids, array $options) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
string$key
string$group
string$consumer
int$min_iddle
array$ids
array$options
+ + +

Return Value

+ + + + + + +
RedisCluster|string|array|false
+ + + +

See also

+ + + + + + +
+ Redis::xclaim +
+ + +
+
+ +
+
+

+ + RedisCluster|int|false + xdel(string $key, array $ids) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + +
string$key
array$ids
+ + +

Return Value

+ + + + + + +
RedisCluster|int|false
+ + + +

See also

+ + + + + + +
+ Redis::xdel +
+ + +
+
+ +
+
+

+ + mixed + xgroup(string $operation, string $key = null, string $arg1 = null, string $arg2 = null, bool $arg3 = false) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
string$operation
string$key
string$arg1
string$arg2
bool$arg3
+ + +

Return Value

+ + + + + + +
mixed
+ + + +

See also

+ + + + + + +
+ Redis::xgroup +
+ + +
+
+ +
+
+

+ + mixed + xinfo(string $operation, string|null $arg1 = null, string|null $arg2 = null, int $count = -1) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + + + + + + + + + + + +
string$operation
string|null$arg1
string|null$arg2
int$count
+ + +

Return Value

+ + + + + + +
mixed
+ + + +

See also

+ + + + + + +
+ Redis::xinfo +
+ + +
+
+ +
+
+

+ + RedisCluster|int|false + xlen(string $key) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + +
string$key
+ + +

Return Value

+ + + + + + +
RedisCluster|int|false
+ + + +

See also

+ + + + + + +
+ Redis::xlen +
+ + +
+
+ +
+
+

+ + RedisCluster|array|false + xpending(string $key, string $group, string|null $start = null, string|null $end = null, int $count = -1, string|null $consumer = null) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
string$key
string$group
string|null$start
string|null$end
int$count
string|null$consumer
+ + +

Return Value

+ + + + + + +
RedisCluster|array|false
+ + + +

See also

+ + + + + + +
+ Redis::xpending +
+ + +
+
+ +
+
+

+ + RedisCluster|bool|array + xrange(string $key, string $start, string $end, int $count = -1) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + + + + + + + + + + + +
string$key
string$start
string$end
int$count
+ + +

Return Value

+ + + + + + +
RedisCluster|bool|array
+ + + +

See also

+ + + + + + +
+ Redis::xrange +
+ + +
+
+ +
+
+

+ + RedisCluster|bool|array + xread(array $streams, int $count = -1, int $block = -1) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + + + + + + +
array$streams
int$count
int$block
+ + +

Return Value

+ + + + + + +
RedisCluster|bool|array
+ + + +

See also

+ + + + + + +
+ Redis::xread +
+ + +
+
+ +
+
+

+ + RedisCluster|bool|array + xreadgroup(string $group, string $consumer, array $streams, int $count = 1, int $block = 1) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
string$group
string$consumer
array$streams
int$count
int$block
+ + +

Return Value

+ + + + + + +
RedisCluster|bool|array
+ + + +

See also

+ + + + + + +
+ Redis::xreadgroup +
+ + +
+
+ +
+
+

+ + RedisCluster|bool|array + xrevrange(string $key, string $start, string $end, int $count = -1) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + + + + + + + + + + + +
string$key
string$start
string$end
int$count
+ + +

Return Value

+ + + + + + +
RedisCluster|bool|array
+ + + +

See also

+ + + + + + +
+ Redis::xrevrange +
+ + +
+
+ +
+
+

+ + RedisCluster|int|false + xtrim(string $key, int $maxlen, bool $approx = false, bool $minid = false, int $limit = -1) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
string$key
int$maxlen
bool$approx
bool$minid
int$limit
+ + +

Return Value

+ + + + + + +
RedisCluster|int|false
+ + + +

See also

+ + + + + + +
+ Redis::xtrim +
+ + +
+
+ +
+
+

+ + RedisCluster|int|false + zadd(string $key, array|float $score_or_options, mixed ...$more_scores_and_mems) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + + + + + + +
string$key
array|float$score_or_options
mixed...$more_scores_and_mems
+ + +

Return Value

+ + + + + + +
RedisCluster|int|false
+ + + +

See also

+ + + + + + +
+ Redis::zadd +
+ + +
+
+ +
+
+

+ + RedisCluster|int|false + zcard(string $key) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + +
string$key
+ + +

Return Value

+ + + + + + +
RedisCluster|int|false
+ + + +

See also

+ + + + + + +
+ Redis::zcard +
+ + +
+
+ +
+
+

+ + RedisCluster|int|false + zcount(string $key, string $start, string $end) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + + + + + + +
string$key
string$start
string$end
+ + +

Return Value

+ + + + + + +
RedisCluster|int|false
+ + + +

See also

+ + + + + + +
+ Redis::zcount +
+ + +
+
+ +
+
+

+ + RedisCluster|float|false + zincrby(string $key, float $value, string $member) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + + + + + + +
string$key
float$value
string$member
+ + +

Return Value

+ + + + + + +
RedisCluster|float|false
+ + + +

See also

+ + + + + + +
+ Redis::zincrby +
+ + +
+
+ +
+
+

+ + RedisCluster|int|false + zinterstore(string $dst, array $keys, array|null $weights = null, string|null $aggregate = null) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + + + + + + + + + + + +
string$dst
array$keys
array|null$weights
string|null$aggregate
+ + +

Return Value

+ + + + + + +
RedisCluster|int|false
+ + + +

See also

+ + + + + + +
+ Redis::zinterstore +
+ + +
+
+ +
+
+

+ + RedisCluster|int|false + zintercard(array $keys, int $limit = -1) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + +
array$keys
int$limit
+ + +

Return Value

+ + + + + + +
RedisCluster|int|false
+ + + +

See also

+ + + + + + +
+ Redis::zintercard +
+ + +
+
+ +
+
+

+ + RedisCluster|int|false + zlexcount(string $key, string $min, string $max) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + + + + + + +
string$key
string$min
string$max
+ + +

Return Value

+ + + + + + +
RedisCluster|int|false
+ + + +

See also

+ + + + + + +
+ Redis::zlexcount +
+ + +
+
+ +
+
+

+ + RedisCluster|bool|array + zpopmax(string $key, int $value = null) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + +
string$key
int$value
+ + +

Return Value

+ + + + + + +
RedisCluster|bool|array
+ + + +

See also

+ + + + + + +
+ Redis::zpopmax +
+ + +
+
+ +
+
+

+ + RedisCluster|bool|array + zpopmin(string $key, int $value = null) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + +
string$key
int$value
+ + +

Return Value

+ + + + + + +
RedisCluster|bool|array
+ + + +

See also

+ + + + + + +
+ Redis::zpopmin +
+ + +
+
+ +
+
+

+ + RedisCluster|array|bool + zrange(string $key, mixed $start, mixed $end, array|bool|null $options = null) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + + + + + + + + + + + +
string$key
mixed$start
mixed$end
array|bool|null$options
+ + +

Return Value

+ + + + + + +
RedisCluster|array|bool
+ + + +

See also

+ + + + + + +
+ Redis::zrange +
+ + +
+
+ +
+
+

+ + RedisCluster|int|false + zrangestore(string $dstkey, string $srckey, int $start, int $end, array|bool|null $options = null) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
string$dstkey
string$srckey
int$start
int$end
array|bool|null$options
+ + +

Return Value

+ + + + + + +
RedisCluster|int|false
+ + + +

See also

+ + + + + + +
+ Redis::zrangestore +
+ + +
+
+ +
+
+

+ + RedisCluster|array|false + zrangebylex(string $key, string $min, string $max, int $offset = -1, int $count = -1) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
string$key
string$min
string$max
int$offset
int$count
+ + +

Return Value

+ + + + + + +
RedisCluster|array|false
+ + + +

See also

+ + + + + + +
+ Redis::zrangebylex +
+ + +
+
+ +
+
+

+ + RedisCluster|array|false + zrangebyscore(string $key, string $start, string $end, array $options = []) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + + + + + + + + + + + +
string$key
string$start
string$end
array$options
+ + +

Return Value

+ + + + + + +
RedisCluster|array|false
+ + + +

See also

+ + + + + + +
+ Redis::zrangebyscore +
+ + +
+
+ +
+
+

+ + RedisCluster|int|false + zrank(string $key, mixed $member) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + +
string$key
mixed$member
+ + +

Return Value

+ + + + + + +
RedisCluster|int|false
+ + + +

See also

+ + + + + + +
+ Redis::zrank +
+ + +
+
+ +
+
+

+ + RedisCluster|int|false + zrem(string $key, string $value, string ...$other_values) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + + + + + + +
string$key
string$value
string...$other_values
+ + +

Return Value

+ + + + + + +
RedisCluster|int|false
+ + + +

See also

+ + + + + + +
+ Redis::zrem +
+ + +
+
+ +
+
+

+ + RedisCluster|int|false + zremrangebylex(string $key, string $min, string $max) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + + + + + + +
string$key
string$min
string$max
+ + +

Return Value

+ + + + + + +
RedisCluster|int|false
+ + + +

See also

+ + + + + + +
+ Redis::zremrangebylex +
+ + +
+
+ +
+
+

+ + RedisCluster|int|false + zremrangebyrank(string $key, string $min, string $max) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + + + + + + +
string$key
string$min
string$max
+ + +

Return Value

+ + + + + + +
RedisCluster|int|false
+ + + +

See also

+ + + + + + +
+ Redis::zremrangebyrank +
+ + +
+
+ +
+
+

+ + RedisCluster|int|false + zremrangebyscore(string $key, string $min, string $max) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + + + + + + +
string$key
string$min
string$max
+ + +

Return Value

+ + + + + + +
RedisCluster|int|false
+ + + +

See also

+ + + + + + +
+ Redis::zremrangebyscore +
+ + +
+
+ +
+
+

+ + RedisCluster|bool|array + zrevrange(string $key, string $min, string $max, array $options = null) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + + + + + + + + + + + +
string$key
string$min
string$max
array$options
+ + +

Return Value

+ + + + + + +
RedisCluster|bool|array
+ + + +

See also

+ + + + + + +
+ Redis::zrevrange +
+ + +
+
+ +
+
+

+ + RedisCluster|bool|array + zrevrangebylex(string $key, string $min, string $max, array $options = null) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + + + + + + + + + + + +
string$key
string$min
string$max
array$options
+ + +

Return Value

+ + + + + + +
RedisCluster|bool|array
+ + + +

See also

+ + + + + + +
+ Redis::zrevrangebylex +
+ + +
+
+ +
+
+

+ + RedisCluster|bool|array + zrevrangebyscore(string $key, string $min, string $max, array $options = null) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + + + + + + + + + + + +
string$key
string$min
string$max
array$options
+ + +

Return Value

+ + + + + + +
RedisCluster|bool|array
+ + + +

See also

+ + + + + + +
+ Redis::zrevrangebyscore +
+ + +
+
+ +
+
+

+ + RedisCluster|int|false + zrevrank(string $key, mixed $member) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + +
string$key
mixed$member
+ + +

Return Value

+ + + + + + +
RedisCluster|int|false
+ + + +

See also

+ + + + + + +
+ Redis::zrevrank +
+ + +
+
+ +
+
+

+ + RedisCluster|bool|array + zscan(string $key, int|null $iterator, string|null $pattern = null, int $count = 0) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + + + + + + + + + + + +
string$key
int|null$iterator
string|null$pattern
int$count
+ + +

Return Value

+ + + + + + +
RedisCluster|bool|array
+ + + +

See also

+ + + + + + +
+ Redis::zscan +
+ + +
+
+ +
+
+

+ + RedisCluster|float|false + zscore(string $key, mixed $member) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + +
string$key
mixed$member
+ + +

Return Value

+ + + + + + +
RedisCluster|float|false
+ + + +

See also

+ + + + + + +
+ Redis::zscore +
+ + +
+
+ +
+
+

+ + RedisCluster|int|false + zunionstore(string $dst, array $keys, array|null $weights = NULL, string|null $aggregate = NULL) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + + + + + + + + + + + +
string$dst
array$keys
array|null$weights
string|null$aggregate
+ + +

Return Value

+ + + + + + +
RedisCluster|int|false
+ + + +

See also

+ + + + + + +
+ Redis::zunionstore +
+ + +
+
+ +
+
+ + +
+
+ + + diff --git a/docs/RedisClusterException.html b/docs/RedisClusterException.html new file mode 100644 index 0000000..c366b7f --- /dev/null +++ b/docs/RedisClusterException.html @@ -0,0 +1,103 @@ + + + + + + RedisClusterException | PhpRedis API + + + + + + + + + + + + + + + + + +
+
+
+ +
+ + +
+
+
+ +
+ +
+
+ + +
+ + + +

class + RedisClusterException extends RuntimeException (View source) +

+ + + + + + + + + + +
+
+ + + diff --git a/docs/RedisException.html b/docs/RedisException.html new file mode 100644 index 0000000..4851bca --- /dev/null +++ b/docs/RedisException.html @@ -0,0 +1,103 @@ + + + + + + RedisException | PhpRedis API + + + + + + + + + + + + + + + + + +
+
+
+ +
+ + +
+
+
+ +
+ +
+
+ + +
+ + + +

class + RedisException extends RuntimeException (View source) +

+ + + + + + + + + + +
+
+ + + diff --git a/docs/RedisSentinel.html b/docs/RedisSentinel.html new file mode 100644 index 0000000..00674d8 --- /dev/null +++ b/docs/RedisSentinel.html @@ -0,0 +1,748 @@ + + + + + + RedisSentinel | PhpRedis API + + + + + + + + + + + + + + + + + +
+
+
+ +
+ + +
+
+
+ +
+ +
+
+ + +
+ + + +

class + RedisSentinel (View source) +

+ + + + + + + + + +

Methods

+ +
+
+
+ +
+
+ __construct(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) + +

No description

+
+
+
+
+
+ bool|RedisSentinel +
+
+ ckquorum(string $master) + +

No description

+
+
+
+
+
+ bool|RedisSentinel +
+
+ failover(string $master) + +

No description

+
+
+
+
+
+ bool|RedisSentinel +
+
+ flushconfig() + +

No description

+
+
+
+
+
+ array|bool|RedisSentinel +
+
+ getMasterAddrByName(string $master) + +

No description

+
+
+
+
+
+ array|bool|RedisSentinel +
+
+ master(string $master) + +

No description

+
+
+
+
+
+ array|bool|RedisSentinel +
+
+ masters() + +

No description

+
+
+
+
+
+ string +
+
+ myid() + +

No description

+
+
+
+
+
+ bool|RedisSentinel +
+
+ ping() + +

No description

+
+
+
+
+
+ bool|RedisSentinel +
+
+ reset(string $pattern) + +

No description

+
+
+
+
+
+ array|bool|RedisSentinel +
+
+ sentinels(string $master) + +

No description

+
+
+
+
+
+ array|bool|RedisSentinel +
+
+ slaves(string $master) + +

No description

+
+
+
+
+ + +

Details

+ +
+
+

+ + + __construct(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) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
string$host
int$port
float$timeout
mixed$persistent
int$retry_interval
float$read_timeout
mixed$auth
array$context
+ + + + + +
+
+ +
+
+

+ + bool|RedisSentinel + ckquorum(string $master) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + +
string$master
+ + +

Return Value

+ + + + + + +
bool|RedisSentinel
+ + + + +
+
+ +
+
+

+ + bool|RedisSentinel + failover(string $master) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + +
string$master
+ + +

Return Value

+ + + + + + +
bool|RedisSentinel
+ + + + +
+
+ +
+
+

+ + bool|RedisSentinel + flushconfig() + +

+
+ + + +
+

No description

+ +
+
+ +

Return Value

+ + + + + + +
bool|RedisSentinel
+ + + + +
+
+ +
+
+

+ + array|bool|RedisSentinel + getMasterAddrByName(string $master) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + +
string$master
+ + +

Return Value

+ + + + + + +
array|bool|RedisSentinel
+ + + + +
+
+ +
+
+

+ + array|bool|RedisSentinel + master(string $master) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + +
string$master
+ + +

Return Value

+ + + + + + +
array|bool|RedisSentinel
+ + + + +
+
+ +
+
+

+ + array|bool|RedisSentinel + masters() + +

+
+ + + +
+

No description

+ +
+
+ +

Return Value

+ + + + + + +
array|bool|RedisSentinel
+ + + + +
+
+ +
+
+

+ + string + myid() + +

+
+ + + +
+

No description

+ +
+
+ +

Return Value

+ + + + + + +
string
+ + + + +
+
+ +
+
+

+ + bool|RedisSentinel + ping() + +

+
+ + + +
+

No description

+ +
+
+ +

Return Value

+ + + + + + +
bool|RedisSentinel
+ + + + +
+
+ +
+
+

+ + bool|RedisSentinel + reset(string $pattern) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + +
string$pattern
+ + +

Return Value

+ + + + + + +
bool|RedisSentinel
+ + + + +
+
+ +
+
+

+ + array|bool|RedisSentinel + sentinels(string $master) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + +
string$master
+ + +

Return Value

+ + + + + + +
array|bool|RedisSentinel
+ + + + +
+
+ +
+
+

+ + array|bool|RedisSentinel + slaves(string $master) + +

+
+ + + +
+

No description

+ +
+
+

Parameters

+ + + + + + + +
string$master
+ + +

Return Value

+ + + + + + +
array|bool|RedisSentinel
+ + + + +
+
+ +
+
+ + +
+
+ + + diff --git a/docs/[Global_Namespace].html b/docs/[Global_Namespace].html new file mode 100644 index 0000000..9c8ee96 --- /dev/null +++ b/docs/[Global_Namespace].html @@ -0,0 +1,134 @@ + + + + + + [Global Namespace] | PhpRedis API + + + + + + + + + + + + + + + + + +
+
+
+ +
+ + +
+
+
+ +
+ +
+
+ + +
+ +
+
+ + +

Namespaces

+ + +

Classes

+
+
+
+ Redis
+
+
+
+ +
+
+
+ +
+
+ +
+ +
+
+
+ +
+
+
+ + + +
+
+ + + diff --git a/docs/classes.html b/docs/classes.html new file mode 100644 index 0000000..255cc79 --- /dev/null +++ b/docs/classes.html @@ -0,0 +1,120 @@ + + + + + + All Classes | PhpRedis API + + + + + + + + + + + + + + + + + +
+
+
+ +
+ + +
+
+
+ +
+ +
+
+ + +
+ + +
+
+
+ Redis
+
+
+
+ +
+
+
+ +
+
+ +
+ +
+
+
+ +
+
+
+
+
+ + + diff --git a/docs/css/bootstrap-theme.min.css b/docs/css/bootstrap-theme.min.css new file mode 100644 index 0000000..59e7de9 --- /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 0000000..633f747 --- /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 0000000..77796f8 --- /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 0000000..e9d8899 --- /dev/null +++ b/docs/doc-index.html @@ -0,0 +1,1187 @@ + + + + + + Index | PhpRedis API + + + + + + + + + + + + + + + + + +
+
+
+ +
+ + +
+
+
+ +
+ +
+
+ + +
+ + + + +

A

+
+Redis::acl() — Method in class Redis
+
+Redis::append() — Method in class Redis
+

Append data to a Redis STRING key.

+Redis::auth() — Method in class Redis
+

Authenticate a Redis connection after its been established.

+RedisCluster::acl() — Method in class RedisCluster
+
+RedisCluster::append() — Method in class RedisCluster
+

B

+
+Redis::bgSave() — Method in class Redis
+

Execute a save of the Redis database in the background.

+Redis::bgrewriteaof() — Method in class Redis
+

Asynchronously rewrite Redis' append-only file

+Redis::bitcount() — Method in class Redis
+

Count the number of set bits in a Redis string.

+Redis::bitop() — Method in class Redis
+
+Redis::bitpos() — Method in class Redis
+

Return the position of the first bit set to 0 or 1 in a string.

+Redis::blPop() — Method in class Redis
+

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.

+Redis::brPop() — Method in class Redis
+

Pop an element off of the end of a Redis list or lists, potentially blocking up to a specified timeout.

+Redis::brpoplpush() — Method in class Redis
+

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.

+Redis::bzPopMax() — Method in class Redis
+

POP the maximum scoring element off of one or more sorted sets, blocking up to a specified +timeout if no elements are available.

+Redis::bzPopMin() — Method in class Redis
+

POP the minimum scoring element off of one or more sorted sets, blocking up to a specified timeout +if no elements are available

+Redis::bzmpop() — Method in class Redis
+

POP one or more elements from one or more sorted sets, blocking up to a specified amount of time +when no elements are available.

+Redis::blmpop() — Method in class Redis
+

Pop one or more elements from one or more Redis LISTs, blocking up to a specified timeout when +no elements are available.

+RedisArray::bgsave() — Method in class RedisArray
+
+RedisCluster::bgrewriteaof() — Method in class RedisCluster
+
+RedisCluster::bgsave() — Method in class RedisCluster
+
+RedisCluster::bitcount() — Method in class RedisCluster
+
+RedisCluster::bitop() — Method in class RedisCluster
+
+RedisCluster::bitpos() — Method in class RedisCluster
+

Return the position of the first bit set to 0 or 1 in a string.

+RedisCluster::blpop() — Method in class RedisCluster
+

See Redis::blpop()

+RedisCluster::brpop() — Method in class RedisCluster
+

See Redis::brpop()

+RedisCluster::brpoplpush() — Method in class RedisCluster
+

See Redis::brpoplpush()

+RedisCluster::bzpopmax() — Method in class RedisCluster
+
+RedisCluster::bzpopmin() — Method in class RedisCluster
+
+RedisCluster::bzmpop() — Method in class RedisCluster
+
+RedisCluster::blmpop() — Method in class RedisCluster
+

C

+
+Redis::clearLastError() — Method in class Redis
+

Reset any last error on the connection to NULL

+Redis::client() — Method in class Redis
+
+Redis::close() — Method in class Redis
+
+Redis::command() — Method in class Redis
+
+Redis::config() — Method in class Redis
+

Execute the Redis CONFIG command in a variety of ways. What the command does in particular depends +on the $operation qualifier.

+Redis::connect() — Method in class Redis
+
+Redis::copy() — Method in class Redis
+

Make a copy of a redis key.

+RedisCluster::clearlasterror() — Method in class RedisCluster
+
+RedisCluster::client() — Method in class RedisCluster
+
+RedisCluster::close() — Method in class RedisCluster
+
+RedisCluster::cluster() — Method in class RedisCluster
+
+RedisCluster::command() — Method in class RedisCluster
+
+RedisCluster::config() — Method in class RedisCluster
+
+RedisSentinel::ckquorum() — Method in class RedisSentinel
+

D

+
+Redis::dbSize() — Method in class Redis
+

Return the number of keys in the currently selected Redis database.

+Redis::debug() — Method in class Redis
+
+Redis::decr() — Method in class Redis
+

Decrement a Redis integer by 1 or a provided value.

+Redis::decrBy() — Method in class Redis
+

Decrement a redis integer by a value

+Redis::del() — Method in class Redis
+

Delete one or more keys from Redis.

+Redis::delete() — Method in class Redis
+
+Redis::discard() — Method in class Redis
+

Discard a transaction currently in progress.

+Redis::dump() — Method in class Redis
+

Dump Redis' internal binary representation of a key.

+RedisArray::del() — Method in class RedisArray
+
+RedisArray::discard() — Method in class RedisArray
+
+RedisCluster::dbsize() — Method in class RedisCluster
+
+RedisCluster::decr() — Method in class RedisCluster
+
+RedisCluster::decrby() — Method in class RedisCluster
+
+RedisCluster::decrbyfloat() — Method in class RedisCluster
+
+RedisCluster::del() — Method in class RedisCluster
+
+RedisCluster::discard() — Method in class RedisCluster
+
+RedisCluster::dump() — Method in class RedisCluster
+

E

+
+Redis::echo() — Method in class Redis
+

Have Redis repeat back an arbitrary string to the client.

+Redis::eval() — Method in class Redis
+

Execute a LUA script on the redis server.

+Redis::eval_ro() — Method in class Redis
+

This is simply the read-only variant of eval, meaning the underlying script +may not modify data in redis.

+Redis::evalsha() — Method in class Redis
+

Execute a LUA script on the server but instead of sending the script, send +the SHA1 hash of the script.

+Redis::evalsha_ro() — Method in class Redis
+

This is simply the read-only variant of evalsha, meaning the underlying script +may not modify data in redis.

+Redis::exec() — Method in class Redis
+

Execute either a MULTI or PIPELINE block and return the array of replies.

+Redis::exists() — Method in class Redis
+

Test if one or more keys exist.

+Redis::expire() — Method in class Redis
+

Sets an expiration in seconds on the key in question. If connected to +redis-server >= 7.0.0 you may send an additional "mode" argument which +modifies how the command will execute.

+Redis::expireAt() — Method in class Redis
+

Set a key's expiration to a specific Unix timestamp in seconds. If +connected to Redis >= 7.0.0 you can pass an optional 'mode' argument.

+Redis::expiretime() — Method in class Redis
+

Get the expiration of a given key as a unix timestamp

+RedisArray::exec() — Method in class RedisArray
+
+RedisCluster::echo() — Method in class RedisCluster
+
+RedisCluster::eval() — Method in class RedisCluster
+
+RedisCluster::eval_ro() — Method in class RedisCluster
+
+RedisCluster::evalsha() — Method in class RedisCluster
+
+RedisCluster::evalsha_ro() — Method in class RedisCluster
+
+RedisCluster::exec() — Method in class RedisCluster
+
+RedisCluster::exists() — Method in class RedisCluster
+
+RedisCluster::expire() — Method in class RedisCluster
+
+RedisCluster::expireat() — Method in class RedisCluster
+
+RedisCluster::expiretime() — Method in class RedisCluster
+

F

+
+Redis::failover() — Method in class Redis
+
+Redis::flushAll() — Method in class Redis
+

Deletes every key in all Redis databases

+Redis::flushDB() — Method in class Redis
+

Deletes all the keys of the currently selected database.

+RedisArray::flushall() — Method in class RedisArray
+
+RedisArray::flushdb() — Method in class RedisArray
+
+RedisCluster::flushall() — Method in class RedisCluster
+
+RedisCluster::flushdb() — Method in class RedisCluster
+
+RedisSentinel::failover() — Method in class RedisSentinel
+
+RedisSentinel::flushconfig() — Method in class RedisSentinel
+

G

+
+Redis::geoadd() — Method in class Redis
+
+Redis::geodist() — Method in class Redis
+
+Redis::geohash() — Method in class Redis
+
+Redis::geopos() — Method in class Redis
+
+Redis::georadius() — Method in class Redis
+
+Redis::georadius_ro() — Method in class Redis
+
+Redis::georadiusbymember() — Method in class Redis
+
+Redis::georadiusbymember_ro() — Method in class Redis
+
+Redis::geosearch() — Method in class Redis
+
+Redis::geosearchstore() — Method in class Redis
+
+Redis::get() — Method in class Redis
+
+Redis::getAuth() — Method in class Redis
+

Get the authentication information on the connection, if any.

+Redis::getBit() — Method in class Redis
+
+Redis::getEx() — Method in class Redis
+
+Redis::getDBNum() — Method in class Redis
+
+Redis::getDel() — Method in class Redis
+
+Redis::getHost() — Method in class Redis
+

Return the host or Unix socket we are connected to.

+Redis::getLastError() — Method in class Redis
+

Get the last error returned to us from Redis, if any.

+Redis::getMode() — Method in class Redis
+

Returns whether the connection is in ATOMIC, MULTI, or PIPELINE mode

+Redis::getOption() — Method in class Redis
+

Retrieve the value of a configuration setting as set by Redis::setOption()

+Redis::getPersistentID() — Method in class Redis
+

Get the persistent connection ID, if there is one.

+Redis::getPort() — Method in class Redis
+

Get the port we are connected to. This number will be zero if we are connected to a unix socket.

+Redis::getRange() — Method in class Redis
+

Retrieve a substring of a string by index.

+Redis::getReadTimeout() — Method in class Redis
+

Get the currently set read timeout on the connection.

+Redis::getset() — Method in class Redis
+

Sets a key and returns any previously set value, if the key already existed.

+Redis::getTimeout() — Method in class Redis
+

Retrieve any set connection timeout

+Redis::getTransferredBytes() — Method in class Redis
+
+RedisArray::getOption() — Method in class RedisArray
+
+RedisCluster::geoadd() — Method in class RedisCluster
+
+RedisCluster::geodist() — Method in class RedisCluster
+
+RedisCluster::geohash() — Method in class RedisCluster
+
+RedisCluster::geopos() — Method in class RedisCluster
+
+RedisCluster::georadius() — Method in class RedisCluster
+
+RedisCluster::georadius_ro() — Method in class RedisCluster
+
+RedisCluster::georadiusbymember() — Method in class RedisCluster
+
+RedisCluster::georadiusbymember_ro() — Method in class RedisCluster
+
+RedisCluster::get() — Method in class RedisCluster
+
+RedisCluster::getbit() — Method in class RedisCluster
+
+RedisCluster::getlasterror() — Method in class RedisCluster
+
+RedisCluster::getmode() — Method in class RedisCluster
+
+RedisCluster::getoption() — Method in class RedisCluster
+
+RedisCluster::getrange() — Method in class RedisCluster
+
+RedisCluster::getset() — Method in class RedisCluster
+
+RedisCluster::gettransferredbytes() — Method in class RedisCluster
+
+RedisSentinel::getMasterAddrByName() — Method in class RedisSentinel
+

H

+
+Redis::hDel() — Method in class Redis
+

Remove one or more fields from a hash.

+Redis::hExists() — Method in class Redis
+

Checks whether a field exists in a hash.

+Redis::hGet() — Method in class Redis
+
+Redis::hGetAll() — Method in class Redis
+

Read every field and value from a hash.

+Redis::hIncrBy() — Method in class Redis
+

Increment a hash field's value by an integer

+Redis::hIncrByFloat() — Method in class Redis
+

Increment a hash field by a floating point value

+Redis::hKeys() — Method in class Redis
+

Retrieve all of the fields of a hash.

+Redis::hLen() — Method in class Redis
+

Get the number of fields in a hash.

+Redis::hMget() — Method in class Redis
+

Get one or more fields from a hash.

+Redis::hMset() — Method in class Redis
+

Add or update one or more hash fields and values

+Redis::hRandField() — Method in class Redis
+

Get one or more random field from a hash.

+Redis::hSet() — Method in class Redis
+
+Redis::hSetNx() — Method in class Redis
+

Set a hash field and value, but only if that field does not exist

+Redis::hStrLen() — Method in class Redis
+

Get the string length of a hash field

+Redis::hVals() — Method in class Redis
+

Get all of the values from a hash.

+Redis::hscan() — Method in class Redis
+

Iterate over the fields and values of a hash in an incremental fashion.

+RedisArray::hscan() — Method in class RedisArray
+
+RedisCluster::hdel() — Method in class RedisCluster
+
+RedisCluster::hexists() — Method in class RedisCluster
+
+RedisCluster::hget() — Method in class RedisCluster
+
+RedisCluster::hgetall() — Method in class RedisCluster
+
+RedisCluster::hincrby() — Method in class RedisCluster
+
+RedisCluster::hincrbyfloat() — Method in class RedisCluster
+
+RedisCluster::hkeys() — Method in class RedisCluster
+
+RedisCluster::hlen() — Method in class RedisCluster
+
+RedisCluster::hmget() — Method in class RedisCluster
+
+RedisCluster::hmset() — Method in class RedisCluster
+
+RedisCluster::hscan() — Method in class RedisCluster
+
+RedisCluster::hset() — Method in class RedisCluster
+
+RedisCluster::hsetnx() — Method in class RedisCluster
+
+RedisCluster::hstrlen() — Method in class RedisCluster
+
+RedisCluster::hvals() — Method in class RedisCluster
+

I

+
+Redis::incr() — Method in class Redis
+

Increment a key's value, optionally by a specifc amount.

+Redis::incrBy() — Method in class Redis
+

Increment a key by a specific integer value

+Redis::incrByFloat() — Method in class Redis
+

Increment a numeric key by a floating point value.

+Redis::info() — Method in class Redis
+

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.

+Redis::isConnected() — Method in class Redis
+

Check if we are currently connected to a Redis instance.

+RedisArray::info() — Method in class RedisArray
+
+RedisCluster::incr() — Method in class RedisCluster
+
+RedisCluster::incrby() — Method in class RedisCluster
+
+RedisCluster::incrbyfloat() — Method in class RedisCluster
+
+RedisCluster::info() — Method in class RedisCluster
+

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.

K

+
+Redis::keys() — Method in class Redis
+
+RedisArray::keys() — Method in class RedisArray
+
+RedisCluster::keys() — Method in class RedisCluster
+

L

+
+Redis::lmpop() — Method in class Redis
+

Pop one or more elements off of one or more Redis LISTs.

+Redis::lcs() — Method in class Redis
+

Get the longest common subsequence between two string keys.

+Redis::lInsert() — Method in class Redis
+
+Redis::lLen() — Method in class Redis
+
+Redis::lMove() — Method in class Redis
+
+Redis::lPop() — Method in class Redis
+
+Redis::lPos() — Method in class Redis
+
+Redis::lPush() — Method in class Redis
+
+Redis::lPushx() — Method in class Redis
+
+Redis::lSet() — Method in class Redis
+
+Redis::lastSave() — Method in class Redis
+
+Redis::lindex() — Method in class Redis
+
+Redis::lrange() — Method in class Redis
+
+Redis::lrem() — Method in class Redis
+
+Redis::ltrim() — Method in class Redis
+
+RedisCluster::lmpop() — Method in class RedisCluster
+
+RedisCluster::lcs() — Method in class RedisCluster
+
+RedisCluster::lastsave() — Method in class RedisCluster
+
+RedisCluster::lget() — Method in class RedisCluster
+
+RedisCluster::lindex() — Method in class RedisCluster
+
+RedisCluster::linsert() — Method in class RedisCluster
+
+RedisCluster::llen() — Method in class RedisCluster
+
+RedisCluster::lpop() — Method in class RedisCluster
+
+RedisCluster::lpush() — Method in class RedisCluster
+
+RedisCluster::lpushx() — Method in class RedisCluster
+
+RedisCluster::lrange() — Method in class RedisCluster
+
+RedisCluster::lrem() — Method in class RedisCluster
+
+RedisCluster::lset() — Method in class RedisCluster
+
+RedisCluster::ltrim() — Method in class RedisCluster
+

M

+
+Redis::mget() — Method in class Redis
+
+Redis::migrate() — Method in class Redis
+
+Redis::move() — Method in class Redis
+
+Redis::mset() — Method in class Redis
+
+Redis::msetnx() — Method in class Redis
+
+Redis::multi() — Method in class Redis
+
+RedisArray::mget() — Method in class RedisArray
+
+RedisArray::mset() — Method in class RedisArray
+
+RedisArray::multi() — Method in class RedisArray
+
+RedisCluster::mget() — Method in class RedisCluster
+
+RedisCluster::mset() — Method in class RedisCluster
+
+RedisCluster::msetnx() — Method in class RedisCluster
+
+RedisCluster::multi() — Method in class RedisCluster
+
+RedisSentinel::master() — Method in class RedisSentinel
+
+RedisSentinel::masters() — Method in class RedisSentinel
+
+RedisSentinel::myid() — Method in class RedisSentinel
+

O

+
+Redis::object() — Method in class Redis
+
+Redis::open() — Method in class Redis
+
+RedisCluster::object() — Method in class RedisCluster
+

P

+
+Redis::pexpiretime() — Method in class Redis
+

Get the expriation timestamp of a given Redis key but in milliseconds.

+Redis::pconnect() — Method in class Redis
+
+Redis::persist() — Method in class Redis
+
+Redis::pexpire() — Method in class Redis
+

Sets an expiration in milliseconds on a given key. If connected to Redis >= 7.0.0 +you can pass an optional mode argument that modifies how the command will execute.

+Redis::pexpireAt() — Method in class Redis
+

Set a key's expiration to a specific Unix Timestamp in milliseconds. If connected to +Redis >= 7.0.0 you can pass an optional 'mode' argument.

+Redis::pfadd() — Method in class Redis
+

Add one or more elements to a Redis HyperLogLog key

+Redis::pfcount() — Method in class Redis
+

Retrieve the cardinality of a Redis HyperLogLog key.

+Redis::pfmerge() — Method in class Redis
+

Merge one or more source HyperLogLog sets into a destination set.

+Redis::ping() — Method in class Redis
+

PING the redis server with an optional string argument.

+Redis::pipeline() — Method in class Redis
+

Enter into pipeline mode.

+Redis::popen() — Method in class Redis
+
+Redis::psetex() — Method in class Redis
+
+Redis::psubscribe() — Method in class Redis
+

Subscribe to one or more glob-style patterns

+Redis::pttl() — Method in class Redis
+

Get a keys time to live in milliseconds.

+Redis::publish() — Method in class Redis
+

Publish a message to a pubsub channel

+Redis::pubsub() — Method in class Redis
+
+Redis::punsubscribe() — Method in class Redis
+

Unsubscribe from one or more channels by pattern

+RedisArray::ping() — Method in class RedisArray
+
+RedisCluster::pexpiretime() — Method in class RedisCluster
+
+RedisCluster::persist() — Method in class RedisCluster
+
+RedisCluster::pexpire() — Method in class RedisCluster
+
+RedisCluster::pexpireat() — Method in class RedisCluster
+
+RedisCluster::pfadd() — Method in class RedisCluster
+
+RedisCluster::pfcount() — Method in class RedisCluster
+
+RedisCluster::pfmerge() — Method in class RedisCluster
+
+RedisCluster::ping() — Method in class RedisCluster
+

PING an instance in the redis cluster.

+RedisCluster::psetex() — Method in class RedisCluster
+
+RedisCluster::psubscribe() — Method in class RedisCluster
+
+RedisCluster::pttl() — Method in class RedisCluster
+
+RedisCluster::publish() — Method in class RedisCluster
+
+RedisCluster::pubsub() — Method in class RedisCluster
+
+RedisCluster::punsubscribe() — Method in class RedisCluster
+
+RedisSentinel::ping() — Method in class RedisSentinel
+

R

+
Redis
+
+Redis::rPush() — Method in class Redis
+
+Redis::rPushx() — Method in class Redis
+
+Redis::rPop() — Method in class Redis
+

Pop one or more elements from the end of a list.

+Redis::randomKey() — Method in class Redis
+

Return a random key from the current database

+Redis::rawcommand() — Method in class Redis
+

Execute any arbitrary Redis command by name.

+Redis::rename() — Method in class Redis
+

Unconditionally rename a key from $old_name to $new_name

+Redis::renameNx() — Method in class Redis
+

Renames $key_src to $key_dst but only if newkey does not exist.

+Redis::reset() — Method in class Redis
+

Reset the state of the connection.

+Redis::restore() — Method in class Redis
+

Restore a key by the binary payload generated by the DUMP command.

+Redis::role() — Method in class Redis
+

Query whether the connected instance is a primary or replica

+Redis::rpoplpush() — Method in class Redis
+

Atomically pop an element off the end of a Redis LIST and push it to the beginning of +another.

+Redis::replicaof() — Method in class Redis
+

Used to turn a Redis instance into a replica of another, or to remove +replica status promoting the instance to a primary.

RedisArray
+
RedisCluster
+
+RedisCluster::randomkey() — Method in class RedisCluster
+
+RedisCluster::rawcommand() — Method in class RedisCluster
+
+RedisCluster::rename() — Method in class RedisCluster
+
+RedisCluster::renamenx() — Method in class RedisCluster
+
+RedisCluster::restore() — Method in class RedisCluster
+
+RedisCluster::role() — Method in class RedisCluster
+
+RedisCluster::rpop() — Method in class RedisCluster
+
+RedisCluster::rpoplpush() — Method in class RedisCluster
+
+RedisCluster::rpush() — Method in class RedisCluster
+
+RedisCluster::rpushx() — Method in class RedisCluster
+
RedisClusterException
+
RedisException
+
RedisSentinel
+
+RedisSentinel::reset() — Method in class RedisSentinel
+

S

+
+Redis::sAdd() — Method in class Redis
+

Add one or more values to a Redis SET key.

+Redis::sAddArray() — Method in class Redis
+

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.

+Redis::sDiff() — Method in class Redis
+

Given one or more Redis SETS, this command returns all of the members from the first +set that are not in any subsequent set.

+Redis::sDiffStore() — Method in class Redis
+

This method performs the same operation as SDIFF except it stores the resulting diff +values in a specified destination key.

+Redis::sInter() — Method in class Redis
+

Given one or more Redis SET keys, this command will return all of the elements that are +in every one.

+Redis::sintercard() — Method in class Redis
+

Compute the intersection of one or more sets and return the cardinality of the result.

+Redis::sInterStore() — Method in class Redis
+

Perform the intersection of one or more Redis SETs, storing the result in a destination +key, rather than returning them.

+Redis::sMembers() — Method in class Redis
+

Retrieve every member from a set key.

+Redis::sMisMember() — Method in class Redis
+

Check if one or more values are members of a set.

+Redis::sMove() — Method in class Redis
+

Pop a member from one set and push it onto another. This command will create the +destination set if it does not currently exist.

+Redis::sPop() — Method in class Redis
+

Remove one or more elements from a set.

+Redis::sRandMember() — Method in class Redis
+

Retrieve one or more random members of a set.

+Redis::sUnion() — Method in class Redis
+

Returns the union of one or more Redis SET keys.

+Redis::sUnionStore() — Method in class Redis
+

Perform a union of one or more Redis SET keys and store the result in a new set

+Redis::save() — Method in class Redis
+

Persist the Redis database to disk. This command will block the server until the save is +completed. For a nonblocking alternative, see Redis::bgsave().

+Redis::scan() — Method in class Redis
+

Incrementally scan the Redis keyspace, with optional pattern and type matching.

+Redis::scard() — Method in class Redis
+

Retrieve the number of members in a Redis set.

+Redis::script() — Method in class Redis
+

An administrative command used to interact with LUA scripts stored on the server.

+Redis::select() — Method in class Redis
+

Select a specific Redis database.

+Redis::set() — Method in class Redis
+

Create or set a Redis STRING key to a value.

+Redis::setBit() — Method in class Redis
+

Set a specific bit in a Redis string to zero or one

+Redis::setRange() — Method in class Redis
+

Update or append to a Redis string at a specific starting index

+Redis::setOption() — Method in class Redis
+

Set a configurable option on the Redis object.

+Redis::setex() — Method in class Redis
+

Set a Redis STRING key with a specific expiration in seconds.

+Redis::setnx() — Method in class Redis
+

Set a key to a value, but only if that key does not already exist.

+Redis::sismember() — Method in class Redis
+

Check whether a given value is the member of a Redis SET.

+Redis::slaveof() — Method in class Redis
+

Turn a redis instance into a replica of another or promote a replica +to a primary.

+Redis::slowlog() — Method in class Redis
+

Interact with Redis' slowlog functionality in various ways, depending +on the value of 'operation'.

+Redis::sort() — Method in class Redis
+

Sort the contents of a Redis key in various ways.

+Redis::sort_ro() — Method in class Redis
+

This is simply a read-only variant of the sort command

+Redis::sortAsc() — Method in class Redis
+
+Redis::sortAscAlpha() — Method in class Redis
+
+Redis::sortDesc() — Method in class Redis
+
+Redis::sortDescAlpha() — Method in class Redis
+
+Redis::srem() — Method in class Redis
+

Remove one or more values from a Redis SET key.

+Redis::sscan() — Method in class Redis
+

Scan the members of a redis SET key.

+Redis::strlen() — Method in class Redis
+

Retrieve the length of a Redis STRING key.

+Redis::subscribe() — Method in class Redis
+

Subscribe to one or more Redis pubsub channels.

+Redis::swapdb() — Method in class Redis
+

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.

+RedisArray::save() — Method in class RedisArray
+
+RedisArray::scan() — Method in class RedisArray
+
+RedisArray::select() — Method in class RedisArray
+
+RedisArray::setOption() — Method in class RedisArray
+
+RedisArray::sscan() — Method in class RedisArray
+
+RedisCluster::sadd() — Method in class RedisCluster
+
+RedisCluster::saddarray() — Method in class RedisCluster
+
+RedisCluster::save() — Method in class RedisCluster
+
+RedisCluster::scan() — Method in class RedisCluster
+
+RedisCluster::scard() — Method in class RedisCluster
+
+RedisCluster::script() — Method in class RedisCluster
+
+RedisCluster::sdiff() — Method in class RedisCluster
+
+RedisCluster::sdiffstore() — Method in class RedisCluster
+
+RedisCluster::set() — Method in class RedisCluster
+
+RedisCluster::setbit() — Method in class RedisCluster
+
+RedisCluster::setex() — Method in class RedisCluster
+
+RedisCluster::setnx() — Method in class RedisCluster
+
+RedisCluster::setoption() — Method in class RedisCluster
+
+RedisCluster::setrange() — Method in class RedisCluster
+
+RedisCluster::sinter() — Method in class RedisCluster
+
+RedisCluster::sintercard() — Method in class RedisCluster
+
+RedisCluster::sinterstore() — Method in class RedisCluster
+
+RedisCluster::sismember() — Method in class RedisCluster
+
+RedisCluster::slowlog() — Method in class RedisCluster
+
+RedisCluster::smembers() — Method in class RedisCluster
+
+RedisCluster::smove() — Method in class RedisCluster
+
+RedisCluster::sort() — Method in class RedisCluster
+
+RedisCluster::sort_ro() — Method in class RedisCluster
+
+RedisCluster::spop() — Method in class RedisCluster
+
+RedisCluster::srandmember() — Method in class RedisCluster
+
+RedisCluster::srem() — Method in class RedisCluster
+
+RedisCluster::sscan() — Method in class RedisCluster
+
+RedisCluster::strlen() — Method in class RedisCluster
+
+RedisCluster::subscribe() — Method in class RedisCluster
+
+RedisCluster::sunion() — Method in class RedisCluster
+
+RedisCluster::sunionstore() — Method in class RedisCluster
+
+RedisSentinel::sentinels() — Method in class RedisSentinel
+
+RedisSentinel::slaves() — Method in class RedisSentinel
+

T

+
+Redis::touch() — Method in class Redis
+

Update one or more keys last modified metadata.

+Redis::time() — Method in class Redis
+

Retrieve the server time from the connected Redis instance.

+Redis::ttl() — Method in class Redis
+

Get the amount of time a Redis key has before it will expire, in seconds.

+Redis::type() — Method in class Redis
+

Get the type of a given Redis key.

+RedisCluster::touch() — Method in class RedisCluster
+
+RedisCluster::time() — Method in class RedisCluster
+
+RedisCluster::ttl() — Method in class RedisCluster
+
+RedisCluster::type() — Method in class RedisCluster
+

U

+
+Redis::unlink() — Method in class Redis
+

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.

+Redis::unsubscribe() — Method in class Redis
+

Unsubscribe from one or more subscribed channels.

+Redis::unwatch() — Method in class Redis
+

Remove any previously WATCH'ed keys in a transaction.

+RedisArray::unlink() — Method in class RedisArray
+
+RedisArray::unwatch() — Method in class RedisArray
+
+RedisCluster::unsubscribe() — Method in class RedisCluster
+
+RedisCluster::unlink() — Method in class RedisCluster
+
+RedisCluster::unwatch() — Method in class RedisCluster
+

W

+
+Redis::watch() — Method in class Redis
+
+Redis::wait() — Method in class Redis
+

Block the client up to the provided timeout until a certain number of replicas have confirmed +recieving them.

+RedisCluster::watch() — Method in class RedisCluster
+

X

+
+Redis::xack() — Method in class Redis
+
+Redis::xadd() — Method in class Redis
+

Append a message to a stream.

+Redis::xautoclaim() — Method in class Redis
+
+Redis::xclaim() — Method in class Redis
+
+Redis::xdel() — Method in class Redis
+

Remove one or more specific IDs from a stream.

+Redis::xgroup() — Method in class Redis
+
XGROUP
+Redis::xinfo() — Method in class Redis
+

Retrieve information about a stream key.

+Redis::xlen() — Method in class Redis
+

Get the number of messages in a Redis STREAM key.

+Redis::xpending() — Method in class Redis
+

Interact with stream messages that have been consumed by a consumer group but not yet +acknowledged with XACK.

+Redis::xrange() — Method in class Redis
+

Get a range of entries from a STREAM key.

+Redis::xread() — Method in class Redis
+

Consume one or more unconsumed elements in one or more streams.

+Redis::xreadgroup() — Method in class Redis
+

Read one or more messages using a consumer group.

+Redis::xrevrange() — Method in class Redis
+

Get a range of entries from a STREAM ke in reverse cronological order.

+Redis::xtrim() — Method in class Redis
+

Truncate a STREAM key in various ways.

+RedisCluster::xack() — Method in class RedisCluster
+
+RedisCluster::xadd() — Method in class RedisCluster
+
+RedisCluster::xclaim() — Method in class RedisCluster
+
+RedisCluster::xdel() — Method in class RedisCluster
+
+RedisCluster::xgroup() — Method in class RedisCluster
+
+RedisCluster::xinfo() — Method in class RedisCluster
+
+RedisCluster::xlen() — Method in class RedisCluster
+
+RedisCluster::xpending() — Method in class RedisCluster
+
+RedisCluster::xrange() — Method in class RedisCluster
+
+RedisCluster::xread() — Method in class RedisCluster
+
+RedisCluster::xreadgroup() — Method in class RedisCluster
+
+RedisCluster::xrevrange() — Method in class RedisCluster
+
+RedisCluster::xtrim() — Method in class RedisCluster
+

Z

+
+Redis::zmpop() — Method in class Redis
+

POP one or more of the highest or lowest scoring elements from one or more sorted sets.

+Redis::zAdd() — Method in class Redis
+

Add one or more elements and scores to a Redis sorted set.

+Redis::zCard() — Method in class Redis
+

Return the number of elements in a sorted set.

+Redis::zCount() — Method in class Redis
+

Count the number of members in a sorted set with scores inside a provided range.

+Redis::zIncrBy() — Method in class Redis
+

Create or increment the score of a member in a Redis sorted set

+Redis::zLexCount() — Method in class Redis
+

Count the number of elements in a sorted set whos members fall within the provided +lexographical range.

+Redis::zMscore() — Method in class Redis
+

Retrieve the score of one or more members in a sorted set.

+Redis::zPopMax() — Method in class Redis
+

Pop one or more of the highest scoring elements from a sorted set.

+Redis::zPopMin() — Method in class Redis
+

Pop one or more of the lowest scoring elements from a sorted set.

+Redis::zRange() — Method in class Redis
+

Retrieve a range of elements of a sorted set between a start and end point.

+Redis::zRangeByLex() — Method in class Redis
+

Retrieve a range of elements from a sorted set by legographical range.

+Redis::zRangeByScore() — Method in class Redis
+

Retrieve a range of members from a sorted set by their score.

+Redis::zrangestore() — Method in class Redis
+

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

+Redis::zRandMember() — Method in class Redis
+

Retrieve one or more random members from a Redis sorted set.

+Redis::zRank() — Method in class Redis
+

Get the rank of a member of a sorted set, by score.

+Redis::zRem() — Method in class Redis
+

Remove one or more members from a Redis sorted set.

+Redis::zRemRangeByLex() — Method in class Redis
+

Remove zero or more elements from a Redis sorted set by legographical range.

+Redis::zRemRangeByRank() — Method in class Redis
+

Remove one or more members of a sorted set by their rank.

+Redis::zRemRangeByScore() — Method in class Redis
+

Remove one or more members of a sorted set by their score.

+Redis::zRevRange() — Method in class Redis
+

List the members of a Redis sorted set in reverse order

+Redis::zRevRangeByLex() — Method in class Redis
+

List members of a Redis sorted set within a legographical range, in reverse order.

+Redis::zRevRangeByScore() — Method in class Redis
+

List elements from a Redis sorted set by score, highest to lowest

+Redis::zRevRank() — Method in class Redis
+

Retrieve a member of a sorted set by reverse rank.

+Redis::zScore() — Method in class Redis
+

Get the score of a member of a sorted set.

+Redis::zdiff() — Method in class Redis
+

Given one or more sorted set key names, return every element that is in the first +set but not any of the others.

+Redis::zdiffstore() — Method in class Redis
+

Store the difference of one or more sorted sets in a destination sorted set.

+Redis::zinter() — Method in class Redis
+

Compute the intersection of one or more sorted sets and return the members

+Redis::zintercard() — Method in class Redis
+

Similar to ZINTER but instead of returning the intersected values, this command returns the +cardinality of the intersected set.

+Redis::zinterstore() — Method in class Redis
+

Compute the intersection of one ore more sorted sets storing the result in a new sorted set.

+Redis::zscan() — Method in class Redis
+

Scan the members of a sorted set incrementally, using a cursor

+Redis::zunion() — Method in class Redis
+

Retrieve the union of one or more sorted sets

+Redis::zunionstore() — Method in class Redis
+

Perform a union on one or more Redis sets and store the result in a destination sorted set.

+RedisArray::zscan() — Method in class RedisArray
+
+RedisCluster::zmpop() — Method in class RedisCluster
+
+RedisCluster::zadd() — Method in class RedisCluster
+
+RedisCluster::zcard() — Method in class RedisCluster
+
+RedisCluster::zcount() — Method in class RedisCluster
+
+RedisCluster::zincrby() — Method in class RedisCluster
+
+RedisCluster::zinterstore() — Method in class RedisCluster
+
+RedisCluster::zintercard() — Method in class RedisCluster
+
+RedisCluster::zlexcount() — Method in class RedisCluster
+
+RedisCluster::zpopmax() — Method in class RedisCluster
+
+RedisCluster::zpopmin() — Method in class RedisCluster
+
+RedisCluster::zrange() — Method in class RedisCluster
+
+RedisCluster::zrangestore() — Method in class RedisCluster
+
+RedisCluster::zrangebylex() — Method in class RedisCluster
+
+RedisCluster::zrangebyscore() — Method in class RedisCluster
+
+RedisCluster::zrank() — Method in class RedisCluster
+
+RedisCluster::zrem() — Method in class RedisCluster
+
+RedisCluster::zremrangebylex() — Method in class RedisCluster
+
+RedisCluster::zremrangebyrank() — Method in class RedisCluster
+
+RedisCluster::zremrangebyscore() — Method in class RedisCluster
+
+RedisCluster::zrevrange() — Method in class RedisCluster
+
+RedisCluster::zrevrangebylex() — Method in class RedisCluster
+
+RedisCluster::zrevrangebyscore() — Method in class RedisCluster
+
+RedisCluster::zrevrank() — Method in class RedisCluster
+
+RedisCluster::zscan() — Method in class RedisCluster
+
+RedisCluster::zscore() — Method in class RedisCluster
+
+RedisCluster::zunionstore() — Method in class RedisCluster
+

_

+
+Redis::__construct() — Method in class Redis
+

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.

+Redis::__destruct() — Method in class Redis
+
+Redis::_compress() — Method in class Redis
+

Compress a value with the currently configured compressor as set with +Redis::setOption().

+Redis::_uncompress() — Method in class Redis
+

Uncompress the provided argument that has been compressed with the +currently configured compressor as set with Redis::setOption().

+Redis::_prefix() — Method in class Redis
+

Prefix the passed argument with the currently set key prefix as set +with Redis::setOption().

+Redis::_serialize() — Method in class Redis
+

Serialize the provided value with the currently set serializer as set +with Redis::setOption().

+Redis::_unserialize() — Method in class Redis
+

Unserialize the passed argument with the currently set serializer as set +with Redis::setOption().

+Redis::_pack() — Method in class Redis
+

Pack the provided value with the configured serializer and compressor +as set with Redis::setOption().

+Redis::_unpack() — Method in class Redis
+

Unpack the provided value with the configured compressor and serializer +as set with Redis::setOption().

+RedisArray::__call() — Method in class RedisArray
+
+RedisArray::__construct() — Method in class RedisArray
+
+RedisArray::_continuum() — Method in class RedisArray
+
+RedisArray::_distributor() — Method in class RedisArray
+
+RedisArray::_function() — Method in class RedisArray
+
+RedisArray::_hosts() — Method in class RedisArray
+
+RedisArray::_instance() — Method in class RedisArray
+
+RedisArray::_rehash() — Method in class RedisArray
+
+RedisArray::_target() — Method in class RedisArray
+
+RedisCluster::__construct() — Method in class RedisCluster
+
+RedisCluster::_compress() — Method in class RedisCluster
+
+RedisCluster::_uncompress() — Method in class RedisCluster
+
+RedisCluster::_serialize() — Method in class RedisCluster
+
+RedisCluster::_unserialize() — Method in class RedisCluster
+
+RedisCluster::_pack() — Method in class RedisCluster
+
+RedisCluster::_unpack() — Method in class RedisCluster
+
+RedisCluster::_prefix() — Method in class RedisCluster
+
+RedisCluster::_masters() — Method in class RedisCluster
+
+RedisCluster::_redir() — Method in class RedisCluster
+
+RedisSentinel::__construct() — Method in class RedisSentinel
+
+
+ + + diff --git a/docs/doctum-search.json b/docs/doctum-search.json new file mode 100644 index 0000000..23b29af --- /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":"

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.

"},{"t":"M","n":"Redis::__destruct","p":"Redis.html#method___destruct","d":null},{"t":"M","n":"Redis::_compress","p":"Redis.html#method__compress","d":"

Compress a value with the currently configured compressor as set with\nRedis::setOption().

"},{"t":"M","n":"Redis::_uncompress","p":"Redis.html#method__uncompress","d":"

Uncompress the provided argument that has been compressed with the\ncurrently configured compressor as set with Redis::setOption().

"},{"t":"M","n":"Redis::_prefix","p":"Redis.html#method__prefix","d":"

Prefix the passed argument with the currently set key prefix as set\nwith Redis::setOption().

"},{"t":"M","n":"Redis::_serialize","p":"Redis.html#method__serialize","d":"

Serialize the provided value with the currently set serializer as set\nwith Redis::setOption().

"},{"t":"M","n":"Redis::_unserialize","p":"Redis.html#method__unserialize","d":"

Unserialize the passed argument with the currently set serializer as set\nwith Redis::setOption().

"},{"t":"M","n":"Redis::_pack","p":"Redis.html#method__pack","d":"

Pack the provided value with the configured serializer and compressor\nas set with Redis::setOption().

"},{"t":"M","n":"Redis::_unpack","p":"Redis.html#method__unpack","d":"

Unpack the provided value with the configured compressor and serializer\nas set with Redis::setOption().

"},{"t":"M","n":"Redis::acl","p":"Redis.html#method_acl","d":null},{"t":"M","n":"Redis::append","p":"Redis.html#method_append","d":"

Append data to a Redis STRING key.

"},{"t":"M","n":"Redis::auth","p":"Redis.html#method_auth","d":"

Authenticate a Redis connection after its been established.

"},{"t":"M","n":"Redis::bgSave","p":"Redis.html#method_bgSave","d":"

Execute a save of the Redis database in the background.

"},{"t":"M","n":"Redis::bgrewriteaof","p":"Redis.html#method_bgrewriteaof","d":"

Asynchronously rewrite Redis' append-only file

"},{"t":"M","n":"Redis::bitcount","p":"Redis.html#method_bitcount","d":"

Count the number of set bits in a Redis string.

"},{"t":"M","n":"Redis::bitop","p":"Redis.html#method_bitop","d":null},{"t":"M","n":"Redis::bitpos","p":"Redis.html#method_bitpos","d":"

Return the position of the first bit set to 0 or 1 in a string.

"},{"t":"M","n":"Redis::blPop","p":"Redis.html#method_blPop","d":"

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.

"},{"t":"M","n":"Redis::brPop","p":"Redis.html#method_brPop","d":"

Pop an element off of the end of a Redis list or lists, potentially blocking up to a specified timeout.

"},{"t":"M","n":"Redis::brpoplpush","p":"Redis.html#method_brpoplpush","d":"

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.

"},{"t":"M","n":"Redis::bzPopMax","p":"Redis.html#method_bzPopMax","d":"

POP the maximum scoring element off of one or more sorted sets, blocking up to a specified\ntimeout if no elements are available.

"},{"t":"M","n":"Redis::bzPopMin","p":"Redis.html#method_bzPopMin","d":"

POP the minimum scoring element off of one or more sorted sets, blocking up to a specified timeout\nif no elements are available

"},{"t":"M","n":"Redis::bzmpop","p":"Redis.html#method_bzmpop","d":"

POP one or more elements from one or more sorted sets, blocking up to a specified amount of time\nwhen no elements are available.

"},{"t":"M","n":"Redis::zmpop","p":"Redis.html#method_zmpop","d":"

POP one or more of the highest or lowest scoring elements from one or more sorted sets.

"},{"t":"M","n":"Redis::blmpop","p":"Redis.html#method_blmpop","d":"

Pop one or more elements from one or more Redis LISTs, blocking up to a specified timeout when\nno elements are available.

"},{"t":"M","n":"Redis::lmpop","p":"Redis.html#method_lmpop","d":"

Pop one or more elements off of one or more Redis LISTs.

"},{"t":"M","n":"Redis::clearLastError","p":"Redis.html#method_clearLastError","d":"

Reset any last error on the connection to NULL

"},{"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":"

Execute the Redis CONFIG command in a variety of ways. What the command does in particular depends\non the $operation qualifier.

"},{"t":"M","n":"Redis::connect","p":"Redis.html#method_connect","d":null},{"t":"M","n":"Redis::copy","p":"Redis.html#method_copy","d":"

Make a copy of a redis key.

"},{"t":"M","n":"Redis::dbSize","p":"Redis.html#method_dbSize","d":"

Return the number of keys in the currently selected Redis database.

"},{"t":"M","n":"Redis::debug","p":"Redis.html#method_debug","d":null},{"t":"M","n":"Redis::decr","p":"Redis.html#method_decr","d":"

Decrement a Redis integer by 1 or a provided value.

"},{"t":"M","n":"Redis::decrBy","p":"Redis.html#method_decrBy","d":"

Decrement a redis integer by a value

"},{"t":"M","n":"Redis::del","p":"Redis.html#method_del","d":"

Delete one or more keys from Redis.

"},{"t":"M","n":"Redis::delete","p":"Redis.html#method_delete","d":""},{"t":"M","n":"Redis::discard","p":"Redis.html#method_discard","d":"

Discard a transaction currently in progress.

"},{"t":"M","n":"Redis::dump","p":"Redis.html#method_dump","d":"

Dump Redis' internal binary representation of a key.

"},{"t":"M","n":"Redis::echo","p":"Redis.html#method_echo","d":"

Have Redis repeat back an arbitrary string to the client.

"},{"t":"M","n":"Redis::eval","p":"Redis.html#method_eval","d":"

Execute a LUA script on the redis server.

"},{"t":"M","n":"Redis::eval_ro","p":"Redis.html#method_eval_ro","d":"

This is simply the read-only variant of eval, meaning the underlying script\nmay not modify data in redis.

"},{"t":"M","n":"Redis::evalsha","p":"Redis.html#method_evalsha","d":"

Execute a LUA script on the server but instead of sending the script, send\nthe SHA1 hash of the script.

"},{"t":"M","n":"Redis::evalsha_ro","p":"Redis.html#method_evalsha_ro","d":"

This is simply the read-only variant of evalsha, meaning the underlying script\nmay not modify data in redis.

"},{"t":"M","n":"Redis::exec","p":"Redis.html#method_exec","d":"

Execute either a MULTI or PIPELINE block and return the array of replies.

"},{"t":"M","n":"Redis::exists","p":"Redis.html#method_exists","d":"

Test if one or more keys exist.

"},{"t":"M","n":"Redis::expire","p":"Redis.html#method_expire","d":"

Sets an expiration in seconds on the key in question. If connected to\nredis-server >= 7.0.0 you may send an additional "mode" argument which\nmodifies how the command will execute.

"},{"t":"M","n":"Redis::expireAt","p":"Redis.html#method_expireAt","d":"

Set a key's expiration to a specific Unix timestamp in seconds. If\nconnected to Redis >= 7.0.0 you can pass an optional 'mode' argument.

"},{"t":"M","n":"Redis::failover","p":"Redis.html#method_failover","d":null},{"t":"M","n":"Redis::expiretime","p":"Redis.html#method_expiretime","d":"

Get the expiration of a given key as a unix timestamp

"},{"t":"M","n":"Redis::pexpiretime","p":"Redis.html#method_pexpiretime","d":"

Get the expriation timestamp of a given Redis key but in milliseconds.

"},{"t":"M","n":"Redis::flushAll","p":"Redis.html#method_flushAll","d":"

Deletes every key in all Redis databases

"},{"t":"M","n":"Redis::flushDB","p":"Redis.html#method_flushDB","d":"

Deletes all the keys of the currently selected database.

"},{"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":"

Get the authentication information on the connection, if any.

"},{"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":"

Return the host or Unix socket we are connected to.

"},{"t":"M","n":"Redis::getLastError","p":"Redis.html#method_getLastError","d":"

Get the last error returned to us from Redis, if any.

"},{"t":"M","n":"Redis::getMode","p":"Redis.html#method_getMode","d":"

Returns whether the connection is in ATOMIC, MULTI, or PIPELINE mode

"},{"t":"M","n":"Redis::getOption","p":"Redis.html#method_getOption","d":"

Retrieve the value of a configuration setting as set by Redis::setOption()

"},{"t":"M","n":"Redis::getPersistentID","p":"Redis.html#method_getPersistentID","d":"

Get the persistent connection ID, if there is one.

"},{"t":"M","n":"Redis::getPort","p":"Redis.html#method_getPort","d":"

Get the port we are connected to. This number will be zero if we are connected to a unix socket.

"},{"t":"M","n":"Redis::getRange","p":"Redis.html#method_getRange","d":"

Retrieve a substring of a string by index.

"},{"t":"M","n":"Redis::lcs","p":"Redis.html#method_lcs","d":"

Get the longest common subsequence between two string keys.

"},{"t":"M","n":"Redis::getReadTimeout","p":"Redis.html#method_getReadTimeout","d":"

Get the currently set read timeout on the connection.

"},{"t":"M","n":"Redis::getset","p":"Redis.html#method_getset","d":"

Sets a key and returns any previously set value, if the key already existed.

"},{"t":"M","n":"Redis::getTimeout","p":"Redis.html#method_getTimeout","d":"

Retrieve any set connection timeout

"},{"t":"M","n":"Redis::getTransferredBytes","p":"Redis.html#method_getTransferredBytes","d":null},{"t":"M","n":"Redis::hDel","p":"Redis.html#method_hDel","d":"

Remove one or more fields from a hash.

"},{"t":"M","n":"Redis::hExists","p":"Redis.html#method_hExists","d":"

Checks whether a field exists in a hash.

"},{"t":"M","n":"Redis::hGet","p":"Redis.html#method_hGet","d":null},{"t":"M","n":"Redis::hGetAll","p":"Redis.html#method_hGetAll","d":"

Read every field and value from a hash.

"},{"t":"M","n":"Redis::hIncrBy","p":"Redis.html#method_hIncrBy","d":"

Increment a hash field's value by an integer

"},{"t":"M","n":"Redis::hIncrByFloat","p":"Redis.html#method_hIncrByFloat","d":"

Increment a hash field by a floating point value

"},{"t":"M","n":"Redis::hKeys","p":"Redis.html#method_hKeys","d":"

Retrieve all of the fields of a hash.

"},{"t":"M","n":"Redis::hLen","p":"Redis.html#method_hLen","d":"

Get the number of fields in a hash.

"},{"t":"M","n":"Redis::hMget","p":"Redis.html#method_hMget","d":"

Get one or more fields from a hash.

"},{"t":"M","n":"Redis::hMset","p":"Redis.html#method_hMset","d":"

Add or update one or more hash fields and values

"},{"t":"M","n":"Redis::hRandField","p":"Redis.html#method_hRandField","d":"

Get one or more random field from a hash.

"},{"t":"M","n":"Redis::hSet","p":"Redis.html#method_hSet","d":null},{"t":"M","n":"Redis::hSetNx","p":"Redis.html#method_hSetNx","d":"

Set a hash field and value, but only if that field does not exist

"},{"t":"M","n":"Redis::hStrLen","p":"Redis.html#method_hStrLen","d":"

Get the string length of a hash field

"},{"t":"M","n":"Redis::hVals","p":"Redis.html#method_hVals","d":"

Get all of the values from a hash.

"},{"t":"M","n":"Redis::hscan","p":"Redis.html#method_hscan","d":"

Iterate over the fields and values of a hash in an incremental fashion.

"},{"t":"M","n":"Redis::incr","p":"Redis.html#method_incr","d":"

Increment a key's value, optionally by a specifc amount.

"},{"t":"M","n":"Redis::incrBy","p":"Redis.html#method_incrBy","d":"

Increment a key by a specific integer value

"},{"t":"M","n":"Redis::incrByFloat","p":"Redis.html#method_incrByFloat","d":"

Increment a numeric key by a floating point value.

"},{"t":"M","n":"Redis::info","p":"Redis.html#method_info","d":"

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.

"},{"t":"M","n":"Redis::isConnected","p":"Redis.html#method_isConnected","d":"

Check if we are currently connected to a Redis instance.

"},{"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":"

Sets an expiration in milliseconds on a given key. If connected to Redis >= 7.0.0\nyou can pass an optional mode argument that modifies how the command will execute.

"},{"t":"M","n":"Redis::pexpireAt","p":"Redis.html#method_pexpireAt","d":"

Set a key's expiration to a specific Unix Timestamp in milliseconds. If connected to\nRedis >= 7.0.0 you can pass an optional 'mode' argument.

"},{"t":"M","n":"Redis::pfadd","p":"Redis.html#method_pfadd","d":"

Add one or more elements to a Redis HyperLogLog key

"},{"t":"M","n":"Redis::pfcount","p":"Redis.html#method_pfcount","d":"

Retrieve the cardinality of a Redis HyperLogLog key.

"},{"t":"M","n":"Redis::pfmerge","p":"Redis.html#method_pfmerge","d":"

Merge one or more source HyperLogLog sets into a destination set.

"},{"t":"M","n":"Redis::ping","p":"Redis.html#method_ping","d":"

PING the redis server with an optional string argument.

"},{"t":"M","n":"Redis::pipeline","p":"Redis.html#method_pipeline","d":"

Enter into pipeline mode.

"},{"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":"

Subscribe to one or more glob-style patterns

"},{"t":"M","n":"Redis::pttl","p":"Redis.html#method_pttl","d":"

Get a keys time to live in milliseconds.

"},{"t":"M","n":"Redis::publish","p":"Redis.html#method_publish","d":"

Publish a message to a pubsub channel

"},{"t":"M","n":"Redis::pubsub","p":"Redis.html#method_pubsub","d":null},{"t":"M","n":"Redis::punsubscribe","p":"Redis.html#method_punsubscribe","d":"

Unsubscribe from one or more channels by pattern

"},{"t":"M","n":"Redis::rPop","p":"Redis.html#method_rPop","d":"

Pop one or more elements from the end of a list.

"},{"t":"M","n":"Redis::randomKey","p":"Redis.html#method_randomKey","d":"

Return a random key from the current database

"},{"t":"M","n":"Redis::rawcommand","p":"Redis.html#method_rawcommand","d":"

Execute any arbitrary Redis command by name.

"},{"t":"M","n":"Redis::rename","p":"Redis.html#method_rename","d":"

Unconditionally rename a key from $old_name to $new_name

"},{"t":"M","n":"Redis::renameNx","p":"Redis.html#method_renameNx","d":"

Renames $key_src to $key_dst but only if newkey does not exist.

"},{"t":"M","n":"Redis::reset","p":"Redis.html#method_reset","d":"

Reset the state of the connection.

"},{"t":"M","n":"Redis::restore","p":"Redis.html#method_restore","d":"

Restore a key by the binary payload generated by the DUMP command.

"},{"t":"M","n":"Redis::role","p":"Redis.html#method_role","d":"

Query whether the connected instance is a primary or replica

"},{"t":"M","n":"Redis::rpoplpush","p":"Redis.html#method_rpoplpush","d":"

Atomically pop an element off the end of a Redis LIST and push it to the beginning of\nanother.

"},{"t":"M","n":"Redis::sAdd","p":"Redis.html#method_sAdd","d":"

Add one or more values to a Redis SET key.

"},{"t":"M","n":"Redis::sAddArray","p":"Redis.html#method_sAddArray","d":"

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.

"},{"t":"M","n":"Redis::sDiff","p":"Redis.html#method_sDiff","d":"

Given one or more Redis SETS, this command returns all of the members from the first\nset that are not in any subsequent set.

"},{"t":"M","n":"Redis::sDiffStore","p":"Redis.html#method_sDiffStore","d":"

This method performs the same operation as SDIFF except it stores the resulting diff\nvalues in a specified destination key.

"},{"t":"M","n":"Redis::sInter","p":"Redis.html#method_sInter","d":"

Given one or more Redis SET keys, this command will return all of the elements that are\nin every one.

"},{"t":"M","n":"Redis::sintercard","p":"Redis.html#method_sintercard","d":"

Compute the intersection of one or more sets and return the cardinality of the result.

"},{"t":"M","n":"Redis::sInterStore","p":"Redis.html#method_sInterStore","d":"

Perform the intersection of one or more Redis SETs, storing the result in a destination\nkey, rather than returning them.

"},{"t":"M","n":"Redis::sMembers","p":"Redis.html#method_sMembers","d":"

Retrieve every member from a set key.

"},{"t":"M","n":"Redis::sMisMember","p":"Redis.html#method_sMisMember","d":"

Check if one or more values are members of a set.

"},{"t":"M","n":"Redis::sMove","p":"Redis.html#method_sMove","d":"

Pop a member from one set and push it onto another. This command will create the\ndestination set if it does not currently exist.

"},{"t":"M","n":"Redis::sPop","p":"Redis.html#method_sPop","d":"

Remove one or more elements from a set.

"},{"t":"M","n":"Redis::sRandMember","p":"Redis.html#method_sRandMember","d":"

Retrieve one or more random members of a set.

"},{"t":"M","n":"Redis::sUnion","p":"Redis.html#method_sUnion","d":"

Returns the union of one or more Redis SET keys.

"},{"t":"M","n":"Redis::sUnionStore","p":"Redis.html#method_sUnionStore","d":"

Perform a union of one or more Redis SET keys and store the result in a new set

"},{"t":"M","n":"Redis::save","p":"Redis.html#method_save","d":"

Persist the Redis database to disk. This command will block the server until the save is\ncompleted. For a nonblocking alternative, see Redis::bgsave().

"},{"t":"M","n":"Redis::scan","p":"Redis.html#method_scan","d":"

Incrementally scan the Redis keyspace, with optional pattern and type matching.

"},{"t":"M","n":"Redis::scard","p":"Redis.html#method_scard","d":"

Retrieve the number of members in a Redis set.

"},{"t":"M","n":"Redis::script","p":"Redis.html#method_script","d":"

An administrative command used to interact with LUA scripts stored on the server.

"},{"t":"M","n":"Redis::select","p":"Redis.html#method_select","d":"

Select a specific Redis database.

"},{"t":"M","n":"Redis::set","p":"Redis.html#method_set","d":"

Create or set a Redis STRING key to a value.

"},{"t":"M","n":"Redis::setBit","p":"Redis.html#method_setBit","d":"

Set a specific bit in a Redis string to zero or one

"},{"t":"M","n":"Redis::setRange","p":"Redis.html#method_setRange","d":"

Update or append to a Redis string at a specific starting index

"},{"t":"M","n":"Redis::setOption","p":"Redis.html#method_setOption","d":"

Set a configurable option on the Redis object.

"},{"t":"M","n":"Redis::setex","p":"Redis.html#method_setex","d":"

Set a Redis STRING key with a specific expiration in seconds.

"},{"t":"M","n":"Redis::setnx","p":"Redis.html#method_setnx","d":"

Set a key to a value, but only if that key does not already exist.

"},{"t":"M","n":"Redis::sismember","p":"Redis.html#method_sismember","d":"

Check whether a given value is the member of a Redis SET.

"},{"t":"M","n":"Redis::slaveof","p":"Redis.html#method_slaveof","d":"

Turn a redis instance into a replica of another or promote a replica\nto a primary.

"},{"t":"M","n":"Redis::replicaof","p":"Redis.html#method_replicaof","d":"

Used to turn a Redis instance into a replica of another, or to remove\nreplica status promoting the instance to a primary.

"},{"t":"M","n":"Redis::touch","p":"Redis.html#method_touch","d":"

Update one or more keys last modified metadata.

"},{"t":"M","n":"Redis::slowlog","p":"Redis.html#method_slowlog","d":"

Interact with Redis' slowlog functionality in various ways, depending\non the value of 'operation'.

"},{"t":"M","n":"Redis::sort","p":"Redis.html#method_sort","d":"

Sort the contents of a Redis key in various ways.

"},{"t":"M","n":"Redis::sort_ro","p":"Redis.html#method_sort_ro","d":"

This is simply a read-only variant of the sort command

"},{"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":"

Remove one or more values from a Redis SET key.

"},{"t":"M","n":"Redis::sscan","p":"Redis.html#method_sscan","d":"

Scan the members of a redis SET key.

"},{"t":"M","n":"Redis::strlen","p":"Redis.html#method_strlen","d":"

Retrieve the length of a Redis STRING key.

"},{"t":"M","n":"Redis::subscribe","p":"Redis.html#method_subscribe","d":"

Subscribe to one or more Redis pubsub channels.

"},{"t":"M","n":"Redis::swapdb","p":"Redis.html#method_swapdb","d":"

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.

"},{"t":"M","n":"Redis::time","p":"Redis.html#method_time","d":"

Retrieve the server time from the connected Redis instance.

"},{"t":"M","n":"Redis::ttl","p":"Redis.html#method_ttl","d":"

Get the amount of time a Redis key has before it will expire, in seconds.

"},{"t":"M","n":"Redis::type","p":"Redis.html#method_type","d":"

Get the type of a given Redis key.

"},{"t":"M","n":"Redis::unlink","p":"Redis.html#method_unlink","d":"

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.

"},{"t":"M","n":"Redis::unsubscribe","p":"Redis.html#method_unsubscribe","d":"

Unsubscribe from one or more subscribed channels.

"},{"t":"M","n":"Redis::unwatch","p":"Redis.html#method_unwatch","d":"

Remove any previously WATCH'ed keys in a transaction.

"},{"t":"M","n":"Redis::watch","p":"Redis.html#method_watch","d":""},{"t":"M","n":"Redis::wait","p":"Redis.html#method_wait","d":"

Block the client up to the provided timeout until a certain number of replicas have confirmed\nrecieving them.

"},{"t":"M","n":"Redis::xack","p":"Redis.html#method_xack","d":null},{"t":"M","n":"Redis::xadd","p":"Redis.html#method_xadd","d":"

Append a message to a stream.

"},{"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":"

Remove one or more specific IDs from a stream.

"},{"t":"M","n":"Redis::xgroup","p":"Redis.html#method_xgroup","d":"XGROUP"},{"t":"M","n":"Redis::xinfo","p":"Redis.html#method_xinfo","d":"

Retrieve information about a stream key.

"},{"t":"M","n":"Redis::xlen","p":"Redis.html#method_xlen","d":"

Get the number of messages in a Redis STREAM key.

"},{"t":"M","n":"Redis::xpending","p":"Redis.html#method_xpending","d":"

Interact with stream messages that have been consumed by a consumer group but not yet\nacknowledged with XACK.

"},{"t":"M","n":"Redis::xrange","p":"Redis.html#method_xrange","d":"

Get a range of entries from a STREAM key.

"},{"t":"M","n":"Redis::xread","p":"Redis.html#method_xread","d":"

Consume one or more unconsumed elements in one or more streams.

"},{"t":"M","n":"Redis::xreadgroup","p":"Redis.html#method_xreadgroup","d":"

Read one or more messages using a consumer group.

"},{"t":"M","n":"Redis::xrevrange","p":"Redis.html#method_xrevrange","d":"

Get a range of entries from a STREAM ke in reverse cronological order.

"},{"t":"M","n":"Redis::xtrim","p":"Redis.html#method_xtrim","d":"

Truncate a STREAM key in various ways.

"},{"t":"M","n":"Redis::zAdd","p":"Redis.html#method_zAdd","d":"

Add one or more elements and scores to a Redis sorted set.

"},{"t":"M","n":"Redis::zCard","p":"Redis.html#method_zCard","d":"

Return the number of elements in a sorted set.

"},{"t":"M","n":"Redis::zCount","p":"Redis.html#method_zCount","d":"

Count the number of members in a sorted set with scores inside a provided range.

"},{"t":"M","n":"Redis::zIncrBy","p":"Redis.html#method_zIncrBy","d":"

Create or increment the score of a member in a Redis sorted set

"},{"t":"M","n":"Redis::zLexCount","p":"Redis.html#method_zLexCount","d":"

Count the number of elements in a sorted set whos members fall within the provided\nlexographical range.

"},{"t":"M","n":"Redis::zMscore","p":"Redis.html#method_zMscore","d":"

Retrieve the score of one or more members in a sorted set.

"},{"t":"M","n":"Redis::zPopMax","p":"Redis.html#method_zPopMax","d":"

Pop one or more of the highest scoring elements from a sorted set.

"},{"t":"M","n":"Redis::zPopMin","p":"Redis.html#method_zPopMin","d":"

Pop one or more of the lowest scoring elements from a sorted set.

"},{"t":"M","n":"Redis::zRange","p":"Redis.html#method_zRange","d":"

Retrieve a range of elements of a sorted set between a start and end point.

"},{"t":"M","n":"Redis::zRangeByLex","p":"Redis.html#method_zRangeByLex","d":"

Retrieve a range of elements from a sorted set by legographical range.

"},{"t":"M","n":"Redis::zRangeByScore","p":"Redis.html#method_zRangeByScore","d":"

Retrieve a range of members from a sorted set by their score.

"},{"t":"M","n":"Redis::zrangestore","p":"Redis.html#method_zrangestore","d":"

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

"},{"t":"M","n":"Redis::zRandMember","p":"Redis.html#method_zRandMember","d":"

Retrieve one or more random members from a Redis sorted set.

"},{"t":"M","n":"Redis::zRank","p":"Redis.html#method_zRank","d":"

Get the rank of a member of a sorted set, by score.

"},{"t":"M","n":"Redis::zRem","p":"Redis.html#method_zRem","d":"

Remove one or more members from a Redis sorted set.

"},{"t":"M","n":"Redis::zRemRangeByLex","p":"Redis.html#method_zRemRangeByLex","d":"

Remove zero or more elements from a Redis sorted set by legographical range.

"},{"t":"M","n":"Redis::zRemRangeByRank","p":"Redis.html#method_zRemRangeByRank","d":"

Remove one or more members of a sorted set by their rank.

"},{"t":"M","n":"Redis::zRemRangeByScore","p":"Redis.html#method_zRemRangeByScore","d":"

Remove one or more members of a sorted set by their score.

"},{"t":"M","n":"Redis::zRevRange","p":"Redis.html#method_zRevRange","d":"

List the members of a Redis sorted set in reverse order

"},{"t":"M","n":"Redis::zRevRangeByLex","p":"Redis.html#method_zRevRangeByLex","d":"

List members of a Redis sorted set within a legographical range, in reverse order.

"},{"t":"M","n":"Redis::zRevRangeByScore","p":"Redis.html#method_zRevRangeByScore","d":"

List elements from a Redis sorted set by score, highest to lowest

"},{"t":"M","n":"Redis::zRevRank","p":"Redis.html#method_zRevRank","d":"

Retrieve a member of a sorted set by reverse rank.

"},{"t":"M","n":"Redis::zScore","p":"Redis.html#method_zScore","d":"

Get the score of a member of a sorted set.

"},{"t":"M","n":"Redis::zdiff","p":"Redis.html#method_zdiff","d":"

Given one or more sorted set key names, return every element that is in the first\nset but not any of the others.

"},{"t":"M","n":"Redis::zdiffstore","p":"Redis.html#method_zdiffstore","d":"

Store the difference of one or more sorted sets in a destination sorted set.

"},{"t":"M","n":"Redis::zinter","p":"Redis.html#method_zinter","d":"

Compute the intersection of one or more sorted sets and return the members

"},{"t":"M","n":"Redis::zintercard","p":"Redis.html#method_zintercard","d":"

Similar to ZINTER but instead of returning the intersected values, this command returns the\ncardinality of the intersected set.

"},{"t":"M","n":"Redis::zinterstore","p":"Redis.html#method_zinterstore","d":"

Compute the intersection of one ore more sorted sets storing the result in a new sorted set.

"},{"t":"M","n":"Redis::zscan","p":"Redis.html#method_zscan","d":"

Scan the members of a sorted set incrementally, using a cursor

"},{"t":"M","n":"Redis::zunion","p":"Redis.html#method_zunion","d":"

Retrieve the union of one or more sorted sets

"},{"t":"M","n":"Redis::zunionstore","p":"Redis.html#method_zunionstore","d":"

Perform a union on one or more Redis sets and store the result in a destination sorted set.

"},{"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":"

Return the position of the first bit set to 0 or 1 in a string.

"},{"t":"M","n":"RedisCluster::blpop","p":"RedisCluster.html#method_blpop","d":"

See Redis::blpop()

"},{"t":"M","n":"RedisCluster::brpop","p":"RedisCluster.html#method_brpop","d":"

See Redis::brpop()

"},{"t":"M","n":"RedisCluster::brpoplpush","p":"RedisCluster.html#method_brpoplpush","d":"

See Redis::brpoplpush()

"},{"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":"

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.

"},{"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":"

PING an instance in the redis cluster.

"},{"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 0000000..d487386 --- /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 '' + group + ''; + }); + + 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 0000000..d022b4c --- /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 0000000..0daf464 Binary files /dev/null and b/docs/fonts/doctum.eot differ diff --git a/docs/fonts/doctum.svg b/docs/fonts/doctum.svg new file mode 100644 index 0000000..341469b --- /dev/null +++ b/docs/fonts/doctum.svg @@ -0,0 +1,14 @@ + + + +Material Design Icons + + + + + + + + + + \ No newline at end of file diff --git a/docs/fonts/doctum.ttf b/docs/fonts/doctum.ttf new file mode 100644 index 0000000..cf3f816 Binary files /dev/null and b/docs/fonts/doctum.ttf differ diff --git a/docs/fonts/doctum.woff b/docs/fonts/doctum.woff new file mode 100644 index 0000000..6e1ca3b Binary files /dev/null and b/docs/fonts/doctum.woff differ diff --git a/docs/fonts/doctum.woff2 b/docs/fonts/doctum.woff2 new file mode 100644 index 0000000..e7b1a3e Binary files /dev/null and b/docs/fonts/doctum.woff2 differ diff --git a/docs/index.html b/docs/index.html new file mode 100644 index 0000000..f048b2e --- /dev/null +++ b/docs/index.html @@ -0,0 +1,120 @@ + + + + + + All Classes | PhpRedis API + + + + + + + + + + + + + + + + + +
+
+
+ +
+ + +
+
+
+ +
+ +
+
+ + +
+ + +
+
+
+ Redis
+
+
+
+ +
+
+
+ +
+
+ +
+ +
+
+
+ +
+
+
+
+
+ + + diff --git a/docs/interfaces.html b/docs/interfaces.html new file mode 100644 index 0000000..804c07e --- /dev/null +++ b/docs/interfaces.html @@ -0,0 +1,90 @@ + + + + + + Interfaces | PhpRedis API + + + + + + + + + + + + + + + + + +
+
+
+ +
+ + +
+
+
+ +
+ +
+
+ + +
+ + +
+
+
+
+ + + diff --git a/docs/js/autocomplete.min.js b/docs/js/autocomplete.min.js new file mode 100644 index 0000000..f7a5838 --- /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;nt.length)&&(e=t.length);for(var n=0,r=new Array(e);n=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 0000000..5c8647b --- /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+~]|"+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="",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="";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":{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:\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)[^>]*|#([\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\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="",m.noCloneChecked=!!le.cloneNode(!0).lastChild.defaultValue,le.innerHTML="",m.option=!!le.lastChild;var he={thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_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",""]);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\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
",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 + + + + + Namespaces | PhpRedis API + + + + + + + + + + + + + + + + + +
+
+
+ +
+ + +
+
+
+ +
+ +
+
+ + +
+ + +
+ +
+ + + + diff --git a/docs/opensearch.xml b/docs/opensearch.xml new file mode 100644 index 0000000..d51e040 --- /dev/null +++ b/docs/opensearch.xml @@ -0,0 +1,9 @@ + + + PhpRedis API (develop) + Searches PhpRedis API (develop) + PhpRedis API + + UTF-8 + false + diff --git a/docs/renderer.index b/docs/renderer.index new file mode 100644 index 0000000..e1826a6 --- /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 0000000..9d7121a --- /dev/null +++ b/docs/search.html @@ -0,0 +1,297 @@ + + + + + + Search | PhpRedis API + + + + + + + + + + + + + + + + + +
+
+
+ +
+ + +
+
+
+ +
+ +
+
+ + +
+ + +

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.

+ +
+
+ + +
+ +
+ +

Search Results

+ +
+
+ + + + +
+
+ + + diff --git a/docs/traits.html b/docs/traits.html new file mode 100644 index 0000000..d62c6ea --- /dev/null +++ b/docs/traits.html @@ -0,0 +1,89 @@ + + + + + + Traits | PhpRedis API + + + + + + + + + + + + + + + + + +
+
+
+ +
+ + +
+
+
+ +
+ +
+
+ + +
+ +
+
+
+
+ + + diff --git a/doctum-config.php b/doctum-config.php new file mode 100644 index 0000000..c1ac155 --- /dev/null +++ b/doctum-config.php @@ -0,0 +1,28 @@ +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 0000000..374e27c --- /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