class Cluster

Relay Cluster client.

Constants

OPT_SLAVE_FAILOVER

Integer representing the failover option.

FAILOVER_NONE

Integer representing no failover.

Enabled by default. Send commands to master nodes only.

FAILOVER_ERROR

Integer representing error failover.

Send readonly commands to slave nodes if master is unreachable.

FAILOVER_DISTRIBUTE

Integer representing distribute failover.

Always distribute readonly commands between master and slaves, at random.

FAILOVER_DISTRIBUTE_SLAVES

Integer representing distribute slaves failover.

Always distribute readonly commands to the slaves, at random.

OPT_AVAILABILITY_ZONE

Integer representing the availability zone option.

Properties

AdaptiveCache read-only $adaptiveCache

The adaptive cache object.

Methods

__construct(string|null $name, array|null $seeds = null, int|float $connect_timeout = 0, int|float $command_timeout = 0, bool $persistent = false, mixed $auth = null, array|null $context = null)

Create a cluster object.

string
_compress(string $value)

Compress data with Relay's currently configured compression algorithm.

int
idleTime()

Returns the number of milliseconds since Relay has received a reply from the cluster.

array|false
_getKeys()

Returns an array of endpoints along with each of their keys cached in runtime memory.

array
_masters()

Return a list of master nodes.

string
_pack(mixed $value)

Returns the serialized and compressed value.

string
_digest(mixed $value)

Returns the XXH3 digest for a given value. This returns the same value Redis' DIGEST command would return.

string
_prefix(mixed $value)

Returns the value with the prefix.

string
_serialize(mixed $value)

Returns the serialized value.

string
_uncompress(string $value)

Uncompress data with Relay's currently configured compression algorithm.

mixed
_unpack(string $value)

Returns the unserialized and decompressed value.

mixed
_unserialize(string $value)

Returns the unserialized value.

mixed
acl(array|string $key_or_address, string $operation, string ...$args)

Interact with ACLs.

int
addAllowPatterns(string ...$pattern)

Adds allow pattern(s). Only matching keys will be cached in memory.

int
addIgnorePatterns(string ...$pattern)

Adds ignore pattern(s). Matching keys will not be cached in memory.

Cluster|int|false
append(mixed $key, mixed $value)

If key already exists and is a string, this command appends the value at the end of the string. If key does not exist it is created and set as an empty string, so APPEND will be similar to SET in this special case.

Cluster|bool
bgrewriteaof(array|string $key_or_address)

Asynchronously rewrite the append-only file.

Cluster|int|false
wait(array|string $key_or_address, int $replicas, int $timeout)

Wait for the synchronous replication of all the write commands sent in the context of the current connection.

Cluster|array|false
waitaof(array|string $key_or_address, int $numlocal, int $numremote, int $timeout)

Pause the client until sufficient local and/or remote AOF data has been flushed to disk.

Cluster|bool
bgsave(array|string $key_or_address, bool $schedule = false)

Asynchronously save the dataset to disk.

Cluster|int|false
bitcount(mixed $key, int $start = 0, int $end = -1, bool $by_bit = false)

Count the number of set bits (population counting) in a string.

Cluster|int|false
bitop(string $operation, string $dstkey, string $srckey, string ...$other_keys)

Perform a bitwise operation on one or more keys, storing the result in a new key.

Cluster|int|false
bitpos(mixed $key, int $bit, int|null $start = null, int|null $end = null, bool $by_bit = false)

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

Cluster|string|null|false
blmove(mixed $srckey, mixed $dstkey, string $srcpos, string $dstpos, float $timeout)

BLMOVE is the blocking variant of LMOVE. When source contains elements, this command behaves exactly like LMOVE. When used inside a MULTI/EXEC block, this command behaves exactly like LMOVE.

mixed
blmpop(float $timeout, array $keys, string $from, int $count = 1)

Pop elements from a list, or block until one is available.

Cluster|array|null|false
blpop(string|array $key, string|float $timeout_or_key, mixed ...$extra_args)

BLPOP is a blocking list pop primitive. It is the blocking version of LPOP because it blocks the connection when there are no elements to pop from any of the given lists.

Cluster|array|null|false
brpop(string|array $key, string|float $timeout_or_key, mixed ...$extra_args)

BRPOP is a blocking list pop primitive. It is the blocking version of RPOP because it blocks the connection when there are no elements to pop from any of the given lists.

mixed
brpoplpush(mixed $srckey, mixed $dstkey, float $timeout)

Atomically returns and removes the last element (tail) of the list stored at source, and pushes the element at the first element (head) of the list stored at destination.

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

Remove and return members with scores in a sorted set or block until one is available.

Cluster|array|null|false
bzpopmax(string|array $key, string|float $timeout_or_key, mixed ...$extra_args)

BZPOPMAX is the blocking variant of the sorted set ZPOPMAX primitive.

Cluster|array|null|false
bzpopmin(string|array $key, string|float $timeout_or_key, mixed ...$extra_args)

BZPOPMIN is the blocking variant of the sorted set ZPOPMIN primitive.

bool
clearLastError()

Clears the last error that is set, if any.

bool
clearTransferredBytes()

No description

mixed
client(array|string $key_or_address, string $operation, mixed ...$args)

Executes CLIENT command operations.

bool
close()

Closes the current connection, even if it's persistent.

mixed
cluster(array|string $key_or_address, string $operation, mixed ...$args)

Executes CLUSTER command operations.

array|false
clusterscan(mixed $iterator, mixed $match = null, int $count = 0, string|null $type = null, int|null $slot = null)

Topology-aware keyspace scanning for matching keys.

mixed
config(array|string $key_or_address, string $operation, mixed ...$args)

This is a container command for runtime configuration commands.

Cluster|array|int|false
command(mixed ...$args)

Return an array with details about every Redis command.

Cluster|bool
copy(mixed $srckey, mixed $dstkey, array|null $options = null)

This command copies the value stored at the source key to the destination key.

Cluster|int|false
dbsize(array|string $key_or_address)

Returns the number of keys in the currently-selected database.

Cluster|int|false
decr(mixed $key, int $by = 1)

Decrements the number stored at key by one.

Cluster|int|false
decrby(mixed $key, int $value)

Decrements the number stored at key by decrement.

Cluster|int|bool
del(mixed ...$keys)

Removes the specified keys.

Cluster|int|false
delex(mixed $key, array|null $options = null)

Removes the key if it matches or does not match a value or hash.

Cluster|int|false
delifeq(mixed $key, mixed $value)

Remove a key if it equals the provided value.

bool
discard()

Flushes all previously queued commands in a transaction and restores the connection state to normal.

int|false
dispatchEvents()

Dispatches all pending events.

Cluster|string|null|false
digest(mixed $key)

Returns the XX3 hash of a string key's value.

Cluster|string|false
dump(mixed $key)

Serialize and return the value stored at key in a Redis-specific format.

Cluster|string|false
echo(array|string $key_or_address, string $message)

Asks Redis to echo back the provided string.

array|false
endpointId()

Returns the connection's endpoint identifier.

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

Evaluate script using the Lua interpreter.

mixed
eval_ro(mixed $script, array $args = [], int $num_keys = 0)

Evaluate script using the Lua interpreter. This is just the "read-only" variant of EVAL meaning it can be run on read-only replicas.

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

Evaluates a script cached on the server-side by its SHA1 digest.

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

Evaluates a script cached on the server-side by its SHA1 digest. This is just the "read-only" variant of EVALSHA meaning it can be run on read-only replicas.

array|false
exec()

Executes all previously queued commands in a transaction and restores the connection state to normal.

Cluster|int|bool
exists(mixed ...$keys)

Returns if key(s) exists.

Cluster|bool
expire(mixed $key, int $seconds, string|null $mode = null)

Set a timeout on key.

Cluster|bool
expireat(mixed $key, int $timestamp)

Set a timeout on key using a unix timestamp.

Cluster|int|false
expiretime(mixed $key)

Returns the absolute Unix timestamp in seconds at which the given key will expire.

static bool
flushMemory(string|null $endpointId = null, int|null $db = null)

No description

Cluster|bool
flushall(array|string $key_or_address, bool|null $sync = null)

Deletes all the keys of all the existing databases, not just the currently selected one.

Cluster|bool
flushdb(array|string $key_or_address, bool|null $sync = null)

Deletes all the keys of the currently selected database.

bool
flushSlotCache()

Flush the persistent slot cache, if one exists.

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

Add one or more members to a geospatial sorted set.

Cluster|float|false
geodist(mixed $key, string $src, string $dst, string|null $unit = null)

Get the distance between two members of a geospatially encoded sorted set.

Cluster|array|false
geohash(mixed $key, string $member, string ...$other_members)

Retrieve one or more GeoHash encoded strings for members of the set.

Cluster|array|false
geopos(mixed $key, mixed ...$members)

Return the positions (longitude,latitude) of all the specified members of the geospatial index represented by the sorted set at key.

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

Retrieve members of a geospatially sorted set that are within a certain radius of a location.

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

Retrieve members of a geospatially sorted set that are within a certain radius of a location.

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

Similar to GEORADIUS except it uses a member as the center of the query.

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

Similar to GEORADIUS except it uses a member as the center of the query.

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

Search a geospatial sorted set for members in various ways.

Cluster|int|false
geosearchstore(mixed $dstkey, mixed $srckey, array|string $position, array|int|float $shape, string $unit, array $options = [])

Search a geospatial sorted set for members within a given area or range, storing the results into a new set.

Cluster|array|false
gcra(string $key, int $maxBurst, int $requestsPerPeriod, int $period, int $tokens = 0)

Rate limit via GCRA (Generic Cell Rate Algorithm).

mixed
get(mixed $key)

Get the value of key.

Cluster|array|false
getWithMeta(mixed $key)

Get the value and metadata of key.

Cluster|int|false
getbit(mixed $key, int $pos)

Returns the bit value at offset in the string value stored at key.

mixed
getex(mixed $key, array|null $options = null)

Get the value of key and optionally set its expiration.

mixed
getdel(mixed $key)

Get the value of key and delete the key. This command is similar to GET, except for the fact that it also deletes the key on success (if and only if the key's value type is a string).

string|null
getLastError()

Returns the last error message, if any.

int
getMode(bool $masked = false)

Get the mode Relay is currently in.

mixed
getOption(int $option)

Returns a client option.

array|false
getTransferredBytes()

No description

Cluster|string|false
getrange(mixed $key, int $start, int $end)

Returns the substring of the string value stored at key, determined by the offsets start and end (both are inclusive).

mixed
getset(mixed $key, mixed $value)

Atomically sets key to value and returns the old value stored at key.

Cluster|int|false
hdel(mixed $key, mixed $member, mixed ...$members)

Removes the specified fields from the hash stored at key.

Cluster|bool
hexists(mixed $key, mixed $member)

Returns if field is an existing field in the hash stored at key.

Cluster|array|false
hexpire(mixed $hash, int $ttl, array $fields, string|null $mode = null)

Set an expiration for one or more hash fields.

Cluster|array|false
hpexpire(mixed $hash, int $ttl, array $fields, string|null $mode = null)

Set a millisecond resolution expiry on one or more hash fields.

Cluster|array|false
hexpireat(mixed $hash, int $ttl, array $fields, string|null $mode = null)

Set a unix timestamp expiration for one or more hash fields.

Cluster|array|false
hpexpireat(mixed $hash, int $ttl, array $fields, string|null $mode = null)

Set a millisecond resolution unix timestamp expiration for one or more hash fields.

Cluster|array|false
httl(mixed $hash, array $fields)

Get the expire time in seconds for one or more hash fields.

Cluster|array|false
hpttl(mixed $hash, array $fields)

Get the expire time in milliseconds for one or more hash fields.

Cluster|array|false
hexpiretime(mixed $hash, array $fields)

Get the unix timestamp expiration time for one or more hash fields.

Cluster|array|false
hpexpiretime(mixed $hash, array $fields)

Get the millisecond precision unix timestamp expiration time for one or more hash fields.

Cluster|array|false
hpersist(mixed $hash, array $fields)

Persist one or more hash fields.

mixed
hget(mixed $key, mixed $member)

Returns the value associated with field in the hash stored at key.

Cluster|array|false
hgetall(mixed $key)

Returns all fields and values of the hash stored at key.

Cluster|array|false
hgetWithMeta(mixed $hash, mixed $member)

Returns the value associated with field in the hash stored at key.

Cluster|int|false
hincrby(mixed $key, mixed $member, int $value)

Increments the number stored at field in the hash stored at key by increment.

Cluster|float|bool
hincrbyfloat(mixed $key, mixed $member, float $value)

Increment the specified field of a hash stored at key, and representing a floating point number, by the specified increment.

Cluster|array|false
hkeys(mixed $key)

Returns all field names in the hash stored at key.

Cluster|int|false
hlen(mixed $key)

Returns the number of fields contained in the hash stored at $key.

Cluster|array|false
hmget(mixed $key, array $members)

Returns the values associated with the specified fields in the hash stored at key.

Cluster|array|false
hgetdel(mixed $key, array $fields)

Gets and deletes one or more hash fields.

Cluster|bool
hmset(mixed $key, array $members)

Sets the specified fields to their respective values in the hash stored at key.

Cluster|array|string|false
hrandfield(mixed $key, array|null $options = null)

When called with just the key argument, return a random field from the hash value stored at key.

array|false
hscan(mixed $key, mixed $iterator, mixed $match = null, int $count = 0)

Iterates fields of Hash types and their associated values.

Cluster|int|false
hset(mixed $key, mixed ...$keys_and_vals)

Sets field in the hash stored at key to value.

Cluster|int|false
hsetex(mixed $key, array $fields, null|int|float|array $expiry = null)

Set one or more hash fields and values with expiration options.

Cluster|bool
hsetnx(mixed $key, mixed $member, mixed $value)

Sets field in the hash stored at key to value, only if field does not yet exist.

Cluster|int|false
hstrlen(mixed $key, mixed $member)

Returns the string length of the value associated with field in the hash stored at key.

Cluster|array|false
hgetex(mixed $hash, array $fields, mixed $expiry = null)

Returns one or more fields while also setting an expiration on them.

Cluster|array|false
hvals(mixed $key)

Returns all values in the hash stored at key.

Cluster|int|false
incr(mixed $key, int $by = 1)

Increments the number stored at key by one.

Cluster|int|false
incrby(mixed $key, int $value)

Increments the number stored at key by increment.

Cluster|float|false
incrbyfloat(mixed $key, float $value)

Increment the string representing a floating point number stored at key by the specified increment.

Cluster|array|false
info(array|string $key_or_address, string ...$sections)

The INFO command returns information and statistics about Redis in a format that is simple to parse by computers and easy to read by humans.

static bool
invalidateSlotCaches()

Invalidate all slot caches across all workers.

Cluster|array|false
keys(mixed $pattern)

Returns all keys matching pattern.

static float|false
lastMemoryFlush(string|null $endpointId = null, int|null $db = null)

No description

Cluster|int|false
lastsave(array|string $key_or_address)

Returns the UNIX time stamp of the last successful save to disk.

mixed
lcs(mixed $key1, mixed $key2, array|null $options = null)

Get the longest common subsequence between two string keys.

mixed
lindex(mixed $key, int $index)

Returns the element at index index in the list stored at key.

Cluster|int|false
linsert(mixed $key, string $op, mixed $pivot, mixed $element)

Inserts element in the list stored at key either before or after the reference value pivot.

bool
listen(callable|null $callback)

Registers a new event listener.

Cluster|int|false
llen(mixed $key)

Returns the length of the list stored at $key.

Cluster|string|null|false
lmove(mixed $srckey, mixed $dstkey, string $srcpos, string $dstpos)

Atomically returns and removes the first/last element of the list stored at source, and pushes the element at the first/last element of the list stored at destination.

mixed
lmpop(array $keys, string $from, int $count = 1)

Pops one or more elements from the first non-empty list key from the list of provided key names.

mixed
lpop(mixed $key, int $count = 1)

Removes and returns the first elements of the list stored at key.

mixed
lpos(mixed $key, mixed $value, array|null $options = null)

The command returns the index of matching elements inside a Redis list.

Cluster|int|false
lpush(mixed $key, mixed $member, mixed ...$members)

Insert all the specified values at the head of the list stored at key.

Cluster|int|false
lpushx(mixed $key, mixed $member, mixed ...$members)

Inserts specified values at the head of the list stored at key, only if key already exists and holds a list.

Cluster|array|false
lrange(mixed $key, int $start, int $stop)

Returns the specified elements of the list stored at key.

Cluster|int|false
lrem(mixed $key, mixed $member, int $count = 0)

Removes the first count occurrences of elements equal to element from the list stored at key.

Cluster|bool
lset(mixed $key, int $index, mixed $member)

Sets the list element at index to element.

Cluster|bool
ltrim(mixed $key, int $start, int $end)

Trim an existing list so that it will contain only the specified range of elements specified.

static int
maxMemory()

Returns the number of bytes allocated, or 0 in client-only mode.

Cluster|array|false
mget(array $keys)

Returns the values of all specified keys.

Cluster|array|bool
mset(array $kvals)

Sets the given keys to their respective values.

Cluster|array|bool
msetnx(array $kvals)

Sets the given keys to their respective values.

Cluster|bool
multi(int $mode = Relay::MULTI)

Marks the start of a transaction block. Subsequent commands will be queued for atomic execution using EXEC.

mixed
object(string $op, mixed $key)

This is a container command for object introspection commands.

bool
onFlushed(callable|null $callback)

Registers a new flushed event listener.

bool
onInvalidated(callable|null $callback, string|null $pattern = null)

Registers a new invalidated event listener.

Cluster|bool
persist(mixed $key)

Remove the existing timeout on key, turning the key from volatile to persistent.

Cluster|bool
pexpire(mixed $key, int $milliseconds)

Set a key's time to live in milliseconds.

Cluster|bool
pexpireat(mixed $key, int $timestamp_ms)

Set the expiration for a key as a UNIX timestamp specified in milliseconds.

Cluster|int|false
pexpiretime(mixed $key)

Semantically the same as EXPIRETIME, but returns the absolute Unix expiration timestamp in milliseconds instead of seconds.

Cluster|int|false
pfadd(mixed $key, array $elements)

Adds the specified elements to the specified HyperLogLog.

Cluster|int|false
pfcount(mixed $key)

Return the approximated cardinality of the set(s) observed by the HyperLogLog at key(s).

Cluster|bool
pfmerge(string $dstkey, array $srckeys)

Merge given HyperLogLogs into a single one.

Cluster|bool|string
ping(array|string $key_or_address, string|null $message = null)

Returns PONG if no argument is provided, otherwise return a copy of the argument as a bulk.

Cluster|bool
psetex(mixed $key, int $milliseconds, mixed $value)

Set key to hold the string value and set key to timeout after a given number of milliseconds.

bool
psubscribe(array $patterns, callable $callback)

Subscribes to the given patterns.

Cluster|int|false
pttl(mixed $key)

Returns the remaining time to live of a key that has a timeout in milliseconds.

Cluster|int|false
publish(string $channel, string $message)

Posts a message to the given channel.

mixed
pubsub(array|string $key_or_address, string $operation, mixed ...$args)

A container command for Pub/Sub introspection commands.

bool
punsubscribe(array $patterns = [])

Unsubscribes from the given patterns, or from all of them if none is given.

Cluster|bool|string
randomkey(array|string $key_or_address)

Returns a random key from Redis.

mixed
rawCommand(array|string $key_or_address, string $cmd, mixed ...$args)

Execute any command against Redis, without applying the prefix, compression and serialization.

Cluster|bool
rename(mixed $key, mixed $newkey)

Renames key.

Cluster|bool
renamenx(mixed $key, mixed $newkey)

Renames key if the new key does not yet exist.

Cluster|bool
restore(mixed $key, int $ttl, string $value, array|null $options = null)

Create a key associated with a value that is obtained by deserializing the provided serialized value.

Cluster|array|false
role(array|string $key_or_address)

Returns the role of the instance in the context of replication.

mixed
rpop(mixed $key, int $count = 1)

Removes and returns the last elements of the list stored at key.

mixed
rpoplpush(mixed $srckey, mixed $dstkey)

Atomically returns and removes the last element (tail) of the list stored at source, and pushes the element at the first element (head) of the list stored at destination.

Cluster|int|false
rpush(mixed $key, mixed $member, mixed ...$members)

Insert all the specified values at the tail of the list stored at key.

Cluster|int|false
rpushx(mixed $key, mixed $member, mixed ...$members)

Inserts specified values at the tail of the list stored at key, only if key already exists and holds a list.

Cluster|int|false
sadd(mixed $key, mixed $member, mixed ...$members)

Add the specified members to the set stored at $key.

Cluster|bool
save(array|string $key_or_address)

Synchronously save the dataset to disk.

array|false
scan(mixed $iterator, array|string $key_or_address, mixed $match = null, int $count = 0, string|null $type = null)

Scan the keyspace for matching keys.

Generator|false
fullscan(mixed $match = null, int $count = 0, string|null $type = null)

Scan the keyspace for matching keys on each master node.

Cluster|int|false
scard(mixed $key)

Returns the set cardinality (number of elements) of the set stored at $key.

mixed
script(array|string $key_or_address, string $operation, string ...$args)

Execute a script management command.

Cluster|array|false
sdiff(mixed $key, mixed ...$other_keys)

Returns the members of the set resulting from the difference between the first set and all the successive sets.

Cluster|int|false
sdiffstore(mixed $key, mixed ...$other_keys)

This command is equal to SDIFF, but instead of returning the resulting set, it is stored in destination.

Cluster|string|bool
set(mixed $key, mixed $value, mixed $options = null)

Set key to hold the string value. If key already holds a value, it is overwritten, regardless of its type.

bool
setOption(int $option, mixed $value)

Sets a client option.

Cluster|int|false
setbit(mixed $key, int $pos, int $value)

Sets or clears the bit at offset in the string value stored at key.

Cluster|bool
setex(mixed $key, int $seconds, mixed $value)

Set key to hold the string value and set key to timeout after a given number of seconds.

Cluster|bool
setnx(mixed $key, mixed $value)

Set key to hold string value if key does not exist. In that case, it is equal to SET.

Cluster|int|false
setrange(mixed $key, int $start, mixed $value)

Overwrites part of the string stored at key, starting at the specified offset, for the entire length of value.

Cluster|array|false
sinter(mixed $key, mixed ...$other_keys)

Returns the members of the set resulting from the intersection of all the given sets.

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

Intersect multiple sets and return the cardinality of the result.

Cluster|int|false
sinterstore(mixed $key, mixed ...$other_keys)

This command is equal to SINTER, but instead of returning the resulting set, it is stored in destination.

Cluster|bool
sismember(mixed $key, mixed $member)

Returns if $member is a member of the set stored at $key.

Cluster|array|int|bool
slowlog(array|string $key_or_address, string $operation, mixed ...$args)

Interact with the Redis slowlog.

Cluster|array|false
smembers(mixed $key)

Returns all the members of the set value stored at $key.

Cluster|array|false
smismember(mixed $key, mixed ...$members)

Returns whether each member is a member of the set stored at $key.

Cluster|bool
smove(mixed $srckey, mixed $dstkey, mixed $member)

Move member from the set at source to the set at destination.

Cluster|array|int|false
sort(mixed $key, array $options = [])

Sort the elements in a list, set or sorted set.

Cluster|array|int|false
sort_ro(mixed $key, array $options = [])

Sort the elements in a list, set or sorted set. Read-only variant of SORT.

mixed
spop(mixed $key, int $count = 1)

Removes and returns one or more random members from the set value store at $key.

mixed
srandmember(mixed $key, int $count = 1)

Returns one or multiple random members from a set.

Cluster|int|false
srem(mixed $key, mixed $member, mixed ...$members)

Remove the specified members from the set stored at $key.

array|false
sscan(mixed $key, mixed $iterator, mixed $match = null, int $count = 0)

Iterates elements of Sets types.

bool
ssubscribe(array $channels, callable $callback)

Subscribes to the specified shard channels.

static array
stats()

Returns statistics about Relay.

Cluster|int|false
strlen(mixed $key)

Returns the length of the string value stored at $key.

bool
subscribe(array $channels, callable $callback)

Subscribes to the specified channels.

Cluster|array|false
sunion(mixed $key, mixed ...$other_keys)

Returns the members of the set resulting from the union of all the given sets.

Cluster|int|false
sunionstore(mixed $key, mixed ...$other_keys)

This command is equal to SUNION, but instead of returning the resulting set, it is stored in destination.

bool
sunsubscribe(array $channels = [])

Unsubscribes from the given shard channels, or from all of them if none is given.

Cluster|array|false
time(array|string $key_or_address)

Returns the current time from Redis.

Cluster|int|false
touch(array|string $key_or_array, mixed ...$more_keys)

Alters the last access time of a key(s).

Cluster|int|false
ttl(mixed $key)

Returns the remaining time to live of a key that has a timeout in seconds.

Cluster|int|string|bool
type(mixed $key)

Returns the type of a given key.

Cluster|int|false
unlink(mixed ...$keys)

Removes the specified keys without blocking Redis.

bool
unsubscribe(array $channels = [])

Unsubscribes from the given channels, or from all of them if none is given.

Cluster|bool
unwatch()

Flushes all the previously watched keys for a transaction.

Cluster|int|false
vadd(mixed $key, array $values, mixed $element, array|null $options = null)

Add an element to a vector set.

Cluster|int|false
vcard(mixed $key)

Return the cardinality (number of elements) in a vector set.

Cluster|int|false
vdim(mixed $key)

Return the dimensionality of vectors in a vector set.

Cluster|array|false
vemb(mixed $key, mixed $element, bool $raw = false)

Get the embedding for a given vector set member.

Cluster|array|string|false
vgetattr(mixed $key, mixed $element, bool $raw = false)

Get any attributes for a given vector set member.

Cluster|array|false
vinfo(mixed $key)

Return metadata about a vector set.

Cluster|bool
vismember(mixed $key, mixed $element)

Returns whether or not the element is a member of a vectorset.

Cluster|array|false
vlinks(mixed $key, mixed $element, bool $withscores)

Get neighbors for a given vector element optionally withscores.

Cluster|array|string|false
vrandmember(mixed $key, int $count = 0)

Get one or more random members from a vector set.

Cluster|array|bool
vrange(string $key, string $end, string $start, int $count = -1)

Get a range of entries from a STREAM key in reverse chronological order.

Cluster|int|false
vrem(mixed $key, mixed $element)

Remove an element from a vector set.

Cluster|int|false
vsetattr(mixed $key, mixed $element, array|string $attributes)

Set attributes for a given vector set member.

Cluster|array|false
vsim(mixed $key, mixed $member, array|null $options = null)

Do a similarity search on encodings or an element of a vector set.

Cluster|bool
watch(mixed $key, mixed ...$other_keys)

Marks the given keys to be watched for conditional execution of a transaction.

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

Acknowledge one or more IDs as having been processed by the consumer group.

Cluster|array|false
xackdel(string $key, string $group, array $ids, string|null $mode = null)

Acknowledge and delete one or more IDs in a stream.

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

Append a message to a stream.

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

Automatically take ownership of stream message(s) by metrics.

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

Claim ownership of stream message(s).

Cluster|int|false
xdel(mixed $key, array $ids)

Remove one or more specific IDs from a stream.

Cluster|array|false
xdelex(string $key, array $ids, string|null $mode = null)

Remove one or more IDs from a stream with optional mode argument.

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

Perform utility operations having to do with consumer groups.

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

Retrieve information about a stream key.

Cluster|int|false
xlen(mixed $key)

Get the length of a stream.

Cluster|array|false
xpending(mixed $key, string $group, string|null $start = null, string|null $end = null, int $count = -1, string|null $consumer = null, int $idle = 0)

Query pending entries in a stream.

Cluster|array|false
xrange(mixed $key, string $start, string $end, int $count = -1)

Lists elements in a stream.

Cluster|array|bool|null
xread(array $streams, int $count = -1, int $block = -1)

Read messages from a stream.

Cluster|array|bool|null
xreadgroup(mixed $key, string $consumer, array $streams, int $count = 1, int $block = 1)

Read messages from a stream using a consumer group.

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

Get a range of entries from a STREAM key in reverse chronological order.

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

Truncate a STREAM key in various ways.

mixed
zadd(mixed $key, mixed ...$args)

Adds all the specified members with the specified scores to the sorted set stored at key.

Cluster|int|false
zcard(mixed $key)

Returns the sorted set cardinality (number of elements) of the sorted set stored at key.

Cluster|int|false
zcount(mixed $key, mixed $min, mixed $max)

Returns the number of elements in the sorted set at key with a score between min and max.

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

This command is similar to ZDIFFSTORE, but instead of storing the resulting sorted set, it is returned to the client.

Cluster|int|false
zdiffstore(mixed $dstkey, array $keys)

Computes the difference between the first and all successive input sorted sets and stores the result in destination.

Cluster|float|false
zincrby(mixed $key, float $score, mixed $member)

Increments the score of member in the sorted set stored at key by increment.

Cluster|array|false
zinter(array $keys, array|null $weights = null, mixed $options = null)

This command is similar to ZINTERSTORE, but instead of storing the resulting sorted set, it is returned to the client.

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

Intersect multiple sorted sets and return the cardinality of the result.

Cluster|int|false
zinterstore(mixed $dstkey, array $keys, array|null $weights = null, mixed $options = null)

Computes the intersection of numkeys sorted sets given by the specified keys, and stores the result in destination.

Cluster|int|false
zlexcount(mixed $key, mixed $min, mixed $max)

When all the elements in a sorted set are inserted with the same score, in order to force lexicographical ordering, this command returns the number of elements in the sorted set at key with a value between min and max.

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

Pops one or more elements, that are member-score pairs, from the first non-empty sorted set in the provided list of key names.

Cluster|array|false
zmscore(mixed $key, mixed ...$members)

Returns the scores associated with the specified members in the sorted set stored at key.

Cluster|array|false
zpopmax(mixed $key, int $count = 1)

Removes and returns up to count members with the highest scores in the sorted set stored at key.

Cluster|array|false
zpopmin(mixed $key, int $count = 1)

Removes and returns up to count members with the lowest scores in the sorted set stored at key.

mixed
zrandmember(mixed $key, array|null $options = null)

When called with just the key argument, return a random element from the sorted set value stored at key.

Cluster|array|false
zrange(mixed $key, string $start, string $end, mixed $options = null)

Returns the specified range of elements in the sorted set stored at key.

Cluster|array|false
zrangebylex(mixed $key, mixed $min, mixed $max, int $offset = -1, int $count = -1)

When all the elements in a sorted set are inserted with the same score, in order to force lexicographical ordering, this command returns all the elements in the sorted set at key with a value between min and max.

Cluster|array|false
zrangebyscore(mixed $key, mixed $start, mixed $end, mixed $options = null)

Returns all the elements in the sorted set at key with a score between min and max (including elements with score equal to min or max).

Cluster|int|false
zrangestore(mixed $dstkey, mixed $srckey, mixed $start, mixed $end, mixed $options = null)

Returns all the elements in the sorted set at key with a score between max and min (including elements with score equal to max or min).

Cluster|array|int|false
zrank(mixed $key, mixed $rank, bool $withscore = false)

Returns the rank of member in the sorted set stored at key, with the scores ordered from low to high. The rank (or index) is 0-based, which means that the member with the lowest score has rank 0.

Cluster|int|false
zrem(mixed $key, mixed ...$args)

Removes the specified members from the sorted set stored at key.

Cluster|int|false
zremrangebylex(mixed $key, mixed $min, mixed $max)

When all the elements in a sorted set are inserted with the same score, in order to force lexicographical ordering, this command removes all elements in the sorted set stored at key between the lexicographical range specified by min and max.

Cluster|int|false
zremrangebyrank(mixed $key, int $start, int $end)

Removes all elements in the sorted set stored at key with rank between start and stop. Both start and stop are 0 -based indexes with 0 being the element with the lowest score.

Cluster|int|false
zremrangebyscore(mixed $key, mixed $min, mixed $max)

Removes all elements in the sorted set stored at key with a score between min and max (inclusive).

Cluster|array|false
zrevrange(mixed $key, int $start, int $end, mixed $options = null)

Returns the specified range of elements in the sorted set stored at key.

Cluster|array|false
zrevrangebylex(mixed $key, mixed $max, mixed $min, int $offset = -1, int $count = -1)

When all the elements in a sorted set are inserted with the same score, in order to force lexicographical ordering, this command returns all the elements in the sorted set at key with a value between max and min.

Cluster|array|false
zrevrangebyscore(mixed $key, mixed $start, mixed $end, mixed $options = null)

Returns all the elements in the sorted set at key with a score between max and min (including elements with score equal to max or min).

Cluster|array|int|false
zrevrank(mixed $key, mixed $rank, bool $withscore = false)

Returns the rank of member in the sorted set stored at key, with the scores ordered from high to low. The rank (or index) is 0-based, which means that the member with the highest score has rank 0.

array|false
zscan(mixed $key, mixed $iterator, mixed $match = null, int $count = 0)

Iterates elements of Sorted Set types and their associated scores.

Cluster|float|false
zscore(mixed $key, mixed $member)

Returns the score of member in the sorted set at key.

Cluster|array|false
zunion(array $keys, array|null $weights = null, mixed $options = null)

This command is similar to ZUNIONSTORE, but instead of storing the resulting sorted set, it is returned to the client.

Cluster|int|false
zunionstore(mixed $dstkey, array $keys, array|null $weights = null, mixed $options = null)

Computes the union of numkeys sorted sets given by the specified keys, and stores the result in destination.

Details

at line 5023
__construct(string|null $name, array|null $seeds = null, int|float $connect_timeout = 0, int|float $command_timeout = 0, bool $persistent = false, mixed $auth = null, array|null $context = null)

Create a cluster object.

Parameters

string|null $name
array|null $seeds
int|float $connect_timeout
int|float $command_timeout
bool $persistent
mixed $auth
array|null $context

See also

Relay::__construct for context options.

at line 5040
string _compress(string $value)

Compress data with Relay's currently configured compression algorithm.

Parameters

string $value

Return Value

string

at line 5048
int idleTime()

Returns the number of milliseconds since Relay has received a reply from the cluster.

Return Value

int

at line 5057
array|false _getKeys()

internal  Temporary debug helper. Do not use.
 

Returns an array of endpoints along with each of their keys cached in runtime memory.

Return Value

array|false

at line 5064
array _masters()

Return a list of master nodes.

Return Value

array

at line 5073
string _pack(mixed $value)

Returns the serialized and compressed value.

Parameters

mixed $value

Return Value

string

at line 5083
string _digest(mixed $value)

Returns the XXH3 digest for a given value. This returns the same value Redis' DIGEST command would return.

Parameters

mixed $value

Return Value

string

at line 5092
string _prefix(mixed $value)

Returns the value with the prefix.

Parameters

mixed $value

Return Value

string

at line 5101
string _serialize(mixed $value)

Returns the serialized value.

Parameters

mixed $value

Return Value

string

at line 5110
string _uncompress(string $value)

Uncompress data with Relay's currently configured compression algorithm.

Parameters

string $value

Return Value

string

at line 5119
mixed _unpack(string $value)

Returns the unserialized and decompressed value.

Parameters

string $value

Return Value

mixed

at line 5128
mixed _unserialize(string $value)

Returns the unserialized value.

Parameters

string $value

Return Value

mixed

at line 5138
mixed acl(array|string $key_or_address, string $operation, string ...$args)

Interact with ACLs.

Parameters

array|string $key_or_address
string $operation
string ...$args ,...

Return Value

mixed

at line 5147
int addAllowPatterns(string ...$pattern)

Adds allow pattern(s). Only matching keys will be cached in memory.

Parameters

string ...$pattern ,...

Return Value

int

at line 5156
int addIgnorePatterns(string ...$pattern)

Adds ignore pattern(s). Matching keys will not be cached in memory.

Parameters

string ...$pattern ,...

Return Value

int

at line 5169
Cluster|int|false append(mixed $key, mixed $value)

If key already exists and is a string, this command appends the value at the end of the string. If key does not exist it is created and set as an empty string, so APPEND will be similar to SET in this special case.

Parameters

mixed $key
mixed $value

Return Value

Cluster|int|false

at line 5178
Cluster|bool bgrewriteaof(array|string $key_or_address)

Asynchronously rewrite the append-only file.

Parameters

array|string $key_or_address

Return Value

Cluster|bool

at line 5190
Cluster|int|false wait(array|string $key_or_address, int $replicas, int $timeout)

Wait for the synchronous replication of all the write commands sent in the context of the current connection.

Parameters

array|string $key_or_address
int $replicas
int $timeout

Return Value

Cluster|int|false

at line 5201
Cluster|array|false waitaof(array|string $key_or_address, int $numlocal, int $numremote, int $timeout)

Pause the client until sufficient local and/or remote AOF data has been flushed to disk.

Parameters

array|string $key_or_address
int $numlocal
int $numremote
int $timeout

Return Value

Cluster|array|false

at line 5211
Cluster|bool bgsave(array|string $key_or_address, bool $schedule = false)

Asynchronously save the dataset to disk.

Parameters

array|string $key_or_address
bool $schedule

Return Value

Cluster|bool

at line 5223
Cluster|int|false bitcount(mixed $key, int $start = 0, int $end = -1, bool $by_bit = false)

Count the number of set bits (population counting) in a string.

Parameters

mixed $key
int $start
int $end
bool $by_bit

Return Value

Cluster|int|false

at line 5235
Cluster|int|false bitop(string $operation, string $dstkey, string $srckey, string ...$other_keys)

Perform a bitwise operation on one or more keys, storing the result in a new key.

Parameters

string $operation
string $dstkey
string $srckey
string ...$other_keys ,...

Return Value

Cluster|int|false

at line 5248
Cluster|int|false bitpos(mixed $key, int $bit, int|null $start = null, int|null $end = null, bool $by_bit = false)

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

Parameters

mixed $key
int $bit
int|null $start
int|null $end
bool $by_bit

Return Value

Cluster|int|false

at line 5263
Cluster|string|null|false blmove(mixed $srckey, mixed $dstkey, string $srcpos, string $dstpos, float $timeout)

BLMOVE is the blocking variant of LMOVE. When source contains elements, this command behaves exactly like LMOVE. When used inside a MULTI/EXEC block, this command behaves exactly like LMOVE.

Parameters

mixed $srckey
mixed $dstkey
string $srcpos
string $dstpos
float $timeout

Return Value

Cluster|string|null|false

at line 5275
mixed blmpop(float $timeout, array $keys, string $from, int $count = 1)

Pop elements from a list, or block until one is available.

Parameters

float $timeout
array $keys
string $from
int $count

Return Value

mixed

at line 5287
Cluster|array|null|false blpop(string|array $key, string|float $timeout_or_key, mixed ...$extra_args)

BLPOP is a blocking list pop primitive. It is the blocking version of LPOP because it blocks the connection when there are no elements to pop from any of the given lists.

Parameters

string|array $key
string|float $timeout_or_key
mixed ...$extra_args ,...

Return Value

Cluster|array|null|false

at line 5299
Cluster|array|null|false brpop(string|array $key, string|float $timeout_or_key, mixed ...$extra_args)

BRPOP is a blocking list pop primitive. It is the blocking version of RPOP because it blocks the connection when there are no elements to pop from any of the given lists.

Parameters

string|array $key
string|float $timeout_or_key
mixed ...$extra_args ,...

Return Value

Cluster|array|null|false

at line 5312
mixed brpoplpush(mixed $srckey, mixed $dstkey, float $timeout)

Atomically returns and removes the last element (tail) of the list stored at source, and pushes the element at the first element (head) of the list stored at destination.

This command will block for an element up to the provided timeout.

Parameters

mixed $srckey
mixed $dstkey
float $timeout

Return Value

mixed

at line 5324
Cluster|array|null|false bzmpop(float $timeout, array $keys, string $from, int $count = 1)

Remove and return members with scores in a sorted set or block until one is available.

Parameters

float $timeout
array $keys
string $from
int $count

Return Value

Cluster|array|null|false

at line 5335
Cluster|array|null|false bzpopmax(string|array $key, string|float $timeout_or_key, mixed ...$extra_args)

BZPOPMAX is the blocking variant of the sorted set ZPOPMAX primitive.

Parameters

string|array $key
string|float $timeout_or_key
mixed ...$extra_args ,...

Return Value

Cluster|array|null|false

at line 5346
Cluster|array|null|false bzpopmin(string|array $key, string|float $timeout_or_key, mixed ...$extra_args)

BZPOPMIN is the blocking variant of the sorted set ZPOPMIN primitive.

Parameters

string|array $key
string|float $timeout_or_key
mixed ...$extra_args ,...

Return Value

Cluster|array|null|false

at line 5354
bool clearLastError()

Clears the last error that is set, if any.

Return Value

bool

at line 5360
bool clearTransferredBytes()

No description

Return Value

bool

at line 5371
mixed client(array|string $key_or_address, string $operation, mixed ...$args)

Executes CLIENT command operations.

Parameters

array|string $key_or_address
string $operation
mixed ...$args ,...

Return Value

mixed

at line 5382
bool close()

Closes the current connection, even if it's persistent.

Relay defaults to persistent connections and calling close() is not necessary because connections are stashed and reused automatically.

Return Value

bool

at line 5393
mixed cluster(array|string $key_or_address, string $operation, mixed ...$args)

Executes CLUSTER command operations.

Parameters

array|string $key_or_address
string $operation
mixed ...$args ,...

Return Value

mixed

at line 5406
array|false clusterscan(mixed $iterator, mixed $match = null, int $count = 0, string|null $type = null, int|null $slot = null)

Topology-aware keyspace scanning for matching keys.

Parameters

mixed $iterator
mixed $match
int $count
string|null $type
int|null $slot

Return Value

array|false

at line 5417
mixed config(array|string $key_or_address, string $operation, mixed ...$args)

This is a container command for runtime configuration commands.

Parameters

array|string $key_or_address
string $operation
mixed ...$args ,...

Return Value

mixed

at line 5426
Cluster|array|int|false command(mixed ...$args)

Return an array with details about every Redis command.

Parameters

mixed ...$args ,...

Return Value

Cluster|array|int|false

at line 5437
Cluster|bool copy(mixed $srckey, mixed $dstkey, array|null $options = null)

This command copies the value stored at the source key to the destination key.

Parameters

mixed $srckey
mixed $dstkey
array|null $options

Return Value

Cluster|bool

at line 5445
Cluster|int|false dbsize(array|string $key_or_address)

Returns the number of keys in the currently-selected database.

Parameters

array|string $key_or_address

Return Value

Cluster|int|false

at line 5455
Cluster|int|false decr(mixed $key, int $by = 1)

Decrements the number stored at key by one.

Parameters

mixed $key
int $by

Return Value

Cluster|int|false

at line 5465
Cluster|int|false decrby(mixed $key, int $value)

Decrements the number stored at key by decrement.

Parameters

mixed $key
int $value

Return Value

Cluster|int|false

at line 5474
Cluster|int|bool del(mixed ...$keys)

Removes the specified keys.

Parameters

mixed ...$keys ,...

Return Value

Cluster|int|bool

at line 5484
Cluster|int|false delex(mixed $key, array|null $options = null)

Removes the key if it matches or does not match a value or hash.

Parameters

mixed $key
array|null $options

Return Value

Cluster|int|false

at line 5494
Cluster|int|false delifeq(mixed $key, mixed $value)

Remove a key if it equals the provided value.

Parameters

mixed $key
mixed $value

Return Value

Cluster|int|false

at line 5503
bool discard()

Flushes all previously queued commands in a transaction and restores the connection state to normal.

If WATCH was used, DISCARD unwatches all keys watched by the connection.

Return Value

bool

at line 5511
int|false dispatchEvents()

Dispatches all pending events.

Return Value

int|false

at line 5520
Cluster|string|null|false digest(mixed $key)

Returns the XX3 hash of a string key's value.

Parameters

mixed $key

Return Value

Cluster|string|null|false

at line 5529
Cluster|string|false dump(mixed $key)

Serialize and return the value stored at key in a Redis-specific format.

Parameters

mixed $key

Return Value

Cluster|string|false

at line 5539
Cluster|string|false echo(array|string $key_or_address, string $message)

Asks Redis to echo back the provided string.

Parameters

array|string $key_or_address
string $message

Return Value

Cluster|string|false

at line 5547
array|false endpointId()

Returns the connection's endpoint identifier.

Return Value

array|false

at line 5560
mixed eval(mixed $script, array $args = [], int $num_keys = 0)

Evaluate script using the Lua interpreter.

Parameters

mixed $script
array $args
int $num_keys

Return Value

mixed

See also

https://redis.io/commands/eval

at line 5574
mixed eval_ro(mixed $script, array $args = [], int $num_keys = 0)

Evaluate script using the Lua interpreter. This is just the "read-only" variant of EVAL meaning it can be run on read-only replicas.

Parameters

mixed $script
array $args
int $num_keys

Return Value

mixed

See also

https://redis.io/commands/eval_ro

at line 5585
mixed evalsha(string $sha, array $args = [], int $num_keys = 0)

Evaluates a script cached on the server-side by its SHA1 digest.

Parameters

string $sha
array $args
int $num_keys

Return Value

mixed

at line 5597
mixed evalsha_ro(string $sha, array $args = [], int $num_keys = 0)

Evaluates a script cached on the server-side by its SHA1 digest. This is just the "read-only" variant of EVALSHA meaning it can be run on read-only replicas.

Parameters

string $sha
array $args
int $num_keys

Return Value

mixed

at line 5605
array|false exec()

Executes all previously queued commands in a transaction and restores the connection state to normal.

Return Value

array|false

at line 5614
Cluster|int|bool exists(mixed ...$keys)

Returns if key(s) exists.

Parameters

mixed ...$keys ,...

Return Value

Cluster|int|bool

at line 5625
Cluster|bool expire(mixed $key, int $seconds, string|null $mode = null)

Set a timeout on key.

Parameters

mixed $key
int $seconds
string|null $mode

Return Value

Cluster|bool

at line 5635
Cluster|bool expireat(mixed $key, int $timestamp)

Set a timeout on key using a unix timestamp.

Parameters

mixed $key
int $timestamp

Return Value

Cluster|bool

at line 5646
Cluster|int|false expiretime(mixed $key)

Returns the absolute Unix timestamp in seconds at which the given key will expire.

If the key exists but doesn't have a TTL this function return -1. If the key does not exist -2.

Parameters

mixed $key

Return Value

Cluster|int|false

at line 5656
static bool flushMemory(string|null $endpointId = null, int|null $db = null)

No description

Parameters

string|null $endpointId
int|null $db

Return Value

bool

See also

Relay::flushMemory

at line 5666
Cluster|bool flushall(array|string $key_or_address, bool|null $sync = null)

Deletes all the keys of all the existing databases, not just the currently selected one.

Parameters

array|string $key_or_address
bool|null $sync

Return Value

Cluster|bool

at line 5676
Cluster|bool flushdb(array|string $key_or_address, bool|null $sync = null)

Deletes all the keys of the currently selected database.

Parameters

array|string $key_or_address
bool|null $sync

Return Value

Cluster|bool

at line 5684
bool flushSlotCache()

Flush the persistent slot cache, if one exists.

Return Value

bool

at line 5697
Cluster|int|false geoadd(mixed $key, float $lng, float $lat, string $member, mixed ...$other_triples_and_options)

Add one or more members to a geospatial sorted set.

Parameters

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

Return Value

Cluster|int|false

at line 5709
Cluster|float|false geodist(mixed $key, string $src, string $dst, string|null $unit = null)

Get the distance between two members of a geospatially encoded sorted set.

Parameters

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

Return Value

Cluster|float|false

at line 5720
Cluster|array|false geohash(mixed $key, string $member, string ...$other_members)

Retrieve one or more GeoHash encoded strings for members of the set.

Parameters

mixed $key
string $member
string ...$other_members ,...

Return Value

Cluster|array|false

at line 5731
Cluster|array|false geopos(mixed $key, mixed ...$members)

Return the positions (longitude,latitude) of all the specified members of the geospatial index represented by the sorted set at key.

Parameters

mixed $key
mixed ...$members ,...

Return Value

Cluster|array|false

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

Retrieve members of a geospatially sorted set that are within a certain radius of a location.

Parameters

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

Return Value

mixed

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

Retrieve members of a geospatially sorted set that are within a certain radius of a location.

Parameters

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

Return Value

mixed

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

Similar to GEORADIUS except it uses a member as the center of the query.

Parameters

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

Return Value

mixed

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

Similar to GEORADIUS except it uses a member as the center of the query.

Parameters

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

Return Value

mixed

at line 5798
Cluster|array|false geosearch(mixed $key, array|string $position, array|int|float $shape, string $unit, array $options = [])

Search a geospatial sorted set for members in various ways.

Parameters

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

Return Value

Cluster|array|false

at line 5813
Cluster|int|false geosearchstore(mixed $dstkey, mixed $srckey, array|string $position, array|int|float $shape, string $unit, array $options = [])

Search a geospatial sorted set for members within a given area or range, storing the results into a new set.

Parameters

mixed $dstkey
mixed $srckey
array|string $position
array|int|float $shape
string $unit
array $options

Return Value

Cluster|int|false

at line 5826
Cluster|array|false gcra(string $key, int $maxBurst, int $requestsPerPeriod, int $period, int $tokens = 0)

Rate limit via GCRA (Generic Cell Rate Algorithm).

Parameters

string $key
int $maxBurst
int $requestsPerPeriod
int $period
int $tokens

= 0

Return Value

Cluster|array|false

at line 5841
mixed get(mixed $key)

Get the value of key.

Parameters

mixed $key

Return Value

mixed

at line 5855
Cluster|array|false getWithMeta(mixed $key)

Get the value and metadata of key.

Result is an array with value and metadata or false in case of error. Currently metadata contains following elements:

  • cached whether value comes from in-memory cache or from server
  • length number of bytes used to store value

Parameters

mixed $key

Return Value

Cluster|array|false

at line 5865
Cluster|int|false getbit(mixed $key, int $pos)

Returns the bit value at offset in the string value stored at key.

Parameters

mixed $key
int $pos

Return Value

Cluster|int|false

at line 5876
mixed getex(mixed $key, array|null $options = null)

Get the value of key and optionally set its expiration.

GETEX is similar to GET, but is a write command with additional options.

Parameters

mixed $key
array|null $options

Return Value

mixed

at line 5887
mixed getdel(mixed $key)

Get the value of key and delete the key. This command is similar to GET, except for the fact that it also deletes the key on success (if and only if the key's value type is a string).

Parameters

mixed $key

Return Value

mixed

at line 5895
string|null getLastError()

Returns the last error message, if any.

Return Value

string|null

at line 5905
int getMode(bool $masked = false)

Get the mode Relay is currently in.

Relay::ATOMIC or Relay::MULTI.

Parameters

bool $masked

Return Value

int

at line 5914
mixed getOption(int $option)

Returns a client option.

Parameters

int $option

Return Value

mixed

at line 5920
array|false getTransferredBytes()

No description

Return Value

array|false

at line 5932
Cluster|string|false getrange(mixed $key, int $start, int $end)

Returns the substring of the string value stored at key, determined by the offsets start and end (both are inclusive).

Parameters

mixed $key
int $start
int $end

Return Value

Cluster|string|false

at line 5942
mixed getset(mixed $key, mixed $value)

Atomically sets key to value and returns the old value stored at key.

Parameters

mixed $key
mixed $value

Return Value

mixed

at line 5953
Cluster|int|false hdel(mixed $key, mixed $member, mixed ...$members)

Removes the specified fields from the hash stored at key.

Parameters

mixed $key
mixed $member
mixed ...$members ,...

Return Value

Cluster|int|false

at line 5963
Cluster|bool hexists(mixed $key, mixed $member)

Returns if field is an existing field in the hash stored at key.

Parameters

mixed $key
mixed $member

Return Value

Cluster|bool

at line 5975
Cluster|array|false hexpire(mixed $hash, int $ttl, array $fields, string|null $mode = null)

Set an expiration for one or more hash fields.

Parameters

mixed $hash
int $ttl
array $fields
string|null $mode

Return Value

Cluster|array|false

at line 5987
Cluster|array|false hpexpire(mixed $hash, int $ttl, array $fields, string|null $mode = null)

Set a millisecond resolution expiry on one or more hash fields.

Parameters

mixed $hash
int $ttl
array $fields
string|null $mode

Return Value

Cluster|array|false

at line 5999
Cluster|array|false hexpireat(mixed $hash, int $ttl, array $fields, string|null $mode = null)

Set a unix timestamp expiration for one or more hash fields.

Parameters

mixed $hash
int $ttl
array $fields
string|null $mode

Return Value

Cluster|array|false

at line 6011
Cluster|array|false hpexpireat(mixed $hash, int $ttl, array $fields, string|null $mode = null)

Set a millisecond resolution unix timestamp expiration for one or more hash fields.

Parameters

mixed $hash
int $ttl
array $fields
string|null $mode

Return Value

Cluster|array|false

at line 6021
Cluster|array|false httl(mixed $hash, array $fields)

Get the expire time in seconds for one or more hash fields.

Parameters

mixed $hash
array $fields

Return Value

Cluster|array|false

at line 6031
Cluster|array|false hpttl(mixed $hash, array $fields)

Get the expire time in milliseconds for one or more hash fields.

Parameters

mixed $hash
array $fields

Return Value

Cluster|array|false

at line 6041
Cluster|array|false hexpiretime(mixed $hash, array $fields)

Get the unix timestamp expiration time for one or more hash fields.

Parameters

mixed $hash
array $fields

Return Value

Cluster|array|false

at line 6052
Cluster|array|false hpexpiretime(mixed $hash, array $fields)

Get the millisecond precision unix timestamp expiration time for one or more hash fields.

Parameters

mixed $hash
array $fields

Return Value

Cluster|array|false

at line 6062
Cluster|array|false hpersist(mixed $hash, array $fields)

Persist one or more hash fields.

Parameters

mixed $hash
array $fields

Return Value

Cluster|array|false

at line 6071
mixed hget(mixed $key, mixed $member)

Returns the value associated with field in the hash stored at key.

Parameters

mixed $key
mixed $member

Return Value

mixed

at line 6080
Cluster|array|false hgetall(mixed $key)

Returns all fields and values of the hash stored at key.

Parameters

mixed $key

Return Value

Cluster|array|false

at line 6092
Cluster|array|false hgetWithMeta(mixed $hash, mixed $member)

Returns the value associated with field in the hash stored at key.

Parameters

mixed $hash
mixed $member

Return Value

Cluster|array|false

See also

\Relay\self::getWithMeta()

at line 6103
Cluster|int|false hincrby(mixed $key, mixed $member, int $value)

Increments the number stored at field in the hash stored at key by increment.

Parameters

mixed $key
mixed $member
int $value

Return Value

Cluster|int|false

at line 6115
Cluster|float|bool hincrbyfloat(mixed $key, mixed $member, float $value)

Increment the specified field of a hash stored at key, and representing a floating point number, by the specified increment.

Parameters

mixed $key
mixed $member
float $value

Return Value

Cluster|float|bool

at line 6124
Cluster|array|false hkeys(mixed $key)

Returns all field names in the hash stored at key.

Parameters

mixed $key

Return Value

Cluster|array|false

at line 6133
Cluster|int|false hlen(mixed $key)

Returns the number of fields contained in the hash stored at $key.

Parameters

mixed $key

Return Value

Cluster|int|false

at line 6143
Cluster|array|false hmget(mixed $key, array $members)

Returns the values associated with the specified fields in the hash stored at key.

Parameters

mixed $key
array $members

Return Value

Cluster|array|false

at line 6153
Cluster|array|false hgetdel(mixed $key, array $fields)

Gets and deletes one or more hash fields.

Parameters

mixed $key
array $fields

Return Value

Cluster|array|false

at line 6163
Cluster|bool hmset(mixed $key, array $members)

Sets the specified fields to their respective values in the hash stored at key.

Parameters

mixed $key
array $members

Return Value

Cluster|bool

at line 6173
Cluster|array|string|false hrandfield(mixed $key, array|null $options = null)

When called with just the key argument, return a random field from the hash value stored at key.

Parameters

mixed $key
array|null $options

Return Value

Cluster|array|string|false

at line 6185
array|false hscan(mixed $key, mixed $iterator, mixed $match = null, int $count = 0)

Iterates fields of Hash types and their associated values.

Parameters

mixed $key
mixed $iterator
mixed $match
int $count

Return Value

array|false

at line 6195
Cluster|int|false hset(mixed $key, mixed ...$keys_and_vals)

Sets field in the hash stored at key to value.

Parameters

mixed $key
mixed ...$keys_and_vals ...

Return Value

Cluster|int|false

at line 6206
Cluster|int|false hsetex(mixed $key, array $fields, null|int|float|array $expiry = null)

Set one or more hash fields and values with expiration options.

Parameters

mixed $key
array $fields
null|int|float|array $expiry

= null

Return Value

Cluster|int|false

at line 6217
Cluster|bool hsetnx(mixed $key, mixed $member, mixed $value)

Sets field in the hash stored at key to value, only if field does not yet exist.

Parameters

mixed $key
mixed $member
mixed $value

Return Value

Cluster|bool

at line 6227
Cluster|int|false hstrlen(mixed $key, mixed $member)

Returns the string length of the value associated with field in the hash stored at key.

Parameters

mixed $key
mixed $member

Return Value

Cluster|int|false

at line 6238
Cluster|array|false hgetex(mixed $hash, array $fields, mixed $expiry = null)

Returns one or more fields while also setting an expiration on them.

Parameters

mixed $hash
array $fields
mixed $expiry

= null

Return Value

Cluster|array|false

at line 6246
Cluster|array|false hvals(mixed $key)

Returns all values in the hash stored at key.

Parameters

mixed $key

Return Value

Cluster|array|false

at line 6256
Cluster|int|false incr(mixed $key, int $by = 1)

Increments the number stored at key by one.

Parameters

mixed $key
int $by

Return Value

Cluster|int|false

at line 6266
Cluster|int|false incrby(mixed $key, int $value)

Increments the number stored at key by increment.

Parameters

mixed $key
int $value

Return Value

Cluster|int|false

at line 6276
Cluster|float|false incrbyfloat(mixed $key, float $value)

Increment the string representing a floating point number stored at key by the specified increment.

Parameters

mixed $key
float $value

Return Value

Cluster|float|false

at line 6289
Cluster|array|false info(array|string $key_or_address, string ...$sections)

The INFO command returns information and statistics about Redis in a format that is simple to parse by computers and easy to read by humans.

Parameters

array|string $key_or_address
string ...$sections ,...

Return Value

Cluster|array|false

See also

https://redis.io/commands/info

at line 6297
static bool invalidateSlotCaches()

Invalidate all slot caches across all workers.

Return Value

bool

at line 6306
Cluster|array|false keys(mixed $pattern)

Returns all keys matching pattern.

Parameters

mixed $pattern

Return Value

Cluster|array|false

at line 6316
static float|false lastMemoryFlush(string|null $endpointId = null, int|null $db = null)

No description

Parameters

string|null $endpointId
int|null $db

Return Value

float|false

See also

Relay::flushMemory

at line 6324
Cluster|int|false lastsave(array|string $key_or_address)

Returns the UNIX time stamp of the last successful save to disk.

Parameters

array|string $key_or_address

Return Value

Cluster|int|false

at line 6335
mixed lcs(mixed $key1, mixed $key2, array|null $options = null)

Get the longest common subsequence between two string keys.

Parameters

mixed $key1
mixed $key2
array|null $options

Return Value

mixed

at line 6345
mixed lindex(mixed $key, int $index)

Returns the element at index index in the list stored at key.

Parameters

mixed $key
int $index

Return Value

mixed

at line 6357
Cluster|int|false linsert(mixed $key, string $op, mixed $pivot, mixed $element)

Inserts element in the list stored at key either before or after the reference value pivot.

Parameters

mixed $key
string $op
mixed $pivot
mixed $element

Return Value

Cluster|int|false

at line 6366
bool listen(callable|null $callback)

Registers a new event listener.

Parameters

callable|null $callback

Return Value

bool

at line 6375
Cluster|int|false llen(mixed $key)

Returns the length of the list stored at $key.

Parameters

mixed $key

Return Value

Cluster|int|false

at line 6389
Cluster|string|null|false lmove(mixed $srckey, mixed $dstkey, string $srcpos, string $dstpos)

Atomically returns and removes the first/last element of the list stored at source, and pushes the element at the first/last element of the list stored at destination.

Parameters

mixed $srckey
mixed $dstkey
string $srcpos
string $dstpos

Return Value

Cluster|string|null|false

at line 6400
mixed lmpop(array $keys, string $from, int $count = 1)

Pops one or more elements from the first non-empty list key from the list of provided key names.

Parameters

array $keys
string $from
int $count

Return Value

mixed

at line 6410
mixed lpop(mixed $key, int $count = 1)

Removes and returns the first elements of the list stored at key.

Parameters

mixed $key
int $count

Return Value

mixed

at line 6421
mixed lpos(mixed $key, mixed $value, array|null $options = null)

The command returns the index of matching elements inside a Redis list.

Parameters

mixed $key
mixed $value
array|null $options

Return Value

mixed

at line 6432
Cluster|int|false lpush(mixed $key, mixed $member, mixed ...$members)

Insert all the specified values at the head of the list stored at key.

Parameters

mixed $key
mixed $member
mixed ...$members ,...

Return Value

Cluster|int|false

at line 6444
Cluster|int|false lpushx(mixed $key, mixed $member, mixed ...$members)

Inserts specified values at the head of the list stored at key, only if key already exists and holds a list.

Parameters

mixed $key
mixed $member
mixed ...$members ,...

Return Value

Cluster|int|false

at line 6455
Cluster|array|false lrange(mixed $key, int $start, int $stop)

Returns the specified elements of the list stored at key.

Parameters

mixed $key
int $start
int $stop

Return Value

Cluster|array|false

at line 6466
Cluster|int|false lrem(mixed $key, mixed $member, int $count = 0)

Removes the first count occurrences of elements equal to element from the list stored at key.

Parameters

mixed $key
mixed $member
int $count

Return Value

Cluster|int|false

at line 6477
Cluster|bool lset(mixed $key, int $index, mixed $member)

Sets the list element at index to element.

Parameters

mixed $key
int $index
mixed $member

Return Value

Cluster|bool

at line 6488
Cluster|bool ltrim(mixed $key, int $start, int $end)

Trim an existing list so that it will contain only the specified range of elements specified.

Parameters

mixed $key
int $start
int $end

Return Value

Cluster|bool

at line 6496
static int maxMemory()

Returns the number of bytes allocated, or 0 in client-only mode.

Return Value

int

at line 6505
Cluster|array|false mget(array $keys)

Returns the values of all specified keys.

Parameters

array $keys

Return Value

Cluster|array|false

at line 6515
Cluster|array|bool mset(array $kvals)

Sets the given keys to their respective values.

MSET replaces existing values with new values, just as regular SET.

Parameters

array $kvals

Return Value

Cluster|array|bool

at line 6525
Cluster|array|bool msetnx(array $kvals)

Sets the given keys to their respective values.

MSETNX will not perform any operation at all even if just a single key already exists.

Parameters

array $kvals

Return Value

Cluster|array|bool

at line 6536
Cluster|bool multi(int $mode = Relay::MULTI)

Marks the start of a transaction block. Subsequent commands will be queued for atomic execution using EXEC.

Accepts only Relay::MULTI mode.

Parameters

int $mode

Return Value

Cluster|bool

at line 6546
mixed object(string $op, mixed $key)

This is a container command for object introspection commands.

Parameters

string $op
mixed $key

Return Value

mixed

at line 6555
bool onFlushed(callable|null $callback)

Registers a new flushed event listener.

Parameters

callable|null $callback

Return Value

bool

at line 6565
bool onInvalidated(callable|null $callback, string|null $pattern = null)

Registers a new invalidated event listener.

Parameters

callable|null $callback
string|null $pattern

Return Value

bool

at line 6574
Cluster|bool persist(mixed $key)

Remove the existing timeout on key, turning the key from volatile to persistent.

Parameters

mixed $key

Return Value

Cluster|bool

at line 6584
Cluster|bool pexpire(mixed $key, int $milliseconds)

Set a key's time to live in milliseconds.

Parameters

mixed $key
int $milliseconds

Return Value

Cluster|bool

at line 6594
Cluster|bool pexpireat(mixed $key, int $timestamp_ms)

Set the expiration for a key as a UNIX timestamp specified in milliseconds.

Parameters

mixed $key
int $timestamp_ms

Return Value

Cluster|bool

at line 6604
Cluster|int|false pexpiretime(mixed $key)

Semantically the same as EXPIRETIME, but returns the absolute Unix expiration timestamp in milliseconds instead of seconds.

Parameters

mixed $key

Return Value

Cluster|int|false

at line 6614
Cluster|int|false pfadd(mixed $key, array $elements)

Adds the specified elements to the specified HyperLogLog.

Parameters

mixed $key
array $elements

Return Value

Cluster|int|false

at line 6623
Cluster|int|false pfcount(mixed $key)

Return the approximated cardinality of the set(s) observed by the HyperLogLog at key(s).

Parameters

mixed $key

Return Value

Cluster|int|false

at line 6633
Cluster|bool pfmerge(string $dstkey, array $srckeys)

Merge given HyperLogLogs into a single one.

Parameters

string $dstkey
array $srckeys

Return Value

Cluster|bool

at line 6643
Cluster|bool|string ping(array|string $key_or_address, string|null $message = null)

Returns PONG if no argument is provided, otherwise return a copy of the argument as a bulk.

Parameters

array|string $key_or_address
string|null $message

Return Value

Cluster|bool|string

at line 6654
Cluster|bool psetex(mixed $key, int $milliseconds, mixed $value)

Set key to hold the string value and set key to timeout after a given number of milliseconds.

Parameters

mixed $key
int $milliseconds
mixed $value

Return Value

Cluster|bool

at line 6664
bool psubscribe(array $patterns, callable $callback)

Subscribes to the given patterns.

Parameters

array $patterns
callable $callback

Return Value

bool

at line 6673
Cluster|int|false pttl(mixed $key)

Returns the remaining time to live of a key that has a timeout in milliseconds.

Parameters

mixed $key

Return Value

Cluster|int|false

at line 6683
Cluster|int|false publish(string $channel, string $message)

Posts a message to the given channel.

Parameters

string $channel
string $message

Return Value

Cluster|int|false

at line 6694
mixed pubsub(array|string $key_or_address, string $operation, mixed ...$args)

A container command for Pub/Sub introspection commands.

Parameters

array|string $key_or_address
string $operation
mixed ...$args ,...

Return Value

mixed

at line 6703
bool punsubscribe(array $patterns = [])

Unsubscribes from the given patterns, or from all of them if none is given.

Parameters

array $patterns

Return Value

bool

at line 6712
Cluster|bool|string randomkey(array|string $key_or_address)

Returns a random key from Redis.

Parameters

array|string $key_or_address

Return Value

Cluster|bool|string

at line 6724
mixed rawCommand(array|string $key_or_address, string $cmd, mixed ...$args)

Execute any command against Redis, without applying the prefix, compression and serialization.

Parameters

array|string $key_or_address
string $cmd
mixed ...$args ,...

Return Value

mixed

at line 6734
Cluster|bool rename(mixed $key, mixed $newkey)

Renames key.

Parameters

mixed $key
mixed $newkey

Return Value

Cluster|bool

at line 6744
Cluster|bool renamenx(mixed $key, mixed $newkey)

Renames key if the new key does not yet exist.

Parameters

mixed $key
mixed $newkey

Return Value

Cluster|bool

at line 6756
Cluster|bool restore(mixed $key, int $ttl, string $value, array|null $options = null)

Create a key associated with a value that is obtained by deserializing the provided serialized value.

Parameters

mixed $key
int $ttl
string $value
array|null $options

Return Value

Cluster|bool

at line 6765
Cluster|array|false role(array|string $key_or_address)

Returns the role of the instance in the context of replication.

Parameters

array|string $key_or_address

Return Value

Cluster|array|false

at line 6775
mixed rpop(mixed $key, int $count = 1)

Removes and returns the last elements of the list stored at key.

Parameters

mixed $key
int $count

Return Value

mixed

at line 6786
mixed rpoplpush(mixed $srckey, mixed $dstkey)

Atomically returns and removes the last element (tail) of the list stored at source, and pushes the element at the first element (head) of the list stored at destination.

Parameters

mixed $srckey
mixed $dstkey

Return Value

mixed

at line 6797
Cluster|int|false rpush(mixed $key, mixed $member, mixed ...$members)

Insert all the specified values at the tail of the list stored at key.

Parameters

mixed $key
mixed $member
mixed ...$members ,...

Return Value

Cluster|int|false

at line 6809
Cluster|int|false rpushx(mixed $key, mixed $member, mixed ...$members)

Inserts specified values at the tail of the list stored at key, only if key already exists and holds a list.

Parameters

mixed $key
mixed $member
mixed ...$members ,...

Return Value

Cluster|int|false

at line 6820
Cluster|int|false sadd(mixed $key, mixed $member, mixed ...$members)

Add the specified members to the set stored at $key.

Parameters

mixed $key
mixed $member
mixed ...$members ,...

Return Value

Cluster|int|false

at line 6829
Cluster|bool save(array|string $key_or_address)

Synchronously save the dataset to disk.

Parameters

array|string $key_or_address

Return Value

Cluster|bool

at line 6842
array|false scan(mixed $iterator, array|string $key_or_address, mixed $match = null, int $count = 0, string|null $type = null)

Scan the keyspace for matching keys.

Parameters

mixed $iterator
array|string $key_or_address
mixed $match
int $count
string|null $type

Return Value

array|false

at line 6854
Generator|false fullscan(mixed $match = null, int $count = 0, string|null $type = null)

Scan the keyspace for matching keys on each master node.

Parameters

mixed $match
int $count
string|null $type

Return Value

Generator|false

at line 6862
Cluster|int|false scard(mixed $key)

Returns the set cardinality (number of elements) of the set stored at $key.

Parameters

mixed $key

Return Value

Cluster|int|false

at line 6873
mixed script(array|string $key_or_address, string $operation, string ...$args)

Execute a script management command.

Parameters

array|string $key_or_address
string $operation
string ...$args ,...

Return Value

mixed

at line 6883
Cluster|array|false sdiff(mixed $key, mixed ...$other_keys)

Returns the members of the set resulting from the difference between the first set and all the successive sets.

Parameters

mixed $key
mixed ...$other_keys ,...

Return Value

Cluster|array|false

at line 6894
Cluster|int|false sdiffstore(mixed $key, mixed ...$other_keys)

This command is equal to SDIFF, but instead of returning the resulting set, it is stored in destination.

If destination already exists, it is overwritten.

Parameters

mixed $key
mixed ...$other_keys ,...

Return Value

Cluster|int|false

at line 6906
Cluster|string|bool set(mixed $key, mixed $value, mixed $options = null)

Set key to hold the string value. If key already holds a value, it is overwritten, regardless of its type.

Parameters

mixed $key
mixed $value
mixed $options

Return Value

Cluster|string|bool

at line 6939
bool setOption(int $option, mixed $value)

Sets a client option.

Relay specific options:

  • OPT_ALLOW_PATTERNS
  • OPT_IGNORE_PATTERNS
  • OPT_THROW_ON_ERROR
  • OPT_CLIENT_INVALIDATIONS
  • OPT_PHPREDIS_COMPATIBILITY

Supported PhpRedis options:

  • OPT_PREFIX
  • OPT_READ_TIMEOUT
  • OPT_COMPRESSION
  • OPT_COMPRESSION_LEVEL
  • OPT_MAX_RETRIES
  • OPT_BACKOFF_ALGORITHM
  • OPT_BACKOFF_BASE
  • OPT_BACKOFF_CAP
  • OPT_SCAN
  • OPT_REPLY_LITERAL
  • OPT_NULL_MULTIBULK_AS_NULL
  • OPT_SLAVE_FAILOVER

Parameters

int $option
mixed $value

Return Value

bool

at line 6950
Cluster|int|false setbit(mixed $key, int $pos, int $value)

Sets or clears the bit at offset in the string value stored at key.

Parameters

mixed $key
int $pos
int $value

Return Value

Cluster|int|false

at line 6961
Cluster|bool setex(mixed $key, int $seconds, mixed $value)

Set key to hold the string value and set key to timeout after a given number of seconds.

Parameters

mixed $key
int $seconds
mixed $value

Return Value

Cluster|bool

at line 6973
Cluster|bool setnx(mixed $key, mixed $value)

Set key to hold string value if key does not exist. In that case, it is equal to SET.

When key already holds a value, no operation is performed. SETNX is short for "SET if Not eXists".

Parameters

mixed $key
mixed $value

Return Value

Cluster|bool

at line 6985
Cluster|int|false setrange(mixed $key, int $start, mixed $value)

Overwrites part of the string stored at key, starting at the specified offset, for the entire length of value.

Parameters

mixed $key
int $start
mixed $value

Return Value

Cluster|int|false

at line 6995
Cluster|array|false sinter(mixed $key, mixed ...$other_keys)

Returns the members of the set resulting from the intersection of all the given sets.

Parameters

mixed $key
mixed ...$other_keys ,...

Return Value

Cluster|array|false

at line 7005
Cluster|int|false sintercard(array $keys, int $limit = -1)

Intersect multiple sets and return the cardinality of the result.

Parameters

array $keys
int $limit

Return Value

Cluster|int|false

at line 7016
Cluster|int|false sinterstore(mixed $key, mixed ...$other_keys)

This command is equal to SINTER, but instead of returning the resulting set, it is stored in destination.

If destination already exists, it is overwritten.

Parameters

mixed $key
mixed ...$other_keys ,...

Return Value

Cluster|int|false

at line 7026
Cluster|bool sismember(mixed $key, mixed $member)

Returns if $member is a member of the set stored at $key.

Parameters

mixed $key
mixed $member

Return Value

Cluster|bool

at line 7037
Cluster|array|int|bool slowlog(array|string $key_or_address, string $operation, mixed ...$args)

Interact with the Redis slowlog.

Parameters

array|string $key_or_address
string $operation
mixed ...$args ,...

Return Value

Cluster|array|int|bool

at line 7046
Cluster|array|false smembers(mixed $key)

Returns all the members of the set value stored at $key.

Parameters

mixed $key

Return Value

Cluster|array|false

at line 7056
Cluster|array|false smismember(mixed $key, mixed ...$members)

Returns whether each member is a member of the set stored at $key.

Parameters

mixed $key
mixed ...$members ,...

Return Value

Cluster|array|false

at line 7067
Cluster|bool smove(mixed $srckey, mixed $dstkey, mixed $member)

Move member from the set at source to the set at destination.

Parameters

mixed $srckey
mixed $dstkey
mixed $member

Return Value

Cluster|bool

at line 7077
Cluster|array|int|false sort(mixed $key, array $options = [])

Sort the elements in a list, set or sorted set.

Parameters

mixed $key
array $options

Return Value

Cluster|array|int|false

at line 7087
Cluster|array|int|false sort_ro(mixed $key, array $options = [])

Sort the elements in a list, set or sorted set. Read-only variant of SORT.

Parameters

mixed $key
array $options

Return Value

Cluster|array|int|false

at line 7097
mixed spop(mixed $key, int $count = 1)

Removes and returns one or more random members from the set value store at $key.

Parameters

mixed $key
int $count

Return Value

mixed

at line 7107
mixed srandmember(mixed $key, int $count = 1)

Returns one or multiple random members from a set.

Parameters

mixed $key
int $count

Return Value

mixed

at line 7118
Cluster|int|false srem(mixed $key, mixed $member, mixed ...$members)

Remove the specified members from the set stored at $key.

Parameters

mixed $key
mixed $member
mixed ...$members ,...

Return Value

Cluster|int|false

at line 7130
array|false sscan(mixed $key, mixed $iterator, mixed $match = null, int $count = 0)

Iterates elements of Sets types.

Parameters

mixed $key
mixed $iterator
mixed $match
int $count

Return Value

array|false

at line 7140
bool ssubscribe(array $channels, callable $callback)

Subscribes to the specified shard channels.

Parameters

array $channels
callable $callback

Return Value

bool

at line 7149
static array stats()

Returns statistics about Relay.

Return Value

array

See also

Relay::stats

at line 7158
Cluster|int|false strlen(mixed $key)

Returns the length of the string value stored at $key.

Parameters

mixed $key

Return Value

Cluster|int|false

at line 7168
bool subscribe(array $channels, callable $callback)

Subscribes to the specified channels.

Parameters

array $channels
callable $callback

Return Value

bool

at line 7178
Cluster|array|false sunion(mixed $key, mixed ...$other_keys)

Returns the members of the set resulting from the union of all the given sets.

Parameters

mixed $key
mixed ...$other_keys ,...

Return Value

Cluster|array|false

at line 7189
Cluster|int|false sunionstore(mixed $key, mixed ...$other_keys)

This command is equal to SUNION, but instead of returning the resulting set, it is stored in destination.

If destination already exists, it is overwritten.

Parameters

mixed $key
mixed ...$other_keys ,...

Return Value

Cluster|int|false

at line 7198
bool sunsubscribe(array $channels = [])

Unsubscribes from the given shard channels, or from all of them if none is given.

Parameters

array $channels

Return Value

bool

at line 7207
Cluster|array|false time(array|string $key_or_address)

Returns the current time from Redis.

Parameters

array|string $key_or_address

Return Value

Cluster|array|false

at line 7217
Cluster|int|false touch(array|string $key_or_array, mixed ...$more_keys)

Alters the last access time of a key(s).

Parameters

array|string $key_or_array
mixed ...$more_keys ,...

Return Value

Cluster|int|false

at line 7226
Cluster|int|false ttl(mixed $key)

Returns the remaining time to live of a key that has a timeout in seconds.

Parameters

mixed $key

Return Value

Cluster|int|false

at line 7239
Cluster|int|string|bool type(mixed $key)

Returns the type of a given key.

In PhpRedis compatibility mode this will return an integer (one of the REDIS_) constants. Otherwise it will return the string that Redis returns.

Parameters

mixed $key

Return Value

Cluster|int|string|bool

Removes the specified keys without blocking Redis.

Parameters

mixed ...$keys ,...

Return Value

Cluster|int|false

at line 7257
bool unsubscribe(array $channels = [])

Unsubscribes from the given channels, or from all of them if none is given.

Parameters

array $channels

Return Value

bool

at line 7266
Cluster|bool unwatch()

Flushes all the previously watched keys for a transaction.

If you call EXEC or DISCARD, there's no need to manually call UNWATCH.

Return Value

Cluster|bool

at line 7278
Cluster|int|false vadd(mixed $key, array $values, mixed $element, array|null $options = null)

Add an element to a vector set.

Parameters

mixed $key
array $values
mixed $element
array|null $options

Return Value

Cluster|int|false

at line 7287
Cluster|int|false vcard(mixed $key)

Return the cardinality (number of elements) in a vector set.

Parameters

mixed $key

Return Value

Cluster|int|false

at line 7296
Cluster|int|false vdim(mixed $key)

Return the dimensionality of vectors in a vector set.

Parameters

mixed $key

Return Value

Cluster|int|false

at line 7307
Cluster|array|false vemb(mixed $key, mixed $element, bool $raw = false)

Get the embedding for a given vector set member.

Parameters

mixed $key
mixed $element
bool $raw

Return Value

Cluster|array|false

at line 7318
Cluster|array|string|false vgetattr(mixed $key, mixed $element, bool $raw = false)

Get any attributes for a given vector set member.

Parameters

mixed $key
mixed $element
bool $raw

Return Value

Cluster|array|string|false

at line 7327
Cluster|array|false vinfo(mixed $key)

Return metadata about a vector set.

Parameters

mixed $key

Return Value

Cluster|array|false

at line 7337
Cluster|bool vismember(mixed $key, mixed $element)

Returns whether or not the element is a member of a vectorset.

Parameters

mixed $key
mixed $element

Return Value

Cluster|bool

Get neighbors for a given vector element optionally withscores.

Parameters

mixed $key
mixed $element
bool $withscores

Return Value

Cluster|array|false

at line 7358
Cluster|array|string|false vrandmember(mixed $key, int $count = 0)

Get one or more random members from a vector set.

Parameters

mixed $key
int $count

Return Value

Cluster|array|string|false

at line 7370
Cluster|array|bool vrange(string $key, string $end, string $start, int $count = -1)

Get a range of entries from a STREAM key in reverse chronological order.

Parameters

string $key
string $end
string $start
int $count

Return Value

Cluster|array|bool

at line 7380
Cluster|int|false vrem(mixed $key, mixed $element)

Remove an element from a vector set.

Parameters

mixed $key
mixed $element

Return Value

Cluster|int|false

at line 7391
Cluster|int|false vsetattr(mixed $key, mixed $element, array|string $attributes)

Set attributes for a given vector set member.

Parameters

mixed $key
mixed $element
array|string $attributes

Return Value

Cluster|int|false

at line 7402
Cluster|array|false vsim(mixed $key, mixed $member, array|null $options = null)

Do a similarity search on encodings or an element of a vector set.

Parameters

mixed $key
mixed $member
array|null $options

Return Value

Cluster|array|false

at line 7412
Cluster|bool watch(mixed $key, mixed ...$other_keys)

Marks the given keys to be watched for conditional execution of a transaction.

Parameters

mixed $key
mixed ...$other_keys ,...

Return Value

Cluster|bool

at line 7423
Cluster|int|false xack(mixed $key, string $group, array $ids)

Acknowledge one or more IDs as having been processed by the consumer group.

Parameters

mixed $key
string $group
array $ids

Return Value

Cluster|int|false

at line 7435
Cluster|array|false xackdel(string $key, string $group, array $ids, string|null $mode = null)

Acknowledge and delete one or more IDs in a stream.

Parameters

string $key
string $group
array $ids
string|null $mode

Return Value

Cluster|array|false

at line 7448
Cluster|string|false xadd(mixed $key, string $id, array $values, int $maxlen = 0, bool $approx = false, bool $nomkstream = false)

Append a message to a stream.

Parameters

mixed $key
string $id
array $values
int $maxlen
bool $approx
bool $nomkstream

Return Value

Cluster|string|false

at line 7463
Cluster|bool|array xautoclaim(mixed $key, string $group, string $consumer, int $min_idle, string $start, int $count = -1, bool $justid = false)

Automatically take ownership of stream message(s) by metrics.

Parameters

mixed $key
string $group
string $consumer
int $min_idle
string $start
int $count
bool $justid

Return Value

Cluster|bool|array

at line 7477
Cluster|array|bool xclaim(mixed $key, string $group, string $consumer, int $min_idle, array $ids, array $options)

Claim ownership of stream message(s).

Parameters

mixed $key
string $group
string $consumer
int $min_idle
array $ids
array $options

Return Value

Cluster|array|bool

at line 7487
Cluster|int|false xdel(mixed $key, array $ids)

Remove one or more specific IDs from a stream.

Parameters

mixed $key
array $ids

Return Value

Cluster|int|false

at line 7498
Cluster|array|false xdelex(string $key, array $ids, string|null $mode = null)

Remove one or more IDs from a stream with optional mode argument.

Parameters

string $key
array $ids
string|null $mode

Return Value

Cluster|array|false

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

Perform utility operations having to do with consumer groups.

Parameters

string $operation
mixed $key
string|null $group
string|null $id_or_consumer
bool $mkstream
int $entries_read

Return Value

mixed

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

Retrieve information about a stream key.

Parameters

string $operation
string|null $arg1
string|null $arg2
int $count

Return Value

mixed

at line 7533
Cluster|int|false xlen(mixed $key)

Get the length of a stream.

Parameters

mixed $key

Return Value

Cluster|int|false

at line 7548
Cluster|array|false xpending(mixed $key, string $group, string|null $start = null, string|null $end = null, int $count = -1, string|null $consumer = null, int $idle = 0)

Query pending entries in a stream.

Parameters

mixed $key
string $group
string|null $start
string|null $end
int $count
string|null $consumer
int $idle

Return Value

Cluster|array|false

at line 7560
Cluster|array|false xrange(mixed $key, string $start, string $end, int $count = -1)

Lists elements in a stream.

Parameters

mixed $key
string $start
string $end
int $count

= -1

Return Value

Cluster|array|false

at line 7571
Cluster|array|bool|null xread(array $streams, int $count = -1, int $block = -1)

Read messages from a stream.

Parameters

array $streams
int $count
int $block

Return Value

Cluster|array|bool|null

at line 7584
Cluster|array|bool|null xreadgroup(mixed $key, string $consumer, array $streams, int $count = 1, int $block = 1)

Read messages from a stream using a consumer group.

Parameters

mixed $key
string $consumer
array $streams
int $count
int $block

Return Value

Cluster|array|bool|null

at line 7596
Cluster|array|bool xrevrange(mixed $key, string $end, string $start, int $count = -1)

Get a range of entries from a STREAM key in reverse chronological order.

Parameters

mixed $key
string $end
string $start
int $count

Return Value

Cluster|array|bool

at line 7609
Cluster|int|false xtrim(mixed $key, string $threshold, bool $approx = false, bool $minid = false, int $limit = -1)

Truncate a STREAM key in various ways.

Parameters

mixed $key
string $threshold
bool $approx
bool $minid
int $limit

Return Value

Cluster|int|false

at line 7619
mixed zadd(mixed $key, mixed ...$args)

Adds all the specified members with the specified scores to the sorted set stored at key.

Parameters

mixed $key
mixed ...$args ,...

Return Value

mixed

at line 7628
Cluster|int|false zcard(mixed $key)

Returns the sorted set cardinality (number of elements) of the sorted set stored at key.

Parameters

mixed $key

Return Value

Cluster|int|false

at line 7639
Cluster|int|false zcount(mixed $key, mixed $min, mixed $max)

Returns the number of elements in the sorted set at key with a score between min and max.

Parameters

mixed $key
mixed $min
mixed $max

Return Value

Cluster|int|false

at line 7650
Cluster|array|false zdiff(array $keys, array|null $options = null)

This command is similar to ZDIFFSTORE, but instead of storing the resulting sorted set, it is returned to the client.

Parameters

array $keys
array|null $options

Return Value

Cluster|array|false

at line 7661
Cluster|int|false zdiffstore(mixed $dstkey, array $keys)

Computes the difference between the first and all successive input sorted sets and stores the result in destination.

Parameters

mixed $dstkey
array $keys

Return Value

Cluster|int|false

at line 7672
Cluster|float|false zincrby(mixed $key, float $score, mixed $member)

Increments the score of member in the sorted set stored at key by increment.

Parameters

mixed $key
float $score
mixed $member

Return Value

Cluster|float|false

at line 7684
Cluster|array|false zinter(array $keys, array|null $weights = null, mixed $options = null)

This command is similar to ZINTERSTORE, but instead of storing the resulting sorted set, it is returned to the client.

Parameters

array $keys
array|null $weights
mixed $options

Return Value

Cluster|array|false

at line 7694
Cluster|int|false zintercard(array $keys, int $limit = -1)

Intersect multiple sorted sets and return the cardinality of the result.

Parameters

array $keys
int $limit

Return Value

Cluster|int|false

at line 7707
Cluster|int|false zinterstore(mixed $dstkey, array $keys, array|null $weights = null, mixed $options = null)

Computes the intersection of numkeys sorted sets given by the specified keys, and stores the result in destination.

Parameters

mixed $dstkey
array $keys
array|null $weights
mixed $options

Return Value

Cluster|int|false

at line 7720
Cluster|int|false zlexcount(mixed $key, mixed $min, mixed $max)

When all the elements in a sorted set are inserted with the same score, in order to force lexicographical ordering, this command returns the number of elements in the sorted set at key with a value between min and max.

Parameters

mixed $key
mixed $min
mixed $max

Return Value

Cluster|int|false

at line 7732
Cluster|array|null|false zmpop(array $keys, string $from, int $count = 1)

Pops one or more elements, that are member-score pairs, from the first non-empty sorted set in the provided list of key names.

Parameters

array $keys
string $from
int $count

Return Value

Cluster|array|null|false

at line 7742
Cluster|array|false zmscore(mixed $key, mixed ...$members)

Returns the scores associated with the specified members in the sorted set stored at key.

Parameters

mixed $key
mixed ...$members ,...

Return Value

Cluster|array|false

at line 7753
Cluster|array|false zpopmax(mixed $key, int $count = 1)

Removes and returns up to count members with the highest scores in the sorted set stored at key.

Parameters

mixed $key
int $count

Return Value

Cluster|array|false

at line 7764
Cluster|array|false zpopmin(mixed $key, int $count = 1)

Removes and returns up to count members with the lowest scores in the sorted set stored at key.

Parameters

mixed $key
int $count

Return Value

Cluster|array|false

at line 7775
mixed zrandmember(mixed $key, array|null $options = null)

When called with just the key argument, return a random element from the sorted set value stored at key.

If the provided count argument is positive, return an array of distinct elements.

Parameters

mixed $key
array|null $options

Return Value

mixed

at line 7787
Cluster|array|false zrange(mixed $key, string $start, string $end, mixed $options = null)

Returns the specified range of elements in the sorted set stored at key.

Parameters

mixed $key
string $start
string $end
mixed $options

Return Value

Cluster|array|false

at line 7802
Cluster|array|false zrangebylex(mixed $key, mixed $min, mixed $max, int $offset = -1, int $count = -1)

When all the elements in a sorted set are inserted with the same score, in order to force lexicographical ordering, this command returns all the elements in the sorted set at key with a value between min and max.

Parameters

mixed $key
mixed $min
mixed $max
int $offset
int $count

Return Value

Cluster|array|false

at line 7815
Cluster|array|false zrangebyscore(mixed $key, mixed $start, mixed $end, mixed $options = null)

Returns all the elements in the sorted set at key with a score between min and max (including elements with score equal to min or max).

Parameters

mixed $key
mixed $start
mixed $end
mixed $options

Return Value

Cluster|array|false

at line 7829
Cluster|int|false zrangestore(mixed $dstkey, mixed $srckey, mixed $start, mixed $end, mixed $options = null)

Returns all the elements in the sorted set at key with a score between max and min (including elements with score equal to max or min).

Parameters

mixed $dstkey
mixed $srckey
mixed $start
mixed $end
mixed $options

Return Value

Cluster|int|false

at line 7842
Cluster|array|int|false zrank(mixed $key, mixed $rank, bool $withscore = false)

Returns the rank of member in the sorted set stored at key, with the scores ordered from low to high. The rank (or index) is 0-based, which means that the member with the lowest score has rank 0.

Parameters

mixed $key
mixed $rank
bool $withscore

Return Value

Cluster|array|int|false

at line 7853
Cluster|int|false zrem(mixed $key, mixed ...$args)

Removes the specified members from the sorted set stored at key.

Non existing members are ignored.

Parameters

mixed $key
mixed ...$args ,...

Return Value

Cluster|int|false

at line 7867
Cluster|int|false zremrangebylex(mixed $key, mixed $min, mixed $max)

When all the elements in a sorted set are inserted with the same score, in order to force lexicographical ordering, this command removes all elements in the sorted set stored at key between the lexicographical range specified by min and max.

Parameters

mixed $key
mixed $min
mixed $max

Return Value

Cluster|int|false

at line 7880
Cluster|int|false zremrangebyrank(mixed $key, int $start, int $end)

Removes all elements in the sorted set stored at key with rank between start and stop. Both start and stop are 0 -based indexes with 0 being the element with the lowest score.

Parameters

mixed $key
int $start
int $end

Return Value

Cluster|int|false

at line 7892
Cluster|int|false zremrangebyscore(mixed $key, mixed $min, mixed $max)

Removes all elements in the sorted set stored at key with a score between min and max (inclusive).

Parameters

mixed $key
mixed $min
mixed $max

Return Value

Cluster|int|false

at line 7904
Cluster|array|false zrevrange(mixed $key, int $start, int $end, mixed $options = null)

Returns the specified range of elements in the sorted set stored at key.

Parameters

mixed $key
int $start
int $end
mixed $options

Return Value

Cluster|array|false

at line 7919
Cluster|array|false zrevrangebylex(mixed $key, mixed $max, mixed $min, int $offset = -1, int $count = -1)

When all the elements in a sorted set are inserted with the same score, in order to force lexicographical ordering, this command returns all the elements in the sorted set at key with a value between max and min.

Parameters

mixed $key
mixed $max
mixed $min
int $offset
int $count

Return Value

Cluster|array|false

at line 7932
Cluster|array|false zrevrangebyscore(mixed $key, mixed $start, mixed $end, mixed $options = null)

Returns all the elements in the sorted set at key with a score between max and min (including elements with score equal to max or min).

Parameters

mixed $key
mixed $start
mixed $end
mixed $options

Return Value

Cluster|array|false

at line 7945
Cluster|array|int|false zrevrank(mixed $key, mixed $rank, bool $withscore = false)

Returns the rank of member in the sorted set stored at key, with the scores ordered from high to low. The rank (or index) is 0-based, which means that the member with the highest score has rank 0.

Parameters

mixed $key
mixed $rank
bool $withscore

Return Value

Cluster|array|int|false

at line 7957
array|false zscan(mixed $key, mixed $iterator, mixed $match = null, int $count = 0)

Iterates elements of Sorted Set types and their associated scores.

Parameters

mixed $key
mixed $iterator
mixed $match
int $count

Return Value

array|false

at line 7967
Cluster|float|false zscore(mixed $key, mixed $member)

Returns the score of member in the sorted set at key.

Parameters

mixed $key
mixed $member

Return Value

Cluster|float|false

at line 7979
Cluster|array|false zunion(array $keys, array|null $weights = null, mixed $options = null)

This command is similar to ZUNIONSTORE, but instead of storing the resulting sorted set, it is returned to the client.

Parameters

array $keys
array|null $weights
mixed $options

Return Value

Cluster|array|false

at line 7992
Cluster|int|false zunionstore(mixed $dstkey, array $keys, array|null $weights = null, mixed $options = null)

Computes the union of numkeys sorted sets given by the specified keys, and stores the result in destination.

Parameters

mixed $dstkey
array $keys
array|null $weights
mixed $options

Return Value

Cluster|int|false