From 76ad4269048ecadad6d6c82cc920cbc7f8d2f036 Mon Sep 17 00:00:00 2001 From: Remi Collet Date: Wed, 2 Aug 2023 14:38:34 +0200 Subject: dup v5 --- .gitignore | 9 + Makefile | 4 + PHPINFO | 41 + REFLECTION | 4319 ++++++++++++++++++++++++++++++++++++++++++++++++++ php-pecl-redis5.spec | 769 +++++++++ php-pecl-redis6.spec | 770 +++++++++ 6 files changed, 5912 insertions(+) create mode 100644 .gitignore create mode 100644 Makefile create mode 100644 PHPINFO create mode 100644 REFLECTION create mode 100644 php-pecl-redis5.spec create mode 100644 php-pecl-redis6.spec diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..01f0400 --- /dev/null +++ b/.gitignore @@ -0,0 +1,9 @@ +clog +package-*.xml +*.tgz +*.tar.bz2 +*.tar.gz +*.tar.xz +*.tar.xz.asc +*.src.rpm +*/*rpm diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..13af741 --- /dev/null +++ b/Makefile @@ -0,0 +1,4 @@ +SRCDIR := $(shell pwd) +NAME := $(shell basename $(SRCDIR)) +include ../../../common/Makefile + diff --git a/PHPINFO b/PHPINFO new file mode 100644 index 0000000..1fd7457 --- /dev/null +++ b/PHPINFO @@ -0,0 +1,41 @@ + +redis + +Redis Support => enabled +Redis Version => 5.3.7 +Redis Sentinel Version => 0.1 +Available serializers => php, json, igbinary, msgpack +Available compression => lzf, zstd, lz4 + +Directive => Local Value => Master Value +redis.arrays.algorithm => no value => no value +redis.arrays.auth => no value => no value +redis.arrays.autorehash => 0 => 0 +redis.arrays.connecttimeout => 0 => 0 +redis.arrays.distributor => no value => no value +redis.arrays.functions => no value => no value +redis.arrays.hosts => no value => no value +redis.arrays.index => 0 => 0 +redis.arrays.lazyconnect => 0 => 0 +redis.arrays.names => no value => no value +redis.arrays.pconnect => 0 => 0 +redis.arrays.previous => no value => no value +redis.arrays.readtimeout => 0 => 0 +redis.arrays.retryinterval => 0 => 0 +redis.arrays.consistent => 0 => 0 +redis.clusters.cache_slots => 0 => 0 +redis.clusters.auth => no value => no value +redis.clusters.persistent => 0 => 0 +redis.clusters.read_timeout => 0 => 0 +redis.clusters.seeds => no value => no value +redis.clusters.timeout => 0 => 0 +redis.pconnect.pooling_enabled => 1 => 1 +redis.pconnect.connection_limit => 0 => 0 +redis.pconnect.echo_check_liveness => 1 => 1 +redis.pconnect.pool_detect_dirty => 0 => 0 +redis.pconnect.pool_poll_timeout => 0 => 0 +redis.pconnect.pool_pattern => no value => no value +redis.session.locking_enabled => 0 => 0 +redis.session.lock_expire => 0 => 0 +redis.session.lock_retries => 10 => 10 +redis.session.lock_wait_time => 2000 => 2000 diff --git a/REFLECTION b/REFLECTION new file mode 100644 index 0000000..f3599f5 --- /dev/null +++ b/REFLECTION @@ -0,0 +1,4319 @@ +Extension [ extension #117 redis version 5.3.7 ] { + + - Dependencies { + Dependency [ igbinary (Required) ] + Dependency [ msgpack (Required) ] + Dependency [ json (Required) ] + Dependency [ session (Required) ] + } + + - INI { + Entry [ redis.arrays.algorithm ] + Current = '' + } + Entry [ redis.arrays.auth ] + Current = '' + } + Entry [ redis.arrays.autorehash ] + Current = '0' + } + Entry [ redis.arrays.connecttimeout ] + Current = '0' + } + Entry [ redis.arrays.distributor ] + Current = '' + } + Entry [ redis.arrays.functions ] + Current = '' + } + Entry [ redis.arrays.hosts ] + Current = '' + } + Entry [ redis.arrays.index ] + Current = '0' + } + Entry [ redis.arrays.lazyconnect ] + Current = '0' + } + Entry [ redis.arrays.names ] + Current = '' + } + Entry [ redis.arrays.pconnect ] + Current = '0' + } + Entry [ redis.arrays.previous ] + Current = '' + } + Entry [ redis.arrays.readtimeout ] + Current = '0' + } + Entry [ redis.arrays.retryinterval ] + Current = '0' + } + Entry [ redis.arrays.consistent ] + Current = '0' + } + Entry [ redis.clusters.cache_slots ] + Current = '0' + } + Entry [ redis.clusters.auth ] + Current = '' + } + Entry [ redis.clusters.persistent ] + Current = '0' + } + Entry [ redis.clusters.read_timeout ] + Current = '0' + } + Entry [ redis.clusters.seeds ] + Current = '' + } + Entry [ redis.clusters.timeout ] + Current = '0' + } + Entry [ redis.pconnect.pooling_enabled ] + Current = '1' + } + Entry [ redis.pconnect.connection_limit ] + Current = '0' + } + Entry [ redis.pconnect.echo_check_liveness ] + Current = '1' + } + Entry [ redis.pconnect.pool_detect_dirty ] + Current = '0' + } + Entry [ redis.pconnect.pool_poll_timeout ] + Current = '0' + } + Entry [ redis.pconnect.pool_pattern ] + Current = '' + } + Entry [ redis.session.locking_enabled ] + Current = '0' + } + Entry [ redis.session.lock_expire ] + Current = '0' + } + Entry [ redis.session.lock_retries ] + Current = '10' + } + Entry [ redis.session.lock_wait_time ] + Current = '2000' + } + } + + - Classes [6] { + Class [ class Redis ] { + + - Constants [48] { + Constant [ public int REDIS_NOT_FOUND ] { 0 } + Constant [ public int REDIS_STRING ] { 1 } + Constant [ public int REDIS_SET ] { 2 } + Constant [ public int REDIS_LIST ] { 3 } + Constant [ public int REDIS_ZSET ] { 4 } + Constant [ public int REDIS_HASH ] { 5 } + Constant [ public int REDIS_STREAM ] { 6 } + Constant [ public int PIPELINE ] { 2 } + Constant [ public int ATOMIC ] { 0 } + Constant [ public int MULTI ] { 1 } + Constant [ public int OPT_SERIALIZER ] { 1 } + Constant [ public int OPT_PREFIX ] { 2 } + Constant [ public int OPT_READ_TIMEOUT ] { 3 } + Constant [ public int OPT_TCP_KEEPALIVE ] { 6 } + Constant [ public int OPT_COMPRESSION ] { 7 } + Constant [ public int OPT_REPLY_LITERAL ] { 8 } + Constant [ public int OPT_COMPRESSION_LEVEL ] { 9 } + Constant [ public int OPT_NULL_MULTIBULK_AS_NULL ] { 10 } + Constant [ public int SERIALIZER_NONE ] { 0 } + Constant [ public int SERIALIZER_PHP ] { 1 } + Constant [ public int SERIALIZER_IGBINARY ] { 2 } + Constant [ public int SERIALIZER_MSGPACK ] { 3 } + Constant [ public int SERIALIZER_JSON ] { 4 } + Constant [ public int COMPRESSION_NONE ] { 0 } + Constant [ public int COMPRESSION_LZF ] { 1 } + Constant [ public int COMPRESSION_ZSTD ] { 2 } + Constant [ public int COMPRESSION_ZSTD_MIN ] { 1 } + Constant [ public int COMPRESSION_ZSTD_DEFAULT ] { 3 } + Constant [ public int COMPRESSION_ZSTD_MAX ] { 22 } + Constant [ public int COMPRESSION_LZ4 ] { 3 } + Constant [ public int OPT_SCAN ] { 4 } + Constant [ public int SCAN_RETRY ] { 1 } + Constant [ public int SCAN_NORETRY ] { 0 } + Constant [ public int SCAN_PREFIX ] { 2 } + Constant [ public int SCAN_NOPREFIX ] { 3 } + Constant [ public string AFTER ] { after } + Constant [ public string BEFORE ] { before } + Constant [ public int OPT_MAX_RETRIES ] { 11 } + Constant [ public int OPT_BACKOFF_ALGORITHM ] { 12 } + Constant [ public int BACKOFF_ALGORITHM_DEFAULT ] { 0 } + Constant [ public int BACKOFF_ALGORITHM_CONSTANT ] { 6 } + Constant [ public int BACKOFF_ALGORITHM_UNIFORM ] { 5 } + Constant [ public int BACKOFF_ALGORITHM_EXPONENTIAL ] { 4 } + Constant [ public int BACKOFF_ALGORITHM_FULL_JITTER ] { 2 } + Constant [ public int BACKOFF_ALGORITHM_EQUAL_JITTER ] { 3 } + Constant [ public int BACKOFF_ALGORITHM_DECORRELATED_JITTER ] { 1 } + Constant [ public int OPT_BACKOFF_BASE ] { 13 } + Constant [ public int OPT_BACKOFF_CAP ] { 14 } + } + + - Static properties [0] { + } + + - Static methods [0] { + } + + - Properties [0] { + } + + - Methods [240] { + Method [ public method __construct ] { + + - Parameters [0] { + } + } + + Method [ public method __destruct ] { + + - Parameters [0] { + } + } + + Method [ public method _prefix ] { + + - Parameters [1] { + Parameter #0 [ $key ] + } + } + + Method [ public method _serialize ] { + + - Parameters [1] { + Parameter #0 [ $value ] + } + } + + Method [ public method _unserialize ] { + + - Parameters [1] { + Parameter #0 [ $value ] + } + } + + Method [ public method _pack ] { + + - Parameters [1] { + Parameter #0 [ $value ] + } + } + + Method [ public method _unpack ] { + + - Parameters [1] { + Parameter #0 [ $value ] + } + } + + Method [ public method _compress ] { + + - Parameters [1] { + Parameter #0 [ $value ] + } + } + + Method [ public method _uncompress ] { + + - Parameters [1] { + Parameter #0 [ $value ] + } + } + + Method [ public method acl ] { + + - Parameters [2] { + Parameter #0 [ $subcmd ] + Parameter #1 [ ...$args ] + } + } + + Method [ public method append ] { + + - Parameters [2] { + Parameter #0 [ $key ] + Parameter #1 [ $value ] + } + } + + Method [ public method auth ] { + + - Parameters [1] { + Parameter #0 [ $auth ] + } + } + + Method [ public method bgSave ] { + + - Parameters [0] { + } + } + + Method [ public method bgrewriteaof ] { + + - Parameters [0] { + } + } + + Method [ public method bitcount ] { + + - Parameters [1] { + Parameter #0 [ $key ] + } + } + + Method [ public method bitop ] { + + - Parameters [4] { + Parameter #0 [ $operation ] + Parameter #1 [ $ret_key ] + Parameter #2 [ $key ] + Parameter #3 [ ...$other_keys ] + } + } + + Method [ public method bitpos ] { + + - Parameters [4] { + Parameter #0 [ $key ] + Parameter #1 [ $bit ] + Parameter #2 [ $start = ] + Parameter #3 [ $end = ] + } + } + + Method [ public method blPop ] { + + - Parameters [3] { + Parameter #0 [ $key ] + Parameter #1 [ $timeout_or_key ] + Parameter #2 [ ...$extra_args ] + } + } + + Method [ public method brPop ] { + + - Parameters [3] { + Parameter #0 [ $key ] + Parameter #1 [ $timeout_or_key ] + Parameter #2 [ ...$extra_args ] + } + } + + Method [ public method brpoplpush ] { + + - Parameters [3] { + Parameter #0 [ $src ] + Parameter #1 [ $dst ] + Parameter #2 [ $timeout ] + } + } + + Method [ public method bzPopMax ] { + + - Parameters [3] { + Parameter #0 [ $key ] + Parameter #1 [ $timeout_or_key ] + Parameter #2 [ ...$extra_args ] + } + } + + Method [ public method bzPopMin ] { + + - Parameters [3] { + Parameter #0 [ $key ] + Parameter #1 [ $timeout_or_key ] + Parameter #2 [ ...$extra_args ] + } + } + + Method [ public method clearLastError ] { + + - Parameters [0] { + } + } + + Method [ public method client ] { + + - Parameters [2] { + Parameter #0 [ $cmd ] + Parameter #1 [ ...$args ] + } + } + + Method [ public method close ] { + + - Parameters [0] { + } + } + + Method [ public method command ] { + + - Parameters [1] { + Parameter #0 [ ...$args ] + } + } + + Method [ public method config ] { + + - Parameters [3] { + Parameter #0 [ $cmd ] + Parameter #1 [ $key ] + Parameter #2 [ $value = ] + } + } + + Method [ public method connect ] { + + - Parameters [4] { + Parameter #0 [ $host ] + Parameter #1 [ $port = ] + Parameter #2 [ $timeout = ] + Parameter #3 [ $retry_interval = ] + } + } + + Method [ public method dbSize ] { + + - Parameters [0] { + } + } + + Method [ public method debug ] { + + - Parameters [1] { + Parameter #0 [ $key ] + } + } + + Method [ public method decr ] { + + - Parameters [1] { + Parameter #0 [ $key ] + } + } + + Method [ public method decrBy ] { + + - Parameters [2] { + Parameter #0 [ $key ] + Parameter #1 [ $value ] + } + } + + Method [ public method del ] { + + - Parameters [2] { + Parameter #0 [ $key ] + Parameter #1 [ ...$other_keys ] + } + } + + Method [ public method discard ] { + + - Parameters [0] { + } + } + + Method [ public method dump ] { + + - Parameters [1] { + Parameter #0 [ $key ] + } + } + + Method [ public method echo ] { + + - Parameters [1] { + Parameter #0 [ $msg ] + } + } + + Method [ public method eval ] { + + - Parameters [3] { + Parameter #0 [ $script ] + Parameter #1 [ $args = ] + Parameter #2 [ $num_keys = ] + } + } + + Method [ public method evalsha ] { + + - Parameters [3] { + Parameter #0 [ $script_sha ] + Parameter #1 [ $args = ] + Parameter #2 [ $num_keys = ] + } + } + + Method [ public method exec ] { + + - Parameters [0] { + } + } + + Method [ public method exists ] { + + - Parameters [2] { + Parameter #0 [ $key ] + Parameter #1 [ ...$other_keys ] + } + } + + Method [ public method expire ] { + + - Parameters [2] { + Parameter #0 [ $key ] + Parameter #1 [ $timeout ] + } + } + + Method [ public method expireAt ] { + + - Parameters [2] { + Parameter #0 [ $key ] + Parameter #1 [ $timestamp ] + } + } + + Method [ public method flushAll ] { + + - Parameters [1] { + Parameter #0 [ $async = ] + } + } + + Method [ public method flushDB ] { + + - Parameters [1] { + Parameter #0 [ $async = ] + } + } + + Method [ public method geoadd ] { + + - Parameters [5] { + Parameter #0 [ $key ] + Parameter #1 [ $lng ] + Parameter #2 [ $lat ] + Parameter #3 [ $member ] + Parameter #4 [ ...$other_triples ] + } + } + + Method [ public method geodist ] { + + - Parameters [4] { + Parameter #0 [ $key ] + Parameter #1 [ $src ] + Parameter #2 [ $dst ] + Parameter #3 [ $unit = ] + } + } + + Method [ public method geohash ] { + + - Parameters [3] { + Parameter #0 [ $key ] + Parameter #1 [ $member ] + Parameter #2 [ ...$other_members ] + } + } + + Method [ public method geopos ] { + + - Parameters [3] { + Parameter #0 [ $key ] + Parameter #1 [ $member ] + Parameter #2 [ ...$other_members ] + } + } + + Method [ public method georadius ] { + + - Parameters [6] { + Parameter #0 [ $key ] + Parameter #1 [ $lng ] + Parameter #2 [ $lan ] + Parameter #3 [ $radius ] + Parameter #4 [ $unit ] + Parameter #5 [ array $opts = ] + } + } + + Method [ public method georadius_ro ] { + + - Parameters [6] { + Parameter #0 [ $key ] + Parameter #1 [ $lng ] + Parameter #2 [ $lan ] + Parameter #3 [ $radius ] + Parameter #4 [ $unit ] + Parameter #5 [ array $opts = ] + } + } + + Method [ public method georadiusbymember ] { + + - Parameters [5] { + Parameter #0 [ $key ] + Parameter #1 [ $member ] + Parameter #2 [ $radius ] + Parameter #3 [ $unit ] + Parameter #4 [ array $opts = ] + } + } + + Method [ public method georadiusbymember_ro ] { + + - Parameters [5] { + Parameter #0 [ $key ] + Parameter #1 [ $member ] + Parameter #2 [ $radius ] + Parameter #3 [ $unit ] + Parameter #4 [ array $opts = ] + } + } + + Method [ public method get ] { + + - Parameters [1] { + Parameter #0 [ $key ] + } + } + + Method [ public method getAuth ] { + + - Parameters [0] { + } + } + + Method [ public method getBit ] { + + - Parameters [2] { + Parameter #0 [ $key ] + Parameter #1 [ $offset ] + } + } + + Method [ public method getDBNum ] { + + - Parameters [0] { + } + } + + Method [ public method getHost ] { + + - Parameters [0] { + } + } + + Method [ public method getLastError ] { + + - Parameters [0] { + } + } + + Method [ public method getMode ] { + + - Parameters [0] { + } + } + + Method [ public method getOption ] { + + - Parameters [1] { + Parameter #0 [ $option ] + } + } + + Method [ public method getPersistentID ] { + + - Parameters [0] { + } + } + + Method [ public method getPort ] { + + - Parameters [0] { + } + } + + Method [ public method getRange ] { + + - Parameters [3] { + Parameter #0 [ $key ] + Parameter #1 [ $start ] + Parameter #2 [ $end ] + } + } + + Method [ public method getReadTimeout ] { + + - Parameters [0] { + } + } + + Method [ public method getSet ] { + + - Parameters [2] { + Parameter #0 [ $key ] + Parameter #1 [ $value ] + } + } + + Method [ public method getTimeout ] { + + - Parameters [0] { + } + } + + Method [ public method hDel ] { + + - Parameters [3] { + Parameter #0 [ $key ] + Parameter #1 [ $member ] + Parameter #2 [ ...$other_members ] + } + } + + Method [ public method hExists ] { + + - Parameters [2] { + Parameter #0 [ $key ] + Parameter #1 [ $member ] + } + } + + Method [ public method hGet ] { + + - Parameters [2] { + Parameter #0 [ $key ] + Parameter #1 [ $member ] + } + } + + Method [ public method hGetAll ] { + + - Parameters [1] { + Parameter #0 [ $key ] + } + } + + Method [ public method hIncrBy ] { + + - Parameters [3] { + Parameter #0 [ $key ] + Parameter #1 [ $member ] + Parameter #2 [ $value ] + } + } + + Method [ public method hIncrByFloat ] { + + - Parameters [3] { + Parameter #0 [ $key ] + Parameter #1 [ $member ] + Parameter #2 [ $value ] + } + } + + Method [ public method hKeys ] { + + - Parameters [1] { + Parameter #0 [ $key ] + } + } + + Method [ public method hLen ] { + + - Parameters [1] { + Parameter #0 [ $key ] + } + } + + Method [ public method hMget ] { + + - Parameters [2] { + Parameter #0 [ $key ] + Parameter #1 [ array $keys ] + } + } + + Method [ public method hMset ] { + + - Parameters [2] { + Parameter #0 [ $key ] + Parameter #1 [ array $pairs ] + } + } + + Method [ public method hSet ] { + + - Parameters [3] { + Parameter #0 [ $key ] + Parameter #1 [ $member ] + Parameter #2 [ $value ] + } + } + + Method [ public method hSetNx ] { + + - Parameters [3] { + Parameter #0 [ $key ] + Parameter #1 [ $member ] + Parameter #2 [ $value ] + } + } + + Method [ public method hStrLen ] { + + - Parameters [2] { + Parameter #0 [ $key ] + Parameter #1 [ $member ] + } + } + + Method [ public method hVals ] { + + - Parameters [1] { + Parameter #0 [ $key ] + } + } + + Method [ public method hscan ] { + + - Parameters [4] { + Parameter #0 [ $str_key ] + Parameter #1 [ &$i_iterator ] + Parameter #2 [ $str_pattern = ] + Parameter #3 [ $i_count = ] + } + } + + Method [ public method incr ] { + + - Parameters [1] { + Parameter #0 [ $key ] + } + } + + Method [ public method incrBy ] { + + - Parameters [2] { + Parameter #0 [ $key ] + Parameter #1 [ $value ] + } + } + + Method [ public method incrByFloat ] { + + - Parameters [2] { + Parameter #0 [ $key ] + Parameter #1 [ $value ] + } + } + + Method [ public method info ] { + + - Parameters [1] { + Parameter #0 [ $option = ] + } + } + + Method [ public method isConnected ] { + + - Parameters [0] { + } + } + + Method [ public method keys ] { + + - Parameters [1] { + Parameter #0 [ $pattern ] + } + } + + Method [ public method lInsert ] { + + - Parameters [4] { + Parameter #0 [ $key ] + Parameter #1 [ $position ] + Parameter #2 [ $pivot ] + Parameter #3 [ $value ] + } + } + + Method [ public method lLen ] { + + - Parameters [1] { + Parameter #0 [ $key ] + } + } + + Method [ public method lPop ] { + + - Parameters [1] { + Parameter #0 [ $key ] + } + } + + Method [ public method lPush ] { + + - Parameters [2] { + Parameter #0 [ $key ] + Parameter #1 [ $value ] + } + } + + Method [ public method lPushx ] { + + - Parameters [2] { + Parameter #0 [ $key ] + Parameter #1 [ $value ] + } + } + + Method [ public method lSet ] { + + - Parameters [3] { + Parameter #0 [ $key ] + Parameter #1 [ $index ] + Parameter #2 [ $value ] + } + } + + Method [ public method lastSave ] { + + - Parameters [0] { + } + } + + Method [ public method lindex ] { + + - Parameters [2] { + Parameter #0 [ $key ] + Parameter #1 [ $index ] + } + } + + Method [ public method lrange ] { + + - Parameters [3] { + Parameter #0 [ $key ] + Parameter #1 [ $start ] + Parameter #2 [ $end ] + } + } + + Method [ public method lrem ] { + + - Parameters [3] { + Parameter #0 [ $key ] + Parameter #1 [ $value ] + Parameter #2 [ $count ] + } + } + + Method [ public method ltrim ] { + + - Parameters [3] { + Parameter #0 [ $key ] + Parameter #1 [ $start ] + Parameter #2 [ $stop ] + } + } + + Method [ public method mget ] { + + - Parameters [1] { + Parameter #0 [ array $keys ] + } + } + + Method [ public method migrate ] { + + - Parameters [7] { + Parameter #0 [ $host ] + Parameter #1 [ $port ] + Parameter #2 [ $key ] + Parameter #3 [ $db ] + Parameter #4 [ $timeout ] + Parameter #5 [ $copy = ] + Parameter #6 [ $replace = ] + } + } + + Method [ public method move ] { + + - Parameters [2] { + Parameter #0 [ $key ] + Parameter #1 [ $dbindex ] + } + } + + Method [ public method mset ] { + + - Parameters [1] { + Parameter #0 [ array $pairs ] + } + } + + Method [ public method msetnx ] { + + - Parameters [1] { + Parameter #0 [ array $pairs ] + } + } + + Method [ public method multi ] { + + - Parameters [1] { + Parameter #0 [ $mode = ] + } + } + + Method [ public method object ] { + + - Parameters [2] { + Parameter #0 [ $field ] + Parameter #1 [ $key ] + } + } + + Method [ public method pconnect ] { + + - Parameters [3] { + Parameter #0 [ $host ] + Parameter #1 [ $port = ] + Parameter #2 [ $timeout = ] + } + } + + Method [ public method persist ] { + + - Parameters [1] { + Parameter #0 [ $key ] + } + } + + Method [ public method pexpire ] { + + - Parameters [2] { + Parameter #0 [ $key ] + Parameter #1 [ $timestamp ] + } + } + + Method [ public method pexpireAt ] { + + - Parameters [2] { + Parameter #0 [ $key ] + Parameter #1 [ $timestamp ] + } + } + + Method [ public method pfadd ] { + + - Parameters [2] { + Parameter #0 [ $key ] + Parameter #1 [ array $elements ] + } + } + + Method [ public method pfcount ] { + + - Parameters [1] { + Parameter #0 [ $key ] + } + } + + Method [ public method pfmerge ] { + + - Parameters [2] { + Parameter #0 [ $dstkey ] + Parameter #1 [ array $keys ] + } + } + + Method [ public method ping ] { + + - Parameters [0] { + } + } + + Method [ public method pipeline ] { + + - Parameters [0] { + } + } + + Method [ public method psetex ] { + + - Parameters [3] { + Parameter #0 [ $key ] + Parameter #1 [ $expire ] + Parameter #2 [ $value ] + } + } + + Method [ public method psubscribe ] { + + - Parameters [2] { + Parameter #0 [ array $patterns ] + Parameter #1 [ $callback ] + } + } + + Method [ public method pttl ] { + + - Parameters [1] { + Parameter #0 [ $key ] + } + } + + Method [ public method publish ] { + + - Parameters [2] { + Parameter #0 [ $channel ] + Parameter #1 [ $message ] + } + } + + Method [ public method pubsub ] { + + - Parameters [2] { + Parameter #0 [ $cmd ] + Parameter #1 [ ...$args ] + } + } + + Method [ public method punsubscribe ] { + + - Parameters [2] { + Parameter #0 [ $pattern ] + Parameter #1 [ ...$other_patterns ] + } + } + + Method [ public method rPop ] { + + - Parameters [1] { + Parameter #0 [ $key ] + } + } + + Method [ public method rPush ] { + + - Parameters [2] { + Parameter #0 [ $key ] + Parameter #1 [ $value ] + } + } + + Method [ public method rPushx ] { + + - Parameters [2] { + Parameter #0 [ $key ] + Parameter #1 [ $value ] + } + } + + Method [ public method randomKey ] { + + - Parameters [0] { + } + } + + Method [ public method rawcommand ] { + + - Parameters [2] { + Parameter #0 [ $cmd ] + Parameter #1 [ ...$args ] + } + } + + Method [ public method rename ] { + + - Parameters [2] { + Parameter #0 [ $key ] + Parameter #1 [ $newkey ] + } + } + + Method [ public method renameNx ] { + + - Parameters [2] { + Parameter #0 [ $key ] + Parameter #1 [ $newkey ] + } + } + + Method [ public method restore ] { + + - Parameters [3] { + Parameter #0 [ $ttl ] + Parameter #1 [ $key ] + Parameter #2 [ $value ] + } + } + + Method [ public method role ] { + + - Parameters [0] { + } + } + + Method [ public method rpoplpush ] { + + - Parameters [2] { + Parameter #0 [ $src ] + Parameter #1 [ $dst ] + } + } + + Method [ public method sAdd ] { + + - Parameters [2] { + Parameter #0 [ $key ] + Parameter #1 [ $value ] + } + } + + Method [ public method sAddArray ] { + + - Parameters [2] { + Parameter #0 [ $key ] + Parameter #1 [ array $options ] + } + } + + Method [ public method sDiff ] { + + - Parameters [2] { + Parameter #0 [ $key ] + Parameter #1 [ ...$other_keys ] + } + } + + Method [ public method sDiffStore ] { + + - Parameters [3] { + Parameter #0 [ $dst ] + Parameter #1 [ $key ] + Parameter #2 [ ...$other_keys ] + } + } + + Method [ public method sInter ] { + + - Parameters [2] { + Parameter #0 [ $key ] + Parameter #1 [ ...$other_keys ] + } + } + + Method [ public method sInterStore ] { + + - Parameters [3] { + Parameter #0 [ $dst ] + Parameter #1 [ $key ] + Parameter #2 [ ...$other_keys ] + } + } + + Method [ public method sMembers ] { + + - Parameters [1] { + Parameter #0 [ $key ] + } + } + + Method [ public method sMisMember ] { + + - Parameters [3] { + Parameter #0 [ $key ] + Parameter #1 [ $member ] + Parameter #2 [ ...$other_members ] + } + } + + Method [ public method sMove ] { + + - Parameters [3] { + Parameter #0 [ $src ] + Parameter #1 [ $dst ] + Parameter #2 [ $value ] + } + } + + Method [ public method sPop ] { + + - Parameters [1] { + Parameter #0 [ $key ] + } + } + + Method [ public method sRandMember ] { + + - Parameters [2] { + Parameter #0 [ $key ] + Parameter #1 [ $count = ] + } + } + + Method [ public method sUnion ] { + + - Parameters [2] { + Parameter #0 [ $key ] + Parameter #1 [ ...$other_keys ] + } + } + + Method [ public method sUnionStore ] { + + - Parameters [3] { + Parameter #0 [ $dst ] + Parameter #1 [ $key ] + Parameter #2 [ ...$other_keys ] + } + } + + Method [ public method save ] { + + - Parameters [0] { + } + } + + Method [ public method scan ] { + + - Parameters [3] { + Parameter #0 [ &$i_iterator ] + Parameter #1 [ $str_pattern = ] + Parameter #2 [ $i_count = ] + } + } + + Method [ public method scard ] { + + - Parameters [1] { + Parameter #0 [ $key ] + } + } + + Method [ public method script ] { + + - Parameters [2] { + Parameter #0 [ $cmd ] + Parameter #1 [ ...$args ] + } + } + + Method [ public method select ] { + + - Parameters [1] { + Parameter #0 [ $dbindex ] + } + } + + Method [ public method set ] { + + - Parameters [3] { + Parameter #0 [ $key ] + Parameter #1 [ $value ] + Parameter #2 [ $opts = ] + } + } + + Method [ public method setBit ] { + + - Parameters [3] { + Parameter #0 [ $key ] + Parameter #1 [ $offset ] + Parameter #2 [ $value ] + } + } + + Method [ public method setOption ] { + + - Parameters [2] { + Parameter #0 [ $option ] + Parameter #1 [ $value ] + } + } + + Method [ public method setRange ] { + + - Parameters [3] { + Parameter #0 [ $key ] + Parameter #1 [ $offset ] + Parameter #2 [ $value ] + } + } + + Method [ public method setex ] { + + - Parameters [3] { + Parameter #0 [ $key ] + Parameter #1 [ $expire ] + Parameter #2 [ $value ] + } + } + + Method [ public method setnx ] { + + - Parameters [2] { + Parameter #0 [ $key ] + Parameter #1 [ $value ] + } + } + + Method [ public method sismember ] { + + - Parameters [2] { + Parameter #0 [ $key ] + Parameter #1 [ $value ] + } + } + + Method [ public method slaveof ] { + + - Parameters [2] { + Parameter #0 [ $host = ] + Parameter #1 [ $port = ] + } + } + + Method [ public method slowlog ] { + + - Parameters [2] { + Parameter #0 [ $arg ] + Parameter #1 [ $option = ] + } + } + + Method [ public method sort ] { + + - Parameters [2] { + Parameter #0 [ $key ] + Parameter #1 [ array $options = ] + } + } + + Method [ public method sortAsc ] { + + - Parameters [6] { + Parameter #0 [ $key ] + Parameter #1 [ $pattern = ] + Parameter #2 [ $get = ] + Parameter #3 [ $start = ] + Parameter #4 [ $end = ] + Parameter #5 [ $getList = ] + } + } + + Method [ public method sortAscAlpha ] { + + - Parameters [6] { + Parameter #0 [ $key ] + Parameter #1 [ $pattern = ] + Parameter #2 [ $get = ] + Parameter #3 [ $start = ] + Parameter #4 [ $end = ] + Parameter #5 [ $getList = ] + } + } + + Method [ public method sortDesc ] { + + - Parameters [6] { + Parameter #0 [ $key ] + Parameter #1 [ $pattern = ] + Parameter #2 [ $get = ] + Parameter #3 [ $start = ] + Parameter #4 [ $end = ] + Parameter #5 [ $getList = ] + } + } + + Method [ public method sortDescAlpha ] { + + - Parameters [6] { + Parameter #0 [ $key ] + Parameter #1 [ $pattern = ] + Parameter #2 [ $get = ] + Parameter #3 [ $start = ] + Parameter #4 [ $end = ] + Parameter #5 [ $getList = ] + } + } + + Method [ public method srem ] { + + - Parameters [3] { + Parameter #0 [ $key ] + Parameter #1 [ $member ] + Parameter #2 [ ...$other_members ] + } + } + + Method [ public method sscan ] { + + - Parameters [4] { + Parameter #0 [ $str_key ] + Parameter #1 [ &$i_iterator ] + Parameter #2 [ $str_pattern = ] + Parameter #3 [ $i_count = ] + } + } + + Method [ public method strlen ] { + + - Parameters [1] { + Parameter #0 [ $key ] + } + } + + Method [ public method subscribe ] { + + - Parameters [2] { + Parameter #0 [ array $channels ] + Parameter #1 [ $callback ] + } + } + + Method [ public method swapdb ] { + + - Parameters [2] { + Parameter #0 [ $srcdb ] + Parameter #1 [ $dstdb ] + } + } + + Method [ public method time ] { + + - Parameters [0] { + } + } + + Method [ public method ttl ] { + + - Parameters [1] { + Parameter #0 [ $key ] + } + } + + Method [ public method type ] { + + - Parameters [1] { + Parameter #0 [ $key ] + } + } + + Method [ public method unlink ] { + + - Parameters [2] { + Parameter #0 [ $key ] + Parameter #1 [ ...$other_keys ] + } + } + + Method [ public method unsubscribe ] { + + - Parameters [2] { + Parameter #0 [ $channel ] + Parameter #1 [ ...$other_channels ] + } + } + + Method [ public method unwatch ] { + + - Parameters [0] { + } + } + + Method [ public method wait ] { + + - Parameters [2] { + Parameter #0 [ $numslaves ] + Parameter #1 [ $timeout ] + } + } + + Method [ public method watch ] { + + - Parameters [2] { + Parameter #0 [ $key ] + Parameter #1 [ ...$other_keys ] + } + } + + Method [ public method xack ] { + + - Parameters [3] { + Parameter #0 [ $str_key ] + Parameter #1 [ $str_group ] + Parameter #2 [ array $arr_ids ] + } + } + + Method [ public method xadd ] { + + - Parameters [5] { + Parameter #0 [ $str_key ] + Parameter #1 [ $str_id ] + Parameter #2 [ array $arr_fields ] + Parameter #3 [ $i_maxlen = ] + Parameter #4 [ $boo_approximate = ] + } + } + + Method [ public method xclaim ] { + + - Parameters [6] { + Parameter #0 [ $str_key ] + Parameter #1 [ $str_group ] + Parameter #2 [ $str_consumer ] + Parameter #3 [ $i_min_idle ] + Parameter #4 [ array $arr_ids ] + Parameter #5 [ array $arr_opts = ] + } + } + + Method [ public method xdel ] { + + - Parameters [2] { + Parameter #0 [ $str_key ] + Parameter #1 [ array $arr_ids ] + } + } + + Method [ public method xgroup ] { + + - Parameters [5] { + Parameter #0 [ $str_operation ] + Parameter #1 [ $str_key = ] + Parameter #2 [ $str_arg1 = ] + Parameter #3 [ $str_arg2 = ] + Parameter #4 [ $str_arg3 = ] + } + } + + Method [ public method xinfo ] { + + - Parameters [3] { + Parameter #0 [ $str_cmd ] + Parameter #1 [ $str_key = ] + Parameter #2 [ $str_group = ] + } + } + + Method [ public method xlen ] { + + - Parameters [1] { + Parameter #0 [ $key ] + } + } + + Method [ public method xpending ] { + + - Parameters [6] { + Parameter #0 [ $str_key ] + Parameter #1 [ $str_group ] + Parameter #2 [ $str_start = ] + Parameter #3 [ $str_end = ] + Parameter #4 [ $i_count = ] + Parameter #5 [ $str_consumer = ] + } + } + + Method [ public method xrange ] { + + - Parameters [4] { + Parameter #0 [ $str_key ] + Parameter #1 [ $str_start ] + Parameter #2 [ $str_end ] + Parameter #3 [ $i_count = ] + } + } + + Method [ public method xread ] { + + - Parameters [3] { + Parameter #0 [ array $arr_streams ] + Parameter #1 [ $i_count = ] + Parameter #2 [ $i_block = ] + } + } + + Method [ public method xreadgroup ] { + + - Parameters [5] { + Parameter #0 [ $str_group ] + Parameter #1 [ $str_consumer ] + Parameter #2 [ array $arr_streams ] + Parameter #3 [ $i_count = ] + Parameter #4 [ $i_block = ] + } + } + + Method [ public method xrevrange ] { + + - Parameters [4] { + Parameter #0 [ $str_key ] + Parameter #1 [ $str_start ] + Parameter #2 [ $str_end ] + Parameter #3 [ $i_count = ] + } + } + + Method [ public method xtrim ] { + + - Parameters [3] { + Parameter #0 [ $str_key ] + Parameter #1 [ $i_maxlen ] + Parameter #2 [ $boo_approximate = ] + } + } + + Method [ public method zAdd ] { + + - Parameters [4] { + Parameter #0 [ $key ] + Parameter #1 [ $score ] + Parameter #2 [ $value ] + Parameter #3 [ ...$extra_args ] + } + } + + Method [ public method zCard ] { + + - Parameters [1] { + Parameter #0 [ $key ] + } + } + + Method [ public method zCount ] { + + - Parameters [3] { + Parameter #0 [ $key ] + Parameter #1 [ $min ] + Parameter #2 [ $max ] + } + } + + Method [ public method zIncrBy ] { + + - Parameters [3] { + Parameter #0 [ $key ] + Parameter #1 [ $value ] + Parameter #2 [ $member ] + } + } + + Method [ public method zLexCount ] { + + - Parameters [3] { + Parameter #0 [ $key ] + Parameter #1 [ $min ] + Parameter #2 [ $max ] + } + } + + Method [ public method zPopMax ] { + + - Parameters [1] { + Parameter #0 [ $key ] + } + } + + Method [ public method zPopMin ] { + + - Parameters [1] { + Parameter #0 [ $key ] + } + } + + Method [ public method zRange ] { + + - Parameters [4] { + Parameter #0 [ $key ] + Parameter #1 [ $start ] + Parameter #2 [ $end ] + Parameter #3 [ $scores = ] + } + } + + Method [ public method zRangeByLex ] { + + - Parameters [5] { + Parameter #0 [ $key ] + Parameter #1 [ $min ] + Parameter #2 [ $max ] + Parameter #3 [ $offset = ] + Parameter #4 [ $limit = ] + } + } + + Method [ public method zRangeByScore ] { + + - Parameters [4] { + Parameter #0 [ $key ] + Parameter #1 [ $start ] + Parameter #2 [ $end ] + Parameter #3 [ array $options = ] + } + } + + Method [ public method zRank ] { + + - Parameters [2] { + Parameter #0 [ $key ] + Parameter #1 [ $member ] + } + } + + Method [ public method zRem ] { + + - Parameters [3] { + Parameter #0 [ $key ] + Parameter #1 [ $member ] + Parameter #2 [ ...$other_members ] + } + } + + Method [ public method zRemRangeByLex ] { + + - Parameters [3] { + Parameter #0 [ $key ] + Parameter #1 [ $min ] + Parameter #2 [ $max ] + } + } + + Method [ public method zRemRangeByRank ] { + + - Parameters [3] { + Parameter #0 [ $key ] + Parameter #1 [ $start ] + Parameter #2 [ $end ] + } + } + + Method [ public method zRemRangeByScore ] { + + - Parameters [3] { + Parameter #0 [ $key ] + Parameter #1 [ $min ] + Parameter #2 [ $max ] + } + } + + Method [ public method zRevRange ] { + + - Parameters [4] { + Parameter #0 [ $key ] + Parameter #1 [ $start ] + Parameter #2 [ $end ] + Parameter #3 [ $scores = ] + } + } + + Method [ public method zRevRangeByLex ] { + + - Parameters [5] { + Parameter #0 [ $key ] + Parameter #1 [ $min ] + Parameter #2 [ $max ] + Parameter #3 [ $offset = ] + Parameter #4 [ $limit = ] + } + } + + Method [ public method zRevRangeByScore ] { + + - Parameters [4] { + Parameter #0 [ $key ] + Parameter #1 [ $start ] + Parameter #2 [ $end ] + Parameter #3 [ array $options = ] + } + } + + Method [ public method zRevRank ] { + + - Parameters [2] { + Parameter #0 [ $key ] + Parameter #1 [ $member ] + } + } + + Method [ public method zScore ] { + + - Parameters [2] { + Parameter #0 [ $key ] + Parameter #1 [ $member ] + } + } + + Method [ public method zinterstore ] { + + - Parameters [4] { + Parameter #0 [ $key ] + Parameter #1 [ array $keys ] + Parameter #2 [ ?array $weights = ] + Parameter #3 [ $aggregate = ] + } + } + + Method [ public method zscan ] { + + - Parameters [4] { + Parameter #0 [ $str_key ] + Parameter #1 [ &$i_iterator ] + Parameter #2 [ $str_pattern = ] + Parameter #3 [ $i_count = ] + } + } + + Method [ public method zunionstore ] { + + - Parameters [4] { + Parameter #0 [ $key ] + Parameter #1 [ array $keys ] + Parameter #2 [ ?array $weights = ] + Parameter #3 [ $aggregate = ] + } + } + + Method [ public method delete ] { + + - Parameters [2] { + Parameter #0 [ $key ] + Parameter #1 [ ...$other_keys ] + } + } + + Method [ public method evaluate ] { + + - Parameters [3] { + Parameter #0 [ $script ] + Parameter #1 [ $args = ] + Parameter #2 [ $num_keys = ] + } + } + + Method [ public method evaluateSha ] { + + - Parameters [3] { + Parameter #0 [ $script_sha ] + Parameter #1 [ $args = ] + Parameter #2 [ $num_keys = ] + } + } + + Method [ public method getKeys ] { + + - Parameters [1] { + Parameter #0 [ $pattern ] + } + } + + Method [ public method getMultiple ] { + + - Parameters [1] { + Parameter #0 [ array $keys ] + } + } + + Method [ public method lGet ] { + + - Parameters [2] { + Parameter #0 [ $key ] + Parameter #1 [ $index ] + } + } + + Method [ public method lGetRange ] { + + - Parameters [3] { + Parameter #0 [ $key ] + Parameter #1 [ $start ] + Parameter #2 [ $end ] + } + } + + Method [ public method lRemove ] { + + - Parameters [3] { + Parameter #0 [ $key ] + Parameter #1 [ $value ] + Parameter #2 [ $count ] + } + } + + Method [ public method lSize ] { + + - Parameters [1] { + Parameter #0 [ $key ] + } + } + + Method [ public method listTrim ] { + + - Parameters [3] { + Parameter #0 [ $key ] + Parameter #1 [ $start ] + Parameter #2 [ $stop ] + } + } + + Method [ public method open ] { + + - Parameters [4] { + Parameter #0 [ $host ] + Parameter #1 [ $port = ] + Parameter #2 [ $timeout = ] + Parameter #3 [ $retry_interval = ] + } + } + + Method [ public method popen ] { + + - Parameters [3] { + Parameter #0 [ $host ] + Parameter #1 [ $port = ] + Parameter #2 [ $timeout = ] + } + } + + Method [ public method renameKey ] { + + - Parameters [2] { + Parameter #0 [ $key ] + Parameter #1 [ $newkey ] + } + } + + Method [ public method sContains ] { + + - Parameters [2] { + Parameter #0 [ $key ] + Parameter #1 [ $value ] + } + } + + Method [ public method sGetMembers ] { + + - Parameters [1] { + Parameter #0 [ $key ] + } + } + + Method [ public method sRemove ] { + + - Parameters [3] { + Parameter #0 [ $key ] + Parameter #1 [ $member ] + Parameter #2 [ ...$other_members ] + } + } + + Method [ public method sSize ] { + + - Parameters [1] { + Parameter #0 [ $key ] + } + } + + Method [ public method sendEcho ] { + + - Parameters [1] { + Parameter #0 [ $msg ] + } + } + + Method [ public method setTimeout ] { + + - Parameters [2] { + Parameter #0 [ $key ] + Parameter #1 [ $timeout ] + } + } + + Method [ public method substr ] { + + - Parameters [3] { + Parameter #0 [ $key ] + Parameter #1 [ $start ] + Parameter #2 [ $end ] + } + } + + Method [ public method zDelete ] { + + - Parameters [3] { + Parameter #0 [ $key ] + Parameter #1 [ $member ] + Parameter #2 [ ...$other_members ] + } + } + + Method [ public method zDeleteRangeByRank ] { + + - Parameters [3] { + Parameter #0 [ $key ] + Parameter #1 [ $min ] + Parameter #2 [ $max ] + } + } + + Method [ public method zDeleteRangeByScore ] { + + - Parameters [3] { + Parameter #0 [ $key ] + Parameter #1 [ $min ] + Parameter #2 [ $max ] + } + } + + Method [ public method zInter ] { + + - Parameters [4] { + Parameter #0 [ $key ] + Parameter #1 [ array $keys ] + Parameter #2 [ ?array $weights = ] + Parameter #3 [ $aggregate = ] + } + } + + Method [ public method zRemove ] { + + - Parameters [3] { + Parameter #0 [ $key ] + Parameter #1 [ $member ] + Parameter #2 [ ...$other_members ] + } + } + + Method [ public method zRemoveRangeByScore ] { + + - Parameters [3] { + Parameter #0 [ $key ] + Parameter #1 [ $min ] + Parameter #2 [ $max ] + } + } + + Method [ public method zReverseRange ] { + + - Parameters [4] { + Parameter #0 [ $key ] + Parameter #1 [ $start ] + Parameter #2 [ $end ] + Parameter #3 [ $scores = ] + } + } + + Method [ public method zSize ] { + + - Parameters [1] { + Parameter #0 [ $key ] + } + } + + Method [ public method zUnion ] { + + - Parameters [4] { + Parameter #0 [ $key ] + Parameter #1 [ array $keys ] + Parameter #2 [ ?array $weights = ] + Parameter #3 [ $aggregate = ] + } + } + } + } + + Class [ class RedisArray ] { + + - Constants [0] { + } + + - Static properties [0] { + } + + - Static methods [0] { + } + + - Properties [0] { + } + + - Methods [33] { + Method [ public method __call ] { + + - Parameters [2] { + Parameter #0 [ $function_name ] + Parameter #1 [ $arguments ] + } + } + + Method [ public method __construct ] { + + - Parameters [2] { + Parameter #0 [ $name_or_hosts ] + Parameter #1 [ array $options = ] + } + } + + Method [ public method _continuum ] { + + - Parameters [0] { + } + } + + Method [ public method _distributor ] { + + - Parameters [0] { + } + } + + Method [ public method _function ] { + + - Parameters [0] { + } + } + + Method [ public method _hosts ] { + + - Parameters [0] { + } + } + + Method [ public method _instance ] { + + - Parameters [1] { + Parameter #0 [ $host ] + } + } + + Method [ public method _rehash ] { + + - Parameters [1] { + Parameter #0 [ $callable = ] + } + } + + Method [ public method _target ] { + + - Parameters [1] { + Parameter #0 [ $key ] + } + } + + Method [ public method bgsave ] { + + - Parameters [0] { + } + } + + Method [ public method del ] { + + - Parameters [1] { + Parameter #0 [ $keys ] + } + } + + Method [ public method discard ] { + + - Parameters [0] { + } + } + + Method [ public method exec ] { + + - Parameters [0] { + } + } + + Method [ public method flushall ] { + + - Parameters [1] { + Parameter #0 [ $async = ] + } + } + + Method [ public method flushdb ] { + + - Parameters [1] { + Parameter #0 [ $async = ] + } + } + + Method [ public method getOption ] { + + - Parameters [1] { + Parameter #0 [ $opt ] + } + } + + Method [ public method hscan ] { + + - Parameters [4] { + Parameter #0 [ $str_key ] + Parameter #1 [ &$i_iterator ] + Parameter #2 [ $str_pattern = ] + Parameter #3 [ $i_count = ] + } + } + + Method [ public method info ] { + + - Parameters [0] { + } + } + + Method [ public method keys ] { + + - Parameters [1] { + Parameter #0 [ $pattern ] + } + } + + Method [ public method mget ] { + + - Parameters [1] { + Parameter #0 [ $keys ] + } + } + + Method [ public method mset ] { + + - Parameters [1] { + Parameter #0 [ $pairs ] + } + } + + Method [ public method multi ] { + + - Parameters [2] { + Parameter #0 [ $host ] + Parameter #1 [ $mode = ] + } + } + + Method [ public method ping ] { + + - Parameters [0] { + } + } + + Method [ public method save ] { + + - Parameters [0] { + } + } + + Method [ public method scan ] { + + - Parameters [4] { + Parameter #0 [ &$iterator ] + Parameter #1 [ $node ] + Parameter #2 [ $pattern = ] + Parameter #3 [ $count = ] + } + } + + Method [ public method select ] { + + - Parameters [1] { + Parameter #0 [ $index ] + } + } + + Method [ public method setOption ] { + + - Parameters [2] { + Parameter #0 [ $opt ] + Parameter #1 [ $value ] + } + } + + Method [ public method sscan ] { + + - Parameters [4] { + Parameter #0 [ $str_key ] + Parameter #1 [ &$i_iterator ] + Parameter #2 [ $str_pattern = ] + Parameter #3 [ $i_count = ] + } + } + + Method [ public method unlink ] { + + - Parameters [0] { + } + } + + Method [ public method unwatch ] { + + - Parameters [0] { + } + } + + Method [ public method zscan ] { + + - Parameters [4] { + Parameter #0 [ $str_key ] + Parameter #1 [ &$i_iterator ] + Parameter #2 [ $str_pattern = ] + Parameter #3 [ $i_count = ] + } + } + + Method [ public method delete ] { + + - Parameters [1] { + Parameter #0 [ $keys ] + } + } + + Method [ public method getMultiple ] { + + - Parameters [1] { + Parameter #0 [ $keys ] + } + } + } + } + + Class [ class RedisCluster ] { + + - Constants [52] { + Constant [ public int REDIS_NOT_FOUND ] { 0 } + Constant [ public int REDIS_STRING ] { 1 } + Constant [ public int REDIS_SET ] { 2 } + Constant [ public int REDIS_LIST ] { 3 } + Constant [ public int REDIS_ZSET ] { 4 } + Constant [ public int REDIS_HASH ] { 5 } + Constant [ public int REDIS_STREAM ] { 6 } + Constant [ public int ATOMIC ] { 0 } + Constant [ public int MULTI ] { 1 } + Constant [ public int OPT_SERIALIZER ] { 1 } + Constant [ public int OPT_PREFIX ] { 2 } + Constant [ public int OPT_READ_TIMEOUT ] { 3 } + Constant [ public int OPT_TCP_KEEPALIVE ] { 6 } + Constant [ public int OPT_COMPRESSION ] { 7 } + Constant [ public int OPT_REPLY_LITERAL ] { 8 } + Constant [ public int OPT_COMPRESSION_LEVEL ] { 9 } + Constant [ public int OPT_NULL_MULTIBULK_AS_NULL ] { 10 } + Constant [ public int SERIALIZER_NONE ] { 0 } + Constant [ public int SERIALIZER_PHP ] { 1 } + Constant [ public int SERIALIZER_IGBINARY ] { 2 } + Constant [ public int SERIALIZER_MSGPACK ] { 3 } + Constant [ public int SERIALIZER_JSON ] { 4 } + Constant [ public int COMPRESSION_NONE ] { 0 } + Constant [ public int COMPRESSION_LZF ] { 1 } + Constant [ public int COMPRESSION_ZSTD ] { 2 } + Constant [ public int COMPRESSION_ZSTD_MIN ] { 1 } + Constant [ public int COMPRESSION_ZSTD_DEFAULT ] { 3 } + Constant [ public int COMPRESSION_ZSTD_MAX ] { 22 } + Constant [ public int COMPRESSION_LZ4 ] { 3 } + Constant [ public int OPT_SCAN ] { 4 } + Constant [ public int SCAN_RETRY ] { 1 } + Constant [ public int SCAN_NORETRY ] { 0 } + Constant [ public int SCAN_PREFIX ] { 2 } + Constant [ public int SCAN_NOPREFIX ] { 3 } + Constant [ public string AFTER ] { after } + Constant [ public string BEFORE ] { before } + Constant [ public int OPT_SLAVE_FAILOVER ] { 5 } + Constant [ public int FAILOVER_NONE ] { 0 } + Constant [ public int FAILOVER_ERROR ] { 1 } + Constant [ public int FAILOVER_DISTRIBUTE ] { 2 } + Constant [ public int FAILOVER_DISTRIBUTE_SLAVES ] { 3 } + Constant [ public int OPT_MAX_RETRIES ] { 11 } + Constant [ public int OPT_BACKOFF_ALGORITHM ] { 12 } + Constant [ public int BACKOFF_ALGORITHM_DEFAULT ] { 0 } + Constant [ public int BACKOFF_ALGORITHM_CONSTANT ] { 6 } + Constant [ public int BACKOFF_ALGORITHM_UNIFORM ] { 5 } + Constant [ public int BACKOFF_ALGORITHM_EXPONENTIAL ] { 4 } + Constant [ public int BACKOFF_ALGORITHM_FULL_JITTER ] { 2 } + Constant [ public int BACKOFF_ALGORITHM_EQUAL_JITTER ] { 3 } + Constant [ public int BACKOFF_ALGORITHM_DECORRELATED_JITTER ] { 1 } + Constant [ public int OPT_BACKOFF_BASE ] { 13 } + Constant [ public int OPT_BACKOFF_CAP ] { 14 } + } + + - Static properties [0] { + } + + - Static methods [0] { + } + + - Properties [0] { + } + + - Methods [190] { + Method [ public method __construct ] { + + - Parameters [6] { + Parameter #0 [ $name ] + Parameter #1 [ array $seeds = ] + Parameter #2 [ $timeout = ] + Parameter #3 [ $read_timeout = ] + Parameter #4 [ $persistent = ] + Parameter #5 [ $auth = ] + } + } + + Method [ public method _masters ] { + + - Parameters [0] { + } + } + + Method [ public method _prefix ] { + + - Parameters [1] { + Parameter #0 [ $key ] + } + } + + Method [ public method _redir ] { + + - Parameters [0] { + } + } + + Method [ public method _serialize ] { + + - Parameters [1] { + Parameter #0 [ $value ] + } + } + + Method [ public method _unserialize ] { + + - Parameters [1] { + Parameter #0 [ $value ] + } + } + + Method [ public method _compress ] { + + - Parameters [1] { + Parameter #0 [ $value ] + } + } + + Method [ public method _uncompress ] { + + - Parameters [1] { + Parameter #0 [ $value ] + } + } + + Method [ public method _pack ] { + + - Parameters [1] { + Parameter #0 [ $value ] + } + } + + Method [ public method _unpack ] { + + - Parameters [1] { + Parameter #0 [ $value ] + } + } + + Method [ public method acl ] { + + - Parameters [3] { + Parameter #0 [ $key_or_address ] + Parameter #1 [ $subcmd ] + Parameter #2 [ ...$args ] + } + } + + Method [ public method append ] { + + - Parameters [2] { + Parameter #0 [ $key ] + Parameter #1 [ $value ] + } + } + + Method [ public method bgrewriteaof ] { + + - Parameters [1] { + Parameter #0 [ $key_or_address ] + } + } + + Method [ public method bgsave ] { + + - Parameters [1] { + Parameter #0 [ $key_or_address ] + } + } + + Method [ public method bitcount ] { + + - Parameters [1] { + Parameter #0 [ $key ] + } + } + + Method [ public method bitop ] { + + - Parameters [4] { + Parameter #0 [ $operation ] + Parameter #1 [ $ret_key ] + Parameter #2 [ $key ] + Parameter #3 [ ...$other_keys ] + } + } + + Method [ public method bitpos ] { + + - Parameters [4] { + Parameter #0 [ $key ] + Parameter #1 [ $bit ] + Parameter #2 [ $start = ] + Parameter #3 [ $end = ] + } + } + + Method [ public method blpop ] { + + - Parameters [3] { + Parameter #0 [ $key ] + Parameter #1 [ $timeout_or_key ] + Parameter #2 [ ...$extra_args ] + } + } + + Method [ public method brpop ] { + + - Parameters [3] { + Parameter #0 [ $key ] + Parameter #1 [ $timeout_or_key ] + Parameter #2 [ ...$extra_args ] + } + } + + Method [ public method brpoplpush ] { + + - Parameters [3] { + Parameter #0 [ $src ] + Parameter #1 [ $dst ] + Parameter #2 [ $timeout ] + } + } + + Method [ public method clearlasterror ] { + + - Parameters [0] { + } + } + + Method [ public method bzpopmax ] { + + - Parameters [3] { + Parameter #0 [ $key ] + Parameter #1 [ $timeout_or_key ] + Parameter #2 [ ...$extra_args ] + } + } + + Method [ public method bzpopmin ] { + + - Parameters [3] { + Parameter #0 [ $key ] + Parameter #1 [ $timeout_or_key ] + Parameter #2 [ ...$extra_args ] + } + } + + Method [ public method client ] { + + - Parameters [3] { + Parameter #0 [ $key_or_address ] + Parameter #1 [ $arg = ] + Parameter #2 [ ...$other_args ] + } + } + + Method [ public method close ] { + + - Parameters [0] { + } + } + + Method [ public method cluster ] { + + - Parameters [3] { + Parameter #0 [ $key_or_address ] + Parameter #1 [ $arg = ] + Parameter #2 [ ...$other_args ] + } + } + + Method [ public method command ] { + + - Parameters [1] { + Parameter #0 [ ...$args ] + } + } + + Method [ public method config ] { + + - Parameters [3] { + Parameter #0 [ $key_or_address ] + Parameter #1 [ $arg = ] + Parameter #2 [ ...$other_args ] + } + } + + Method [ public method dbsize ] { + + - Parameters [1] { + Parameter #0 [ $key_or_address ] + } + } + + Method [ public method decr ] { + + - Parameters [1] { + Parameter #0 [ $key ] + } + } + + Method [ public method decrby ] { + + - Parameters [2] { + Parameter #0 [ $key ] + Parameter #1 [ $value ] + } + } + + Method [ public method del ] { + + - Parameters [2] { + Parameter #0 [ $key ] + Parameter #1 [ ...$other_keys ] + } + } + + Method [ public method discard ] { + + - Parameters [0] { + } + } + + Method [ public method dump ] { + + - Parameters [1] { + Parameter #0 [ $key ] + } + } + + Method [ public method echo ] { + + - Parameters [1] { + Parameter #0 [ $msg ] + } + } + + Method [ public method eval ] { + + - Parameters [3] { + Parameter #0 [ $script ] + Parameter #1 [ $args = ] + Parameter #2 [ $num_keys = ] + } + } + + Method [ public method evalsha ] { + + - Parameters [3] { + Parameter #0 [ $script_sha ] + Parameter #1 [ $args = ] + Parameter #2 [ $num_keys = ] + } + } + + Method [ public method exec ] { + + - Parameters [0] { + } + } + + Method [ public method exists ] { + + - Parameters [1] { + Parameter #0 [ $key ] + } + } + + Method [ public method expire ] { + + - Parameters [2] { + Parameter #0 [ $key ] + Parameter #1 [ $timeout ] + } + } + + Method [ public method expireat ] { + + - Parameters [2] { + Parameter #0 [ $key ] + Parameter #1 [ $timestamp ] + } + } + + Method [ public method flushall ] { + + - Parameters [2] { + Parameter #0 [ $key_or_address ] + Parameter #1 [ $async = ] + } + } + + Method [ public method flushdb ] { + + - Parameters [2] { + Parameter #0 [ $key_or_address ] + Parameter #1 [ $async = ] + } + } + + Method [ public method geoadd ] { + + - Parameters [5] { + Parameter #0 [ $key ] + Parameter #1 [ $lng ] + Parameter #2 [ $lat ] + Parameter #3 [ $member ] + Parameter #4 [ ...$other_triples ] + } + } + + Method [ public method geodist ] { + + - Parameters [4] { + Parameter #0 [ $key ] + Parameter #1 [ $src ] + Parameter #2 [ $dst ] + Parameter #3 [ $unit = ] + } + } + + Method [ public method geohash ] { + + - Parameters [3] { + Parameter #0 [ $key ] + Parameter #1 [ $member ] + Parameter #2 [ ...$other_members ] + } + } + + Method [ public method geopos ] { + + - Parameters [3] { + Parameter #0 [ $key ] + Parameter #1 [ $member ] + Parameter #2 [ ...$other_members ] + } + } + + Method [ public method georadius ] { + + - Parameters [6] { + Parameter #0 [ $key ] + Parameter #1 [ $lng ] + Parameter #2 [ $lan ] + Parameter #3 [ $radius ] + Parameter #4 [ $unit ] + Parameter #5 [ array $opts = ] + } + } + + Method [ public method georadius_ro ] { + + - Parameters [6] { + Parameter #0 [ $key ] + Parameter #1 [ $lng ] + Parameter #2 [ $lan ] + Parameter #3 [ $radius ] + Parameter #4 [ $unit ] + Parameter #5 [ array $opts = ] + } + } + + Method [ public method georadiusbymember ] { + + - Parameters [5] { + Parameter #0 [ $key ] + Parameter #1 [ $member ] + Parameter #2 [ $radius ] + Parameter #3 [ $unit ] + Parameter #4 [ array $opts = ] + } + } + + Method [ public method georadiusbymember_ro ] { + + - Parameters [5] { + Parameter #0 [ $key ] + Parameter #1 [ $member ] + Parameter #2 [ $radius ] + Parameter #3 [ $unit ] + Parameter #4 [ array $opts = ] + } + } + + Method [ public method get ] { + + - Parameters [1] { + Parameter #0 [ $key ] + } + } + + Method [ public method getbit ] { + + - Parameters [2] { + Parameter #0 [ $key ] + Parameter #1 [ $offset ] + } + } + + Method [ public method getlasterror ] { + + - Parameters [0] { + } + } + + Method [ public method getmode ] { + + - Parameters [0] { + } + } + + Method [ public method getoption ] { + + - Parameters [1] { + Parameter #0 [ $option ] + } + } + + Method [ public method getrange ] { + + - Parameters [3] { + Parameter #0 [ $key ] + Parameter #1 [ $start ] + Parameter #2 [ $end ] + } + } + + Method [ public method getset ] { + + - Parameters [2] { + Parameter #0 [ $key ] + Parameter #1 [ $value ] + } + } + + Method [ public method hdel ] { + + - Parameters [3] { + Parameter #0 [ $key ] + Parameter #1 [ $member ] + Parameter #2 [ ...$other_members ] + } + } + + Method [ public method hexists ] { + + - Parameters [2] { + Parameter #0 [ $key ] + Parameter #1 [ $member ] + } + } + + Method [ public method hget ] { + + - Parameters [2] { + Parameter #0 [ $key ] + Parameter #1 [ $member ] + } + } + + Method [ public method hgetall ] { + + - Parameters [1] { + Parameter #0 [ $key ] + } + } + + Method [ public method hincrby ] { + + - Parameters [3] { + Parameter #0 [ $key ] + Parameter #1 [ $member ] + Parameter #2 [ $value ] + } + } + + Method [ public method hincrbyfloat ] { + + - Parameters [3] { + Parameter #0 [ $key ] + Parameter #1 [ $member ] + Parameter #2 [ $value ] + } + } + + Method [ public method hkeys ] { + + - Parameters [1] { + Parameter #0 [ $key ] + } + } + + Method [ public method hlen ] { + + - Parameters [1] { + Parameter #0 [ $key ] + } + } + + Method [ public method hmget ] { + + - Parameters [2] { + Parameter #0 [ $key ] + Parameter #1 [ array $keys ] + } + } + + Method [ public method hmset ] { + + - Parameters [2] { + Parameter #0 [ $key ] + Parameter #1 [ array $pairs ] + } + } + + Method [ public method hscan ] { + + - Parameters [4] { + Parameter #0 [ $str_key ] + Parameter #1 [ &$i_iterator ] + Parameter #2 [ $str_pattern = ] + Parameter #3 [ $i_count = ] + } + } + + Method [ public method hset ] { + + - Parameters [3] { + Parameter #0 [ $key ] + Parameter #1 [ $member ] + Parameter #2 [ $value ] + } + } + + Method [ public method hsetnx ] { + + - Parameters [3] { + Parameter #0 [ $key ] + Parameter #1 [ $member ] + Parameter #2 [ $value ] + } + } + + Method [ public method hstrlen ] { + + - Parameters [2] { + Parameter #0 [ $key ] + Parameter #1 [ $member ] + } + } + + Method [ public method hvals ] { + + - Parameters [1] { + Parameter #0 [ $key ] + } + } + + Method [ public method incr ] { + + - Parameters [1] { + Parameter #0 [ $key ] + } + } + + Method [ public method incrby ] { + + - Parameters [2] { + Parameter #0 [ $key ] + Parameter #1 [ $value ] + } + } + + Method [ public method incrbyfloat ] { + + - Parameters [2] { + Parameter #0 [ $key ] + Parameter #1 [ $value ] + } + } + + Method [ public method info ] { + + - Parameters [2] { + Parameter #0 [ $key_or_address ] + Parameter #1 [ $option = ] + } + } + + Method [ public method keys ] { + + - Parameters [1] { + Parameter #0 [ $pattern ] + } + } + + Method [ public method lastsave ] { + + - Parameters [1] { + Parameter #0 [ $key_or_address ] + } + } + + Method [ public method lget ] { + + - Parameters [2] { + Parameter #0 [ $key ] + Parameter #1 [ $index ] + } + } + + Method [ public method lindex ] { + + - Parameters [2] { + Parameter #0 [ $key ] + Parameter #1 [ $index ] + } + } + + Method [ public method linsert ] { + + - Parameters [4] { + Parameter #0 [ $key ] + Parameter #1 [ $position ] + Parameter #2 [ $pivot ] + Parameter #3 [ $value ] + } + } + + Method [ public method llen ] { + + - Parameters [1] { + Parameter #0 [ $key ] + } + } + + Method [ public method lpop ] { + + - Parameters [1] { + Parameter #0 [ $key ] + } + } + + Method [ public method lpush ] { + + - Parameters [2] { + Parameter #0 [ $key ] + Parameter #1 [ $value ] + } + } + + Method [ public method lpushx ] { + + - Parameters [2] { + Parameter #0 [ $key ] + Parameter #1 [ $value ] + } + } + + Method [ public method lrange ] { + + - Parameters [3] { + Parameter #0 [ $key ] + Parameter #1 [ $start ] + Parameter #2 [ $end ] + } + } + + Method [ public method lrem ] { + + - Parameters [2] { + Parameter #0 [ $key ] + Parameter #1 [ $value ] + } + } + + Method [ public method lset ] { + + - Parameters [3] { + Parameter #0 [ $key ] + Parameter #1 [ $index ] + Parameter #2 [ $value ] + } + } + + Method [ public method ltrim ] { + + - Parameters [3] { + Parameter #0 [ $key ] + Parameter #1 [ $start ] + Parameter #2 [ $stop ] + } + } + + Method [ public method mget ] { + + - Parameters [1] { + Parameter #0 [ array $keys ] + } + } + + Method [ public method mset ] { + + - Parameters [1] { + Parameter #0 [ array $pairs ] + } + } + + Method [ public method msetnx ] { + + - Parameters [1] { + Parameter #0 [ array $pairs ] + } + } + + Method [ public method multi ] { + + - Parameters [0] { + } + } + + Method [ public method object ] { + + - Parameters [2] { + Parameter #0 [ $field ] + Parameter #1 [ $key ] + } + } + + Method [ public method persist ] { + + - Parameters [1] { + Parameter #0 [ $key ] + } + } + + Method [ public method pexpire ] { + + - Parameters [2] { + Parameter #0 [ $key ] + Parameter #1 [ $timestamp ] + } + } + + Method [ public method pexpireat ] { + + - Parameters [2] { + Parameter #0 [ $key ] + Parameter #1 [ $timestamp ] + } + } + + Method [ public method pfadd ] { + + - Parameters [2] { + Parameter #0 [ $key ] + Parameter #1 [ array $elements ] + } + } + + Method [ public method pfcount ] { + + - Parameters [1] { + Parameter #0 [ $key ] + } + } + + Method [ public method pfmerge ] { + + - Parameters [2] { + Parameter #0 [ $dstkey ] + Parameter #1 [ array $keys ] + } + } + + Method [ public method ping ] { + + - Parameters [1] { + Parameter #0 [ $key_or_address ] + } + } + + Method [ public method psetex ] { + + - Parameters [3] { + Parameter #0 [ $key ] + Parameter #1 [ $expire ] + Parameter #2 [ $value ] + } + } + + Method [ public method psubscribe ] { + + - Parameters [2] { + Parameter #0 [ array $patterns ] + Parameter #1 [ $callback ] + } + } + + Method [ public method pttl ] { + + - Parameters [1] { + Parameter #0 [ $key ] + } + } + + Method [ public method publish ] { + + - Parameters [2] { + Parameter #0 [ $channel ] + Parameter #1 [ $message ] + } + } + + Method [ public method pubsub ] { + + - Parameters [3] { + Parameter #0 [ $key_or_address ] + Parameter #1 [ $arg = ] + Parameter #2 [ ...$other_args ] + } + } + + Method [ public method punsubscribe ] { + + - Parameters [2] { + Parameter #0 [ $pattern ] + Parameter #1 [ ...$other_patterns ] + } + } + + Method [ public method randomkey ] { + + - Parameters [1] { + Parameter #0 [ $key_or_address ] + } + } + + Method [ public method rawcommand ] { + + - Parameters [2] { + Parameter #0 [ $cmd ] + Parameter #1 [ ...$args ] + } + } + + Method [ public method rename ] { + + - Parameters [2] { + Parameter #0 [ $key ] + Parameter #1 [ $newkey ] + } + } + + Method [ public method renamenx ] { + + - Parameters [2] { + Parameter #0 [ $key ] + Parameter #1 [ $newkey ] + } + } + + Method [ public method restore ] { + + - Parameters [3] { + Parameter #0 [ $ttl ] + Parameter #1 [ $key ] + Parameter #2 [ $value ] + } + } + + Method [ public method role ] { + + - Parameters [0] { + } + } + + Method [ public method rpop ] { + + - Parameters [1] { + Parameter #0 [ $key ] + } + } + + Method [ public method rpoplpush ] { + + - Parameters [2] { + Parameter #0 [ $src ] + Parameter #1 [ $dst ] + } + } + + Method [ public method rpush ] { + + - Parameters [2] { + Parameter #0 [ $key ] + Parameter #1 [ $value ] + } + } + + Method [ public method rpushx ] { + + - Parameters [2] { + Parameter #0 [ $key ] + Parameter #1 [ $value ] + } + } + + Method [ public method sadd ] { + + - Parameters [2] { + Parameter #0 [ $key ] + Parameter #1 [ $value ] + } + } + + Method [ public method saddarray ] { + + - Parameters [2] { + Parameter #0 [ $key ] + Parameter #1 [ array $options ] + } + } + + Method [ public method save ] { + + - Parameters [1] { + Parameter #0 [ $key_or_address ] + } + } + + Method [ public method scan ] { + + - Parameters [4] { + Parameter #0 [ &$i_iterator ] + Parameter #1 [ $str_node ] + Parameter #2 [ $str_pattern = ] + Parameter #3 [ $i_count = ] + } + } + + Method [ public method scard ] { + + - Parameters [1] { + Parameter #0 [ $key ] + } + } + + Method [ public method script ] { + + - Parameters [3] { + Parameter #0 [ $key_or_address ] + Parameter #1 [ $arg = ] + Parameter #2 [ ...$other_args ] + } + } + + Method [ public method sdiff ] { + + - Parameters [2] { + Parameter #0 [ $key ] + Parameter #1 [ ...$other_keys ] + } + } + + Method [ public method sdiffstore ] { + + - Parameters [3] { + Parameter #0 [ $dst ] + Parameter #1 [ $key ] + Parameter #2 [ ...$other_keys ] + } + } + + Method [ public method set ] { + + - Parameters [3] { + Parameter #0 [ $key ] + Parameter #1 [ $value ] + Parameter #2 [ $opts = ] + } + } + + Method [ public method setbit ] { + + - Parameters [3] { + Parameter #0 [ $key ] + Parameter #1 [ $offset ] + Parameter #2 [ $value ] + } + } + + Method [ public method setex ] { + + - Parameters [3] { + Parameter #0 [ $key ] + Parameter #1 [ $expire ] + Parameter #2 [ $value ] + } + } + + Method [ public method setnx ] { + + - Parameters [2] { + Parameter #0 [ $key ] + Parameter #1 [ $value ] + } + } + + Method [ public method setoption ] { + + - Parameters [2] { + Parameter #0 [ $option ] + Parameter #1 [ $value ] + } + } + + Method [ public method setrange ] { + + - Parameters [3] { + Parameter #0 [ $key ] + Parameter #1 [ $offset ] + Parameter #2 [ $value ] + } + } + + Method [ public method sinter ] { + + - Parameters [2] { + Parameter #0 [ $key ] + Parameter #1 [ ...$other_keys ] + } + } + + Method [ public method sinterstore ] { + + - Parameters [3] { + Parameter #0 [ $dst ] + Parameter #1 [ $key ] + Parameter #2 [ ...$other_keys ] + } + } + + Method [ public method sismember ] { + + - Parameters [2] { + Parameter #0 [ $key ] + Parameter #1 [ $value ] + } + } + + Method [ public method slowlog ] { + + - Parameters [3] { + Parameter #0 [ $key_or_address ] + Parameter #1 [ $arg = ] + Parameter #2 [ ...$other_args ] + } + } + + Method [ public method smembers ] { + + - Parameters [1] { + Parameter #0 [ $key ] + } + } + + Method [ public method smove ] { + + - Parameters [3] { + Parameter #0 [ $src ] + Parameter #1 [ $dst ] + Parameter #2 [ $value ] + } + } + + Method [ public method sort ] { + + - Parameters [2] { + Parameter #0 [ $key ] + Parameter #1 [ array $options = ] + } + } + + Method [ public method spop ] { + + - Parameters [1] { + Parameter #0 [ $key ] + } + } + + Method [ public method srandmember ] { + + - Parameters [2] { + Parameter #0 [ $key ] + Parameter #1 [ $count = ] + } + } + + Method [ public method srem ] { + + - Parameters [2] { + Parameter #0 [ $key ] + Parameter #1 [ $value ] + } + } + + Method [ public method sscan ] { + + - Parameters [4] { + Parameter #0 [ $str_key ] + Parameter #1 [ &$i_iterator ] + Parameter #2 [ $str_pattern = ] + Parameter #3 [ $i_count = ] + } + } + + Method [ public method strlen ] { + + - Parameters [1] { + Parameter #0 [ $key ] + } + } + + Method [ public method subscribe ] { + + - Parameters [2] { + Parameter #0 [ array $channels ] + Parameter #1 [ $callback ] + } + } + + Method [ public method sunion ] { + + - Parameters [2] { + Parameter #0 [ $key ] + Parameter #1 [ ...$other_keys ] + } + } + + Method [ public method sunionstore ] { + + - Parameters [3] { + Parameter #0 [ $dst ] + Parameter #1 [ $key ] + Parameter #2 [ ...$other_keys ] + } + } + + Method [ public method time ] { + + - Parameters [0] { + } + } + + Method [ public method ttl ] { + + - Parameters [1] { + Parameter #0 [ $key ] + } + } + + Method [ public method type ] { + + - Parameters [1] { + Parameter #0 [ $key ] + } + } + + Method [ public method unsubscribe ] { + + - Parameters [2] { + Parameter #0 [ $channel ] + Parameter #1 [ ...$other_channels ] + } + } + + Method [ public method unlink ] { + + - Parameters [2] { + Parameter #0 [ $key ] + Parameter #1 [ ...$other_keys ] + } + } + + Method [ public method unwatch ] { + + - Parameters [0] { + } + } + + Method [ public method watch ] { + + - Parameters [2] { + Parameter #0 [ $key ] + Parameter #1 [ ...$other_keys ] + } + } + + Method [ public method xack ] { + + - Parameters [3] { + Parameter #0 [ $str_key ] + Parameter #1 [ $str_group ] + Parameter #2 [ array $arr_ids ] + } + } + + Method [ public method xadd ] { + + - Parameters [5] { + Parameter #0 [ $str_key ] + Parameter #1 [ $str_id ] + Parameter #2 [ array $arr_fields ] + Parameter #3 [ $i_maxlen = ] + Parameter #4 [ $boo_approximate = ] + } + } + + Method [ public method xclaim ] { + + - Parameters [6] { + Parameter #0 [ $str_key ] + Parameter #1 [ $str_group ] + Parameter #2 [ $str_consumer ] + Parameter #3 [ $i_min_idle ] + Parameter #4 [ array $arr_ids ] + Parameter #5 [ array $arr_opts = ] + } + } + + Method [ public method xdel ] { + + - Parameters [2] { + Parameter #0 [ $str_key ] + Parameter #1 [ array $arr_ids ] + } + } + + Method [ public method xgroup ] { + + - Parameters [5] { + Parameter #0 [ $str_operation ] + Parameter #1 [ $str_key = ] + Parameter #2 [ $str_arg1 = ] + Parameter #3 [ $str_arg2 = ] + Parameter #4 [ $str_arg3 = ] + } + } + + Method [ public method xinfo ] { + + - Parameters [3] { + Parameter #0 [ $str_cmd ] + Parameter #1 [ $str_key = ] + Parameter #2 [ $str_group = ] + } + } + + Method [ public method xlen ] { + + - Parameters [1] { + Parameter #0 [ $key ] + } + } + + Method [ public method xpending ] { + + - Parameters [6] { + Parameter #0 [ $str_key ] + Parameter #1 [ $str_group ] + Parameter #2 [ $str_start = ] + Parameter #3 [ $str_end = ] + Parameter #4 [ $i_count = ] + Parameter #5 [ $str_consumer = ] + } + } + + Method [ public method xrange ] { + + - Parameters [4] { + Parameter #0 [ $str_key ] + Parameter #1 [ $str_start ] + Parameter #2 [ $str_end ] + Parameter #3 [ $i_count = ] + } + } + + Method [ public method xread ] { + + - Parameters [3] { + Parameter #0 [ array $arr_streams ] + Parameter #1 [ $i_count = ] + Parameter #2 [ $i_block = ] + } + } + + Method [ public method xreadgroup ] { + + - Parameters [5] { + Parameter #0 [ $str_group ] + Parameter #1 [ $str_consumer ] + Parameter #2 [ array $arr_streams ] + Parameter #3 [ $i_count = ] + Parameter #4 [ $i_block = ] + } + } + + Method [ public method xrevrange ] { + + - Parameters [4] { + Parameter #0 [ $str_key ] + Parameter #1 [ $str_start ] + Parameter #2 [ $str_end ] + Parameter #3 [ $i_count = ] + } + } + + Method [ public method xtrim ] { + + - Parameters [3] { + Parameter #0 [ $str_key ] + Parameter #1 [ $i_maxlen ] + Parameter #2 [ $boo_approximate = ] + } + } + + Method [ public method zadd ] { + + - Parameters [4] { + Parameter #0 [ $key ] + Parameter #1 [ $score ] + Parameter #2 [ $value ] + Parameter #3 [ ...$extra_args ] + } + } + + Method [ public method zcard ] { + + - Parameters [1] { + Parameter #0 [ $key ] + } + } + + Method [ public method zcount ] { + + - Parameters [3] { + Parameter #0 [ $key ] + Parameter #1 [ $min ] + Parameter #2 [ $max ] + } + } + + Method [ public method zincrby ] { + + - Parameters [3] { + Parameter #0 [ $key ] + Parameter #1 [ $value ] + Parameter #2 [ $member ] + } + } + + Method [ public method zinterstore ] { + + - Parameters [4] { + Parameter #0 [ $key ] + Parameter #1 [ array $keys ] + Parameter #2 [ ?array $weights = ] + Parameter #3 [ $aggregate = ] + } + } + + Method [ public method zlexcount ] { + + - Parameters [3] { + Parameter #0 [ $key ] + Parameter #1 [ $min ] + Parameter #2 [ $max ] + } + } + + Method [ public method zpopmax ] { + + - Parameters [1] { + Parameter #0 [ $key ] + } + } + + Method [ public method zpopmin ] { + + - Parameters [1] { + Parameter #0 [ $key ] + } + } + + Method [ public method zrange ] { + + - Parameters [4] { + Parameter #0 [ $key ] + Parameter #1 [ $start ] + Parameter #2 [ $end ] + Parameter #3 [ $scores = ] + } + } + + Method [ public method zrangebylex ] { + + - Parameters [5] { + Parameter #0 [ $key ] + Parameter #1 [ $min ] + Parameter #2 [ $max ] + Parameter #3 [ $offset = ] + Parameter #4 [ $limit = ] + } + } + + Method [ public method zrangebyscore ] { + + - Parameters [4] { + Parameter #0 [ $key ] + Parameter #1 [ $start ] + Parameter #2 [ $end ] + Parameter #3 [ array $options = ] + } + } + + Method [ public method zrank ] { + + - Parameters [2] { + Parameter #0 [ $key ] + Parameter #1 [ $member ] + } + } + + Method [ public method zrem ] { + + - Parameters [3] { + Parameter #0 [ $key ] + Parameter #1 [ $member ] + Parameter #2 [ ...$other_members ] + } + } + + Method [ public method zremrangebylex ] { + + - Parameters [3] { + Parameter #0 [ $key ] + Parameter #1 [ $min ] + Parameter #2 [ $max ] + } + } + + Method [ public method zremrangebyrank ] { + + - Parameters [3] { + Parameter #0 [ $key ] + Parameter #1 [ $min ] + Parameter #2 [ $max ] + } + } + + Method [ public method zremrangebyscore ] { + + - Parameters [3] { + Parameter #0 [ $key ] + Parameter #1 [ $min ] + Parameter #2 [ $max ] + } + } + + Method [ public method zrevrange ] { + + - Parameters [4] { + Parameter #0 [ $key ] + Parameter #1 [ $start ] + Parameter #2 [ $end ] + Parameter #3 [ $scores = ] + } + } + + Method [ public method zrevrangebylex ] { + + - Parameters [5] { + Parameter #0 [ $key ] + Parameter #1 [ $min ] + Parameter #2 [ $max ] + Parameter #3 [ $offset = ] + Parameter #4 [ $limit = ] + } + } + + Method [ public method zrevrangebyscore ] { + + - Parameters [4] { + Parameter #0 [ $key ] + Parameter #1 [ $start ] + Parameter #2 [ $end ] + Parameter #3 [ array $options = ] + } + } + + Method [ public method zrevrank ] { + + - Parameters [2] { + Parameter #0 [ $key ] + Parameter #1 [ $member ] + } + } + + Method [ public method zscan ] { + + - Parameters [4] { + Parameter #0 [ $str_key ] + Parameter #1 [ &$i_iterator ] + Parameter #2 [ $str_pattern = ] + Parameter #3 [ $i_count = ] + } + } + + Method [ public method zscore ] { + + - Parameters [2] { + Parameter #0 [ $key ] + Parameter #1 [ $member ] + } + } + + Method [ public method zunionstore ] { + + - Parameters [4] { + Parameter #0 [ $key ] + Parameter #1 [ array $keys ] + Parameter #2 [ ?array $weights = ] + Parameter #3 [ $aggregate = ] + } + } + } + } + + Class [ class RedisSentinel ] { + + - Constants [0] { + } + + - Static properties [0] { + } + + - Static methods [0] { + } + + - Properties [0] { + } + + - Methods [11] { + Method [ public method __construct ] { + + - Parameters [6] { + Parameter #0 [ $host ] + Parameter #1 [ $port = ] + Parameter #2 [ $timeout = ] + Parameter #3 [ $persistent = ] + Parameter #4 [ $retry_interval = ] + Parameter #5 [ $read_timeout = ] + } + } + + Method [ public method ckquorum ] { + + - Parameters [1] { + Parameter #0 [ $value ] + } + } + + Method [ public method failover ] { + + - Parameters [1] { + Parameter #0 [ $value ] + } + } + + Method [ public method flushconfig ] { + + - Parameters [0] { + } + } + + Method [ public method getMasterAddrByName ] { + + - Parameters [1] { + Parameter #0 [ $value ] + } + } + + Method [ public method master ] { + + - Parameters [1] { + Parameter #0 [ $value ] + } + } + + Method [ public method masters ] { + + - Parameters [0] { + } + } + + Method [ public method ping ] { + + - Parameters [0] { + } + } + + Method [ public method reset ] { + + - Parameters [1] { + Parameter #0 [ $value ] + } + } + + Method [ public method sentinels ] { + + - Parameters [1] { + Parameter #0 [ $value ] + } + } + + Method [ public method slaves ] { + + - Parameters [1] { + Parameter #0 [ $value ] + } + } + } + } + + Class [ class RedisException extends Exception implements Throwable, Stringable ] { + + - Constants [0] { + } + + - Static properties [0] { + } + + - Static methods [0] { + } + + - Properties [4] { + Property [ protected $message = '' ] + Property [ protected $code = 0 ] + Property [ protected $file = NULL ] + Property [ protected $line = NULL ] + } + + - Methods [10] { + Method [ public method __construct ] { + + - Parameters [3] { + Parameter #0 [ string $message = "" ] + Parameter #1 [ int $code = 0 ] + Parameter #2 [ ?Throwable $previous = null ] + } + } + + Method [ public method __wakeup ] { + + - Parameters [0] { + } + } + + Method [ final public method getMessage ] { + + - Parameters [0] { + } + - Return [ string ] + } + + Method [ final public method getCode ] { + + - Parameters [0] { + } + } + + Method [ final public method getFile ] { + + - Parameters [0] { + } + - Return [ string ] + } + + Method [ final public method getLine ] { + + - Parameters [0] { + } + - Return [ int ] + } + + Method [ final public method getTrace ] { + + - Parameters [0] { + } + - Return [ array ] + } + + Method [ final public method getPrevious ] { + + - Parameters [0] { + } + - Return [ ?Throwable ] + } + + Method [ final public method getTraceAsString ] { + + - Parameters [0] { + } + - Return [ string ] + } + + Method [ public method __toString ] { + + - Parameters [0] { + } + - Return [ string ] + } + } + } + + Class [ class RedisClusterException extends Exception implements Throwable, Stringable ] { + + - Constants [0] { + } + + - Static properties [0] { + } + + - Static methods [0] { + } + + - Properties [4] { + Property [ protected $message = '' ] + Property [ protected $code = 0 ] + Property [ protected $file = NULL ] + Property [ protected $line = NULL ] + } + + - Methods [10] { + Method [ public method __construct ] { + + - Parameters [3] { + Parameter #0 [ string $message = "" ] + Parameter #1 [ int $code = 0 ] + Parameter #2 [ ?Throwable $previous = null ] + } + } + + Method [ public method __wakeup ] { + + - Parameters [0] { + } + } + + Method [ final public method getMessage ] { + + - Parameters [0] { + } + - Return [ string ] + } + + Method [ final public method getCode ] { + + - Parameters [0] { + } + } + + Method [ final public method getFile ] { + + - Parameters [0] { + } + - Return [ string ] + } + + Method [ final public method getLine ] { + + - Parameters [0] { + } + - Return [ int ] + } + + Method [ final public method getTrace ] { + + - Parameters [0] { + } + - Return [ array ] + } + + Method [ final public method getPrevious ] { + + - Parameters [0] { + } + - Return [ ?Throwable ] + } + + Method [ final public method getTraceAsString ] { + + - Parameters [0] { + } + - Return [ string ] + } + + Method [ public method __toString ] { + + - Parameters [0] { + } + - Return [ string ] + } + } + } + } +} + diff --git a/php-pecl-redis5.spec b/php-pecl-redis5.spec new file mode 100644 index 0000000..de359c4 --- /dev/null +++ b/php-pecl-redis5.spec @@ -0,0 +1,769 @@ +# remirepo spec file for php-pecl-redis5 +# +# Copyright (c) 2012-2023 Remi Collet +# License: CC-BY-SA-4.0 +# http://creativecommons.org/licenses/by-sa/4.0/ +# +# Please, preserve the changelog entries +# + +# we don't want -z defs linker flag +%undefine _strict_symbol_defs_build + +%if 0%{?scl:1} +%scl_package php-pecl-redis +%else +%global _root_bindir %{_bindir} +%endif + +%global pecl_name redis +%global with_zts 0%{!?_without_zts:%{?__ztsphp:1}} +%bcond_without tests +%bcond_without igbinary +%bcond_without msgpack +# after 20-json, 40-igbinary and 40-msgpack +%global ini_name 50-%{pecl_name}.ini + +%global upstream_version 5.3.7 +#global upstream_prever RC2 +%global sources %{pecl_name}-%{upstream_version}%{?upstream_prever} +%global _configure ../%{sources}/configure + +Summary: Extension for communicating with the Redis key-value store +Name: %{?scl_prefix}php-pecl-redis5 +Version: %{upstream_version}%{?upstream_prever:~%{upstream_prever}} +Release: 4%{?dist}%{!?scl:%{!?nophptag:%(%{__php} -r 'echo ".".PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')}} +License: PHP-3.01 +URL: https://pecl.php.net/package/redis +Source0: https://pecl.php.net/get/%{pecl_name}-%{upstream_version}%{?upstream_prever}.tgz + +Patch0: %{pecl_name}-tests.patch + +BuildRequires: make +BuildRequires: %{?dtsprefix}gcc +BuildRequires: %{?scl_prefix}php-devel >= 7.0 +BuildRequires: %{?scl_prefix}php-pear +BuildRequires: %{?scl_prefix}php-json +%if %{with igbinary} +BuildRequires: %{?scl_prefix}php-pecl-igbinary-devel +%endif +%if %{with msgpack} +BuildRequires: %{?scl_prefix}php-pecl-msgpack-devel >= 2.0.3 +%endif +BuildRequires: pkgconfig(liblzf) +BuildRequires: pkgconfig(libzstd) >= 1.3.0 +BuildRequires: pkgconfig(liblz4) +# to run Test suite +%if %{with tests} +BuildRequires: redis >= 6 +%endif + +Requires: %{?scl_prefix}php(zend-abi) = %{php_zend_api} +Requires: %{?scl_prefix}php(api) = %{php_core_api} +Requires: %{?scl_prefix}php-json%{?_isa} +%if %{with igbinary} +Requires: %{?scl_prefix}php-igbinary%{?_isa} +%endif +%if %{with msgpack} +Requires: %{?scl_prefix}php-msgpack%{?_isa} +%endif + +Obsoletes: %{?scl_prefix}php-%{pecl_name} < 3 +Provides: %{?scl_prefix}php-%{pecl_name} = %{version} +Provides: %{?scl_prefix}php-%{pecl_name}%{?_isa} = %{version} +Provides: %{?scl_prefix}php-pecl(%{pecl_name}) = %{version} +Provides: %{?scl_prefix}php-pecl(%{pecl_name})%{?_isa} = %{version} + +%if 0%{?fedora} >= 31 || 0%{?rhel} >= 9 || "%{php_version}" > "7.4" +Obsoletes: %{?scl_prefix}php-pecl-%{pecl_name} < 5 +Provides: %{?scl_prefix}php-pecl-%{pecl_name} = %{version}-%{release} +Provides: %{?scl_prefix}php-pecl-%{pecl_name}%{?_isa} = %{version}-%{release} +Obsoletes: %{?scl_prefix}php-pecl-%{pecl_name}4 < 5 +Provides: %{?scl_prefix}php-pecl-%{pecl_name}4 = %{version}-%{release} +Provides: %{?scl_prefix}php-pecl-%{pecl_name}4%{?_isa} = %{version}-%{release} +%else +# A single version can be installed +Conflicts: %{?scl_prefix}php-pecl-%{pecl_name} < 5 +Conflicts: %{?scl_prefix}php-pecl-%{pecl_name}4 < 5 +%endif + +%if "%{?packager}" == "Remi Collet" && 0%{!?scl:1} && 0%{?rhel} == 7 +# Other third party repo stuff +%if "%{php_version}" > "7.1" +Obsoletes: php71u-pecl-%{pecl_name} <= %{version} +Obsoletes: php71w-pecl-%{pecl_name} <= %{version} +%endif +%if "%{php_version}" > "7.2" +Obsoletes: php72u-pecl-%{pecl_name} <= %{version} +Obsoletes: php72w-pecl-%{pecl_name} <= %{version} +%endif +%if "%{php_version}" > "7.3" +Obsoletes: php73-pecl-%{pecl_name} <= %{version} +Obsoletes: php73w-pecl-%{pecl_name} <= %{version} +%endif +%if "%{php_version}" > "7.4" +Obsoletes: php74-pecl-%{pecl_name} <= %{version} +%endif +%endif + + +%description +The phpredis extension provides an API for communicating +with the Redis key-value store. + +This Redis client implements most of the latest Redis API. +As method only only works when also implemented on the server side, +some doesn't work with an old redis server version. + +Package built for PHP %(%{__php} -r 'echo PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')%{?scl: as Software Collection (%{scl} by %{?scl_vendor}%{!?scl_vendor:rh})}. + + +%prep +%setup -q -c + +# Don't install/register tests, license, and bundled library +sed -e 's/role="test"/role="src"/' \ + %{?_licensedir:-e '/COPYING/s/role="doc"/role="src"/' } \ + -e '/liblzf/d' \ + -i package.xml + +cd %{sources} +%patch -P0 -p1 -b.pr2335 + +# Use system library +rm -r liblzf + +# Sanity check, really often broken +extver=$(sed -n '/#define PHP_REDIS_VERSION/{s/.* "//;s/".*$//;p}' php_redis.h) +if test "x${extver}" != "x%{upstream_version}%{?upstream_prever}"; then + : Error: Upstream extension version is ${extver}, expecting %{upstream_version}%{?upstream_prever}. + exit 1 +fi +cd .. + +mkdir NTS +%if %{with_zts} +mkdir ZTS +%endif + +# Drop in the bit of configuration +cat > %{ini_name} << 'EOF' +; Enable %{pecl_name} extension module +extension = %{pecl_name}.so + +; phpredis can be used to store PHP sessions. +; To do this, uncomment and configure below + +; RPM note : save_handler and save_path are defined +; for mod_php, in /etc/httpd/conf.d/php.conf +; for php-fpm, in %{_sysconfdir}/php-fpm.d/*conf + +;session.save_handler = %{pecl_name} +;session.save_path = "tcp://host1:6379?weight=1, tcp://host2:6379?weight=2&timeout=2.5, tcp://host3:6379?weight=2" + +; Configuration +;redis.arrays.algorithm = '' +;redis.arrays.auth = '' +;redis.arrays.autorehash = 0 +;redis.arrays.connecttimeout = 0 +;redis.arrays.consistent = 0 +;redis.arrays.distributor = '' +;redis.arrays.functions = '' +;redis.arrays.hosts = '' +;redis.arrays.index = 0 +;redis.arrays.lazyconnect = 0 +;redis.arrays.names = '' +;redis.arrays.pconnect = 0 +;redis.arrays.previous = '' +;redis.arrays.readtimeout = 0 +;redis.arrays.retryinterval = 0 +;redis.clusters.auth = 0 +;redis.clusters.cache_slots = 0 +;redis.clusters.persistent = 0 +;redis.clusters.read_timeout = 0 +;redis.clusters.seeds = '' +;redis.clusters.timeout = 0 +;redis.pconnect.pooling_enabled = 1 +;redis.pconnect.connection_limit = 0 +;redis.pconnect.echo_check_liveness = 1 +;redis.pconnect.pool_detect_dirty = 0 +;redis.pconnect.pool_poll_timeout = 0 +;redis.pconnect.pool_pattern => '' +;redis.session.lock_expire = 0 +;redis.session.lock_retries = 10 +;redis.session.lock_wait_time = 2000 +;redis.session.locking_enabled = 0 +EOF + + +%build +%{?dtsenable} + +peclconf() { +%configure \ + --enable-redis \ + --enable-redis-session \ +%if %{with igbinary} + --enable-redis-igbinary \ +%endif +%if %{with msgpack} + --enable-redis-msgpack \ +%endif + --enable-redis-lzf \ + --with-liblzf \ + --enable-redis-zstd \ + --with-libzstd \ + --enable-redis-lz4 \ + --with-liblz4 \ + --with-php-config=$1 +} + +cd %{sources} +%{__phpize} + +cd ../NTS +peclconf %{__phpconfig} +make %{?_smp_mflags} + +%if %{with_zts} +cd ../ZTS +peclconf %{__ztsphpconfig} +make %{?_smp_mflags} +%endif + + +%install +%{?dtsenable} + +# Install the NTS stuff +make -C NTS install INSTALL_ROOT=%{buildroot} +install -D -m 644 %{ini_name} %{buildroot}%{php_inidir}/%{ini_name} + +%if %{with_zts} +# Install the ZTS stuff +make -C ZTS install INSTALL_ROOT=%{buildroot} +install -D -m 644 %{ini_name} %{buildroot}%{php_ztsinidir}/%{ini_name} +%endif + +# Install the package XML file +install -D -m 644 package.xml %{buildroot}%{pecl_xmldir}/%{name}.xml + +# Documentation +cd %{sources} +for i in $(grep 'role="doc"' ../package.xml | sed -e 's/^.*name="//;s/".*$//') +do install -Dpm 644 $i %{buildroot}%{pecl_docdir}/%{pecl_name}/$i +done + + +%check +# simple module load test +DEPS="--no-php-ini" +%if "%{php_version}" < "8.0" +DEPS="$DEPS --define extension=json.so" +%endif +%if %{with igbinary} +DEPS="$DEPS --define extension=igbinary.so" +%endif +%if %{with msgpack} +DEPS="$DEPS --define extension=msgpack.so" +%endif + +%{__php} $DEPS \ + --define extension=%{buildroot}%{php_extdir}/%{pecl_name}.so \ + --modules | grep '^%{pecl_name}$' + +%if %{with_zts} +%{__ztsphp} $DEPS \ + --define extension=%{buildroot}%{php_ztsextdir}/%{pecl_name}.so \ + --modules | grep '^%{pecl_name}$' +%endif + +%if %{with tests} +cd %{sources}/tests + +: Launch redis server +mkdir -p data +pidfile=$PWD/redis.pid +port=$(%{__php} -r 'echo 9000 + PHP_MAJOR_VERSION*100 + PHP_MINOR_VERSION*10 + PHP_INT_SIZE + 0%{?scl:1};') +%{_root_bindir}/redis-server \ + --bind 127.0.0.1 \ + --port $port \ + --daemonize yes \ + --logfile $PWD/redis.log \ + --dir $PWD/data \ + --pidfile $pidfile + + +: Run the test Suite +sed -e "s/6379/$port/" -i *.php + +ret=0 +export TEST_PHP_EXECUTABLE=%{__php} +export TEST_PHP_ARGS="$DEPS \ + --define extension=%{buildroot}%{php_extdir}/%{pecl_name}.so" +$TEST_PHP_EXECUTABLE $TEST_PHP_ARGS TestRedis.php || ret=1 + +: Cleanup +if [ -f $pidfile ]; then + %{_root_bindir}/redis-cli -p $port shutdown nosave + sleep 2 +fi +cat $PWD/redis.log + +exit $ret +%else +: Upstream test suite disabled +%endif + + +%if 0%{?fedora} < 24 && 0%{?rhel} < 8 +# when pear installed alone, after us +%triggerin -- %{?scl_prefix}php-pear +if [ -x %{__pecl} ] ; then + %{pecl_install} %{pecl_xmldir}/%{name}.xml >/dev/null || : +fi + +# posttrans as pear can be installed after us +%posttrans +if [ -x %{__pecl} ] ; then + %{pecl_install} %{pecl_xmldir}/%{name}.xml >/dev/null || : +fi + +%postun +if [ $1 -eq 0 -a -x %{__pecl} ] ; then + %{pecl_uninstall} %{pecl_name} >/dev/null || : +fi +%endif + + +%files +%{?_licensedir:%license %{sources}/COPYING} +%doc %{pecl_docdir}/%{pecl_name} +%{pecl_xmldir}/%{name}.xml + +%{php_extdir}/%{pecl_name}.so +%config(noreplace) %{php_inidir}/%{ini_name} + +%if %{with_zts} +%{php_ztsextdir}/%{pecl_name}.so +%config(noreplace) %{php_ztsinidir}/%{ini_name} +%endif + + +%changelog +* Wed Jul 12 2023 Remi Collet - 5.3.7-4 +- build out of sources tree + +* Thu Mar 23 2023 Remi Collet - 5.3.7-3 +- add patch for test suite with redis 7.2 from + https://github.com/phpredis/phpredis/pull/2335 + +* Fri Sep 9 2022 Remi Collet - 5.3.7-2 +- rebuild for PHP 8.2 with msgpack and igbinary + +* Wed Feb 16 2022 Remi Collet - 5.3.7-1 +- update to 5.3.7 + +* Mon Feb 14 2022 Remi Collet - 5.3.7~RC2-1 +- update to 5.3.7RC2 (beta, no change) + +* Wed Feb 2 2022 Remi Collet - 5.3.7~RC1-1 +- update to 5.3.7RC1 (alpha) + +* Tue Jan 18 2022 Remi Collet - 5.3.6-1 +- update to 5.3.6 + +* Mon Dec 20 2021 Remi Collet - 5.3.5-1 +- update to 5.3.5 + +* Wed Dec 8 2021 Remi Collet - 5.3.5-0 +- test build for upcoming 5.3.5 + +* Wed Nov 17 2021 Remi Collet - 5.3.5~RC1-1 +- update to 5.3.5RC1 + +* Wed Sep 01 2021 Remi Collet - 5.3.4-2 +- rebuild for 8.1.0RC1 + +* Thu Mar 25 2021 Remi Collet - 5.3.4-1 +- update to 5.3.4 + +* Wed Feb 3 2021 Remi Collet - 5.3.3-1 +- update to 5.3.3 + +* Thu Oct 22 2020 Remi Collet - 5.3.2-1 +- update to 5.3.2 + +* Wed Oct 14 2020 Remi Collet - 5.3.2~RC2-1 +- update to 5.3.2RC2 + +* Wed Oct 7 2020 Remi Collet - 5.3.2~RC1-1 +- update to 5.3.2RC1 +- drop patch merged upstream + +* Wed Sep 30 2020 Remi Collet - 5.3.1-4 +- rebuild for PHP 8.0.0RC1 + +* Wed Sep 23 2020 Remi Collet - 5.3.1-3 +- enable msgpack serializer with PHP 8 + +* Fri Sep 11 2020 Remi Collet - 5.3.1-2 +- add patches for PHP 8 from upstream and + https://github.com/phpredis/phpredis/pull/1845 +- disable msgpack serializer with PHP 8 + +* Wed Jul 8 2020 Remi Collet - 5.3.1-1 +- update to 5.3.1 + +* Wed Jul 1 2020 Remi Collet - 5.3.0-1 +- update to 5.3.0 + +* Sat Jun 27 2020 Remi Collet - 5.3.0~RC2-1 +- update to 5.3.0RC2 +- drop patch merged upstream + +* Fri Jun 26 2020 Remi Collet - 5.3.0~RC1-1 +- update to 5.3.0RC1 +- enable lz4 compression support +- drop patch merged upstream +- add upstream patch to fix lz4 library name +- add new option in provided configuration file + +* Wed May 6 2020 Remi Collet - 5.2.2-2 +- test build for https://github.com/phpredis/phpredis/pull/1750 + +* Wed May 6 2020 Remi Collet - 5.2.2-1 +- update to 5.2.2 +- refresh options in provided configuration file + +* Fri Mar 20 2020 Remi Collet - 5.2.1-1 +- update to 5.2.1 + +* Mon Mar 2 2020 Remi Collet - 5.2.0-1 +- update to 5.2.0 + +* Fri Feb 21 2020 Remi Collet - 5.2.0~RC2-1 +- update to 5.2.0RC2 + +* Mon Feb 17 2020 Remi Collet - 5.2.0~RC1-1 +- update to 5.2.0RC1 + +* Mon Nov 11 2019 Remi Collet - 5.1.1-1 +- update to 5.1.1 + +* Fri Nov 1 2019 Remi Collet - 5.1.0-1 +- update to 5.1.0 + +* Mon Oct 21 2019 Remi Collet - 5.1.0~RC2-1 +- update to 5.1.0RC2 +- drop patch merged upstream + +* Wed Oct 9 2019 Remi Collet - 5.1.0~RC1-1 +- update to 5.1.0RC1 +- enable ZSTD compression support +- open https://github.com/phpredis/phpredis/pull/1648 + +* Tue Sep 03 2019 Remi Collet - 5.0.2-2 +- rebuild for 7.4.0RC1 + +* Tue Jul 30 2019 Remi Collet - 5.0.2-1 +- update to 5.0.2 + +* Tue Jul 23 2019 Remi Collet - 5.0.1-2 +- rebuild for 7.4.0beta1 + +* Fri Jul 12 2019 Remi Collet - 5.0.1-1 +- update to 5.0.1 + +* Tue Jul 2 2019 Remi Collet - 5.0.0-1 +- update to 5.0.0 + +* Wed Jun 26 2019 Remi Collet - 5.0.0~RC2-1 +- update to 5.0.0RC2 + +* Thu Jun 20 2019 Remi Collet - 5.0.0~RC1-1 +- update to 5.0.0RC1 +- rename to php-pecl-redis5 +- raise dependency on PHP 7 +- enable msgpack support +- enable json support +- update configuration for new options +- open https://github.com/phpredis/phpredis/pull/1578 + fix extension dependencies and report about json serializer + +* Wed May 29 2019 Remi Collet - 4.3.0-3 +- rebuild + +* Wed May 22 2019 Remi Collet - 4.3.0-2 +- cleanup + +* Thu Mar 14 2019 Remi Collet - 4.3.0-1 +- update to 4.3.0 (stable) + +* Wed Mar 6 2019 Remi Collet - 4.3.0~RC2-1 +- update to 4.3.0RC2 (beta) + +* Mon Feb 25 2019 Remi Collet - 4.3.0~RC1-1 +- update to 4.3.0RC1 (alpha) + no change sincy 4.2.1RC1, only version change according to semver + see https://github.com/phpredis/phpredis/issues/1517 + +* Mon Feb 25 2019 Remi Collet - 4.2.1~RC1-1 +- update to 4.2.1RC1 (alpha) +- update provided configuration with new runtime option + +* Tue Dec 11 2018 Remi Collet - 4.2.0-3 +- test build for upstream patch + +* Tue Dec 4 2018 Remi Collet - 4.2.0-2 +- open https://github.com/phpredis/phpredis/issues/1472 + tests failing with redis 5.0.2 + +* Sun Nov 18 2018 Remi Collet - 4.2.0-1 +- update to 4.2.0 (stable) + +* Fri Nov 9 2018 Remi Collet - 4.2.0~RC3-1 +- update to 4.2.0RC3 (beta) + +* Wed Nov 7 2018 Remi Collet - 4.2.0~RC2-2 +- test build for https://github.com/phpredis/phpredis/pull/1444 + +* Fri Oct 26 2018 Remi Collet - 4.2.0~RC2-1 +- update to 4.2.0RC2 (beta) +- open https://github.com/phpredis/phpredis/issues/1437 32-bit failed test + +* Sun Oct 21 2018 Remi Collet - 4.2.0~RC1-2 +- test build with upstream patches + +* Fri Oct 12 2018 Remi Collet - 4.2.0~RC1-1 +- update to 4.2.0RC1 (alpha) + +* Thu Aug 16 2018 Remi Collet - 4.1.1-2 +- rebuild for 7.3.0beta2 new ABI + +* Sun Aug 5 2018 Remi Collet - 4.1.1-1 +- update to 4.1.1 + +* Tue Jul 17 2018 Remi Collet - 4.1.0-2 +- rebuld for 7.3.0alpha4 new ABI + +* Tue Jul 10 2018 Remi Collet - 4.1.0-1 +- update to 4.1.0 (stable) + +* Fri Jun 22 2018 Remi Collet - 4.1.0~RC3-1 +- update to 4.1.0RC3 (beta, no change) +- drop patches merged upstream + +* Fri Jun 8 2018 Remi Collet - 4.1.0~RC1-2 +- test build with 7.3 +- open https://github.com/phpredis/phpredis/pull/1366 + Fix: Warning: time() expects exactly 0 parameters, 1 given ... + +* Fri Jun 8 2018 Remi Collet - 4.1.0~RC1-1 +- update to 4.1.0RC1 (alpha) +- open https://github.com/phpredis/phpredis/pull/1365 + use PHP_BINARY instead of php and allow override +- report https://github.com/phpredis/phpredis/issues/1364 + missing files in pecl archive +- add new redis.session.lock* options in provided configuration + +* Wed Apr 25 2018 Remi Collet - 4.0.2-1 +- update to 4.0.2 + +* Wed Apr 18 2018 Remi Collet - 4.0.1-1 +- update to 4.0.1 + +* Mon Mar 19 2018 Remi Collet - 4.0.0-1 +- update to 4.0.0 (stable) + +* Sat Mar 3 2018 Remi Collet - 4.0.0~RC2-1 +- update to 4.0.0RC2 + +* Wed Feb 7 2018 Remi Collet - 4.0.0~RC1-4 +- re-enable s390x build (was a temporary failure) + +* Wed Feb 7 2018 Remi Collet - 4.0.0~RC1-3 +- add patch to skip online test from + https://github.com/phpredis/phpredis/pull/1304 +- exclude s390x arch reported as + https://github.com/phpredis/phpredis/issues/1305 + +* Wed Feb 7 2018 Remi Collet - 4.0.0~RC1-1 +- update to 4.0.0RC1 +- rename to php-pecl-redis4 +- enable lzf support +- update configuration for new options + +* Wed Jan 3 2018 Remi Collet - 3.1.6-1 +- Update to 3.1.6 + +* Thu Dec 21 2017 Remi Collet - 3.1.5-1 +- update to 3.1.5 (stable) + +* Mon Dec 11 2017 Remi Collet - 3.1.5~RC2-1 +- update to 3.1.5RC2 (beta) + +* Fri Dec 1 2017 Remi Collet - 3.1.5~RC1-1 +- update to 3.1.5RC1 (beta) + +* Sun Nov 5 2017 Remi Collet - 3.1.4-3 +- add upstream patch, fix segfault with PHP 5.x + +* Tue Oct 17 2017 Remi Collet - 3.1.4-2 +- rebuild + +* Wed Sep 27 2017 Remi Collet - 3.1.4-1 +- update to 3.1.4 (stable) + +* Wed Sep 13 2017 Remi Collet - 3.1.4~RC3-1 +- update to 3.1.4RC3 (beta) + +* Wed Sep 13 2017 Remi Collet - 3.1.4~RC2-1 +- update to 3.1.4RC2 (beta) +- open https://github.com/phpredis/phpredis/issues/1236 + unwanted noise (warning) not even using the extension + +* Mon Sep 4 2017 Remi Collet - 3.1.4~RC1-1 +- update to 3.1.4RC1 (beta) + +* Tue Jul 18 2017 Remi Collet - 3.1.3-2 +- rebuild for PHP 7.2.0beta1 new API + +* Mon Jul 17 2017 Remi Collet - 3.1.3-1 +- update to 3.1.3 (stable) + +* Tue Jun 27 2017 Remi Collet - 3.1.3~RC2-1 +- update to 3.1.3RC2 (beta) + +* Wed Jun 21 2017 Remi Collet - 3.1.3~RC1-2 +- rebuild for 7.2.0alpha2 + +* Thu Jun 1 2017 Remi Collet - 3.1.3~RC1-1 +- update to 3.1.3RC1 (beta) + +* Sat Mar 25 2017 Remi Collet - 3.1.2-1 +- Update to 3.1.2 (stable) + +* Wed Feb 1 2017 Remi Collet - 3.1.1-1 +- Update to 3.1.1 (stable) + +* Tue Jan 17 2017 Remi Collet - 3.1.1-0.2.RC2 +- Update to 3.1.1RC2 + +* Thu Dec 22 2016 Remi Collet - 3.1.1-0.1.RC1 +- test build for open upcoming 3.1.1RC1 + +* Wed Dec 21 2016 Remi Collet - 3.1.1-0 +- test build for open upcoming 3.1.1 + +* Thu Dec 15 2016 Remi Collet - 3.1.0-2 +- test build for open upcoming 3.1.1 +- open https://github.com/phpredis/phpredis/issues/1060 broken impl + with https://github.com/phpredis/phpredis/pull/1064 +- reed https://github.com/phpredis/phpredis/issues/1062 session php 7.1 + with https://github.com/phpredis/phpredis/pull/1063 + +* Thu Dec 15 2016 Remi Collet - 3.1.0-1 +- update to 3.1.0 +- open https://github.com/phpredis/phpredis/issues/1052 max version +- open https://github.com/phpredis/phpredis/issues/1053 segfault +- open https://github.com/phpredis/phpredis/issues/1054 warnings +- open https://github.com/phpredis/phpredis/issues/1055 reflection +- open https://github.com/phpredis/phpredis/issues/1056 32bits tests + +* Thu Dec 1 2016 Remi Collet - 3.0.0-3 +- rebuild with PHP 7.1.0 GA + +* Wed Sep 14 2016 Remi Collet - 3.0.0-2 +- rebuild for PHP 7.1 new API version + +* Sat Jun 11 2016 Remi Collet - 3.0.0-1 +- Update to 3.0.0 (stable) + +* Thu Jun 9 2016 Remi Collet - 3.0.0-0.1.20160603git6447940 +- refresh and bump version + +* Thu May 5 2016 Remi Collet - 2.2.8-0.6.20160504gitad3c116 +- refresh + +* Thu Mar 3 2016 Remi Collet - 2.2.8-0.5.20160215git2887ad1 +- enable igbinary support + +* Fri Feb 19 2016 Remi Collet - 2.2.8-0.4.20160215git2887ad1 +- refresh + +* Thu Feb 11 2016 Remi Collet - 2.2.8-0.3.20160208git0d4b421 +- refresh + +* Tue Jan 26 2016 Remi Collet - 2.2.8-0.2.20160125git7b36957 +- refresh + +* Sun Jan 10 2016 Remi Collet - 2.2.8-0.2.20160106git4a37e47 +- improve package.xml, set stability=devel + +* Sun Jan 10 2016 Remi Collet - 2.2.8-0.1.20160106git4a37e47 +- update to 2.2.8-dev for PHP 7 +- use git snapshot + +* Sat Jun 20 2015 Remi Collet - 2.2.7-2 +- allow build against rh-php56 (as more-php56) + +* Tue Mar 03 2015 Remi Collet - 2.2.7-1 +- Update to 2.2.7 (stable) +- drop runtime dependency on pear, new scriptlets + +* Wed Dec 24 2014 Remi Collet - 2.2.5-5.1 +- Fedora 21 SCL mass rebuild + +* Fri Oct 3 2014 Remi Collet - 2.2.5-5 +- fix segfault with igbinary serializer + https://github.com/nicolasff/phpredis/issues/341 + +* Mon Aug 25 2014 Remi Collet - 2.2.5-4 +- improve SCL build + +* Wed Apr 16 2014 Remi Collet - 2.2.5-3 +- add numerical prefix to extension configuration file (php 5.6) +- add comment about session configuration + +* Thu Mar 20 2014 Remi Collet - 2.2.5-2 +- fix memory corruption with PHP 5.6 + https://github.com/nicolasff/phpredis/pull/447 + +* Wed Mar 19 2014 Remi Collet - 2.2.5-1 +- Update to 2.2.5 + +* Wed Mar 19 2014 Remi Collet - 2.2.4-3 +- allow SCL build + +* Fri Feb 28 2014 Remi Collet - 2.2.4-2 +- cleaups +- move doc in pecl_docdir + +* Mon Sep 09 2013 Remi Collet - 2.2.4-1 +- Update to 2.2.4 + +* Tue Apr 30 2013 Remi Collet - 2.2.3-1 +- update to 2.2.3 +- upstream moved to pecl, rename from php-redis to php-pecl-redis + +* Tue Sep 11 2012 Remi Collet - 2.2.2-5.git6f7087f +- more docs and improved description + +* Sun Sep 2 2012 Remi Collet - 2.2.2-4.git6f7087f +- latest snahot (without bundled igbinary) +- remove chmod (done upstream) + +* Sat Sep 1 2012 Remi Collet - 2.2.2-3.git5df5153 +- run only test suite with redis > 2.4 + +* Fri Aug 31 2012 Remi Collet - 2.2.2-2.git5df5153 +- latest master +- run test suite + +* Wed Aug 29 2012 Remi Collet - 2.2.2-1 +- update to 2.2.2 +- enable ZTS build + +* Tue Aug 28 2012 Remi Collet - 2.2.1-1 +- initial package diff --git a/php-pecl-redis6.spec b/php-pecl-redis6.spec new file mode 100644 index 0000000..19fd632 --- /dev/null +++ b/php-pecl-redis6.spec @@ -0,0 +1,770 @@ +# remirepo spec file for php-pecl-redis6 +# +# Copyright (c) 2012-2023 Remi Collet +# License: CC-BY-SA-4.0 +# http://creativecommons.org/licenses/by-sa/4.0/ +# +# Please, preserve the changelog entries +# + +%if 0%{?scl:1} +%scl_package php-pecl-redis +%else +%global _root_bindir %{_bindir} +%endif + +%global pecl_name redis +%global with_zts 0%{!?_without_zts:%{?__ztsphp:1}} +%bcond_without tests +%bcond_without igbinary +%bcond_without msgpack +# after 20-json, 40-igbinary and 40-msgpack +%global ini_name 50-%{pecl_name}.ini + +%global upstream_version 6.0.0 +%global upstream_prever RC1 +%global sources %{pecl_name}-%{upstream_version}%{?upstream_prever} +%global _configure ../%{sources}/configure + +Summary: Extension for communicating with the Redis key-value store +Name: %{?scl_prefix}php-pecl-redis6 +Version: %{upstream_version}%{?upstream_prever:~%{upstream_prever}} +Release: 1%{?dist}%{!?scl:%{!?nophptag:%(%{__php} -r 'echo ".".PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')}} +License: PHP-3.01 +URL: https://pecl.php.net/package/redis +Source0: https://pecl.php.net/get/%{pecl_name}-%{upstream_version}%{?upstream_prever}.tgz + +BuildRequires: make +BuildRequires: %{?dtsprefix}gcc +BuildRequires: %{?scl_prefix}php-devel >= 7.0 +BuildRequires: %{?scl_prefix}php-pear +BuildRequires: %{?scl_prefix}php-json +%if %{with igbinary} +BuildRequires: %{?scl_prefix}php-pecl-igbinary-devel +%endif +%if %{with msgpack} +BuildRequires: %{?scl_prefix}php-pecl-msgpack-devel >= 2.0.3 +%endif +BuildRequires: pkgconfig(liblzf) +BuildRequires: pkgconfig(libzstd) >= 1.3.0 +BuildRequires: pkgconfig(liblz4) +# to run Test suite +%if %{with tests} +BuildRequires: redis >= 7 +%endif + +Requires: %{?scl_prefix}php(zend-abi) = %{php_zend_api} +Requires: %{?scl_prefix}php(api) = %{php_core_api} +Requires: %{?scl_prefix}php-json%{?_isa} +%if %{with igbinary} +Requires: %{?scl_prefix}php-igbinary%{?_isa} +%endif +%if %{with msgpack} +Requires: %{?scl_prefix}php-msgpack%{?_isa} +%endif + +Obsoletes: %{?scl_prefix}php-%{pecl_name} < 3 +Provides: %{?scl_prefix}php-%{pecl_name} = %{version} +Provides: %{?scl_prefix}php-%{pecl_name}%{?_isa} = %{version} +Provides: %{?scl_prefix}php-pecl(%{pecl_name}) = %{version} +Provides: %{?scl_prefix}php-pecl(%{pecl_name})%{?_isa} = %{version} + +%if 0%{?fedora} >= 39 || 0%{?rhel} >= 10 || "%{php_version}" > "8.3" +Obsoletes: %{?scl_prefix}php-pecl-%{pecl_name} < 6 +Provides: %{?scl_prefix}php-pecl-%{pecl_name} = %{version}-%{release} +Provides: %{?scl_prefix}php-pecl-%{pecl_name}%{?_isa} = %{version}-%{release} +Obsoletes: %{?scl_prefix}php-pecl-%{pecl_name}4 < 6 +Provides: %{?scl_prefix}php-pecl-%{pecl_name}4 = %{version}-%{release} +Provides: %{?scl_prefix}php-pecl-%{pecl_name}4%{?_isa} = %{version}-%{release} +Obsoletes: %{?scl_prefix}php-pecl-%{pecl_name}5 < 6 +Provides: %{?scl_prefix}php-pecl-%{pecl_name}5 = %{version}-%{release} +Provides: %{?scl_prefix}php-pecl-%{pecl_name}5%{?_isa} = %{version}-%{release} +%else +# A single version can be installed +Conflicts: %{?scl_prefix}php-pecl-%{pecl_name} < 6 +Conflicts: %{?scl_prefix}php-pecl-%{pecl_name}4 < 6 +Conflicts: %{?scl_prefix}php-pecl-%{pecl_name}5 < 6 +%endif + +%if "%{?packager}" == "Remi Collet" && 0%{!?scl:1} && 0%{?rhel} == 7 +# Other third party repo stuff +%if "%{php_version}" > "7.1" +Obsoletes: php71u-pecl-%{pecl_name} <= %{version} +Obsoletes: php71w-pecl-%{pecl_name} <= %{version} +%endif +%if "%{php_version}" > "7.2" +Obsoletes: php72u-pecl-%{pecl_name} <= %{version} +Obsoletes: php72w-pecl-%{pecl_name} <= %{version} +%endif +%if "%{php_version}" > "7.3" +Obsoletes: php73-pecl-%{pecl_name} <= %{version} +Obsoletes: php73w-pecl-%{pecl_name} <= %{version} +%endif +%if "%{php_version}" > "7.4" +Obsoletes: php74-pecl-%{pecl_name} <= %{version} +%endif +%endif + + +%description +The phpredis extension provides an API for communicating +with the Redis key-value store. + +This Redis client implements most of the latest Redis API. +As method only only works when also implemented on the server side, +some doesn't work with an old redis server version. + +Package built for PHP %(%{__php} -r 'echo PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')%{?scl: as Software Collection (%{scl} by %{?scl_vendor}%{!?scl_vendor:rh})}. + + +%prep +%setup -q -c + +# Don't install/register tests, license, and bundled library +sed -e 's/role="test"/role="src"/' \ + %{?_licensedir:-e '/LICENSE/s/role="doc"/role="src"/' } \ + -e '/liblzf/d' \ + -i package.xml + +cd %{sources} +# Use system library +rm -r liblzf + +# Sanity check, really often broken +extver=$(sed -n '/#define PHP_REDIS_VERSION/{s/.* "//;s/".*$//;p}' php_redis.h) +if test "x${extver}" != "x%{upstream_version}%{?upstream_prever}"; then + : Error: Upstream extension version is ${extver}, expecting %{upstream_version}%{?upstream_prever}. + exit 1 +fi +cd .. + +mkdir NTS +%if %{with_zts} +mkdir ZTS +%endif + +# Drop in the bit of configuration +cat > %{ini_name} << 'EOF' +; Enable %{pecl_name} extension module +extension = %{pecl_name}.so + +; phpredis can be used to store PHP sessions. +; To do this, uncomment and configure below + +; RPM note : save_handler and save_path are defined +; for mod_php, in /etc/httpd/conf.d/php.conf +; for php-fpm, in %{_sysconfdir}/php-fpm.d/*conf + +;session.save_handler = %{pecl_name} +;session.save_path = "tcp://host1:6379?weight=1, tcp://host2:6379?weight=2&timeout=2.5, tcp://host3:6379?weight=2" + +; Configuration +;redis.arrays.algorithm = '' +;redis.arrays.auth = '' +;redis.arrays.autorehash = 0 +;redis.arrays.connecttimeout = 0 +;redis.arrays.consistent = 0 +;redis.arrays.distributor = '' +;redis.arrays.functions = '' +;redis.arrays.hosts = '' +;redis.arrays.index = 0 +;redis.arrays.lazyconnect = 0 +;redis.arrays.names = '' +;redis.arrays.pconnect = 0 +;redis.arrays.previous = '' +;redis.arrays.readtimeout = 0 +;redis.arrays.retryinterval = 0 +;redis.clusters.auth = 0 +;redis.clusters.cache_slots = 0 +;redis.clusters.persistent = 0 +;redis.clusters.read_timeout = 0 +;redis.clusters.seeds = '' +;redis.clusters.timeout = 0 +;redis.pconnect.pooling_enabled = 1 +;redis.pconnect.connection_limit = 0 +;redis.pconnect.echo_check_liveness = 1 +;redis.pconnect.pool_detect_dirty = 0 +;redis.pconnect.pool_poll_timeout = 0 +;redis.pconnect.pool_pattern => '' +;redis.session.lock_expire = 0 +;redis.session.lock_retries = 10 +;redis.session.lock_wait_time = 2000 +;redis.session.locking_enabled = 0 +EOF + + +%build +%{?dtsenable} + +peclconf() { +%configure \ + --enable-redis \ + --enable-redis-session \ +%if %{with igbinary} + --enable-redis-igbinary \ +%endif +%if %{with msgpack} + --enable-redis-msgpack \ +%endif + --enable-redis-lzf \ + --with-liblzf \ + --enable-redis-zstd \ + --with-libzstd \ + --enable-redis-lz4 \ + --with-liblz4 \ + --with-php-config=$1 +} + +cd %{sources} +%{__phpize} + +cd ../NTS +peclconf %{__phpconfig} +make %{?_smp_mflags} + +%if %{with_zts} +cd ../ZTS +peclconf %{__ztsphpconfig} +make %{?_smp_mflags} +%endif + + +%install +%{?dtsenable} + +# Install the NTS stuff +make -C NTS install INSTALL_ROOT=%{buildroot} +install -D -m 644 %{ini_name} %{buildroot}%{php_inidir}/%{ini_name} + +%if %{with_zts} +# Install the ZTS stuff +make -C ZTS install INSTALL_ROOT=%{buildroot} +install -D -m 644 %{ini_name} %{buildroot}%{php_ztsinidir}/%{ini_name} +%endif + +# Install the package XML file +install -D -m 644 package.xml %{buildroot}%{pecl_xmldir}/%{name}.xml + +# Documentation +cd %{sources} +for i in $(grep 'role="doc"' ../package.xml | sed -e 's/^.*name="//;s/".*$//') +do install -Dpm 644 $i %{buildroot}%{pecl_docdir}/%{pecl_name}/$i +done + + +%check +# simple module load test +DEPS="--no-php-ini" +%if "%{php_version}" < "8.0" +DEPS="$DEPS --define extension=json.so" +%endif +%if %{with igbinary} +DEPS="$DEPS --define extension=igbinary.so" +%endif +%if %{with msgpack} +DEPS="$DEPS --define extension=msgpack.so" +%endif + +%{__php} $DEPS \ + --define extension=%{buildroot}%{php_extdir}/%{pecl_name}.so \ + --modules | grep '^%{pecl_name}$' + +%if %{with_zts} +%{__ztsphp} $DEPS \ + --define extension=%{buildroot}%{php_ztsextdir}/%{pecl_name}.so \ + --modules | grep '^%{pecl_name}$' +%endif + +%if %{with tests} +cd %{sources}/tests + +: Launch redis server +mkdir -p data +pidfile=$PWD/redis.pid +port=$(%{__php} -r 'echo 9000 + PHP_MAJOR_VERSION*100 + PHP_MINOR_VERSION*10 + PHP_INT_SIZE + 0%{?scl:1};') +%{_root_bindir}/redis-server \ + --bind 127.0.0.1 \ + --port $port \ + --daemonize yes \ + --logfile $PWD/redis.log \ + --dir $PWD/data \ + --pidfile $pidfile + + +: Run the test Suite +sed -e "s/6379/$port/" -i *.php + +ret=0 +export TEST_PHP_EXECUTABLE=%{__php} +export TEST_PHP_ARGS="$DEPS \ + --define extension=%{buildroot}%{php_extdir}/%{pecl_name}.so" +$TEST_PHP_EXECUTABLE $TEST_PHP_ARGS TestRedis.php || ret=1 + +: Cleanup +if [ -f $pidfile ]; then + %{_root_bindir}/redis-cli -p $port shutdown nosave + sleep 2 +fi +cat $PWD/redis.log + +exit $ret +%else +: Upstream test suite disabled +%endif + + +%if 0%{?fedora} < 24 && 0%{?rhel} < 8 +# when pear installed alone, after us +%triggerin -- %{?scl_prefix}php-pear +if [ -x %{__pecl} ] ; then + %{pecl_install} %{pecl_xmldir}/%{name}.xml >/dev/null || : +fi + +# posttrans as pear can be installed after us +%posttrans +if [ -x %{__pecl} ] ; then + %{pecl_install} %{pecl_xmldir}/%{name}.xml >/dev/null || : +fi + +%postun +if [ $1 -eq 0 -a -x %{__pecl} ] ; then + %{pecl_uninstall} %{pecl_name} >/dev/null || : +fi +%endif + + +%files +%{?_licensedir:%license %{sources}/LICENSE} +%doc %{pecl_docdir}/%{pecl_name} +%{pecl_xmldir}/%{name}.xml + +%{php_extdir}/%{pecl_name}.so +%config(noreplace) %{php_inidir}/%{ini_name} + +%if %{with_zts} +%{php_ztsextdir}/%{pecl_name}.so +%config(noreplace) %{php_ztsinidir}/%{ini_name} +%endif + + +%changelog +* Wed Aug 2 2023 Remi Collet - 6.0.0~RC1-1 +- update to 6.0.0RC1 +- rename to php-pecl-redis6 for new API + +* Wed Jul 12 2023 Remi Collet - 5.3.7-4 +- build out of sources tree + +* Thu Mar 23 2023 Remi Collet - 5.3.7-3 +- add patch for test suite with redis 7.2 from + https://github.com/phpredis/phpredis/pull/2335 + +* Fri Sep 9 2022 Remi Collet - 5.3.7-2 +- rebuild for PHP 8.2 with msgpack and igbinary + +* Wed Feb 16 2022 Remi Collet - 5.3.7-1 +- update to 5.3.7 + +* Mon Feb 14 2022 Remi Collet - 5.3.7~RC2-1 +- update to 5.3.7RC2 (beta, no change) + +* Wed Feb 2 2022 Remi Collet - 5.3.7~RC1-1 +- update to 5.3.7RC1 (alpha) + +* Tue Jan 18 2022 Remi Collet - 5.3.6-1 +- update to 5.3.6 + +* Mon Dec 20 2021 Remi Collet - 5.3.5-1 +- update to 5.3.5 + +* Wed Dec 8 2021 Remi Collet - 5.3.5-0 +- test build for upcoming 5.3.5 + +* Wed Nov 17 2021 Remi Collet - 5.3.5~RC1-1 +- update to 5.3.5RC1 + +* Wed Sep 01 2021 Remi Collet - 5.3.4-2 +- rebuild for 8.1.0RC1 + +* Thu Mar 25 2021 Remi Collet - 5.3.4-1 +- update to 5.3.4 + +* Wed Feb 3 2021 Remi Collet - 5.3.3-1 +- update to 5.3.3 + +* Thu Oct 22 2020 Remi Collet - 5.3.2-1 +- update to 5.3.2 + +* Wed Oct 14 2020 Remi Collet - 5.3.2~RC2-1 +- update to 5.3.2RC2 + +* Wed Oct 7 2020 Remi Collet - 5.3.2~RC1-1 +- update to 5.3.2RC1 +- drop patch merged upstream + +* Wed Sep 30 2020 Remi Collet - 5.3.1-4 +- rebuild for PHP 8.0.0RC1 + +* Wed Sep 23 2020 Remi Collet - 5.3.1-3 +- enable msgpack serializer with PHP 8 + +* Fri Sep 11 2020 Remi Collet - 5.3.1-2 +- add patches for PHP 8 from upstream and + https://github.com/phpredis/phpredis/pull/1845 +- disable msgpack serializer with PHP 8 + +* Wed Jul 8 2020 Remi Collet - 5.3.1-1 +- update to 5.3.1 + +* Wed Jul 1 2020 Remi Collet - 5.3.0-1 +- update to 5.3.0 + +* Sat Jun 27 2020 Remi Collet - 5.3.0~RC2-1 +- update to 5.3.0RC2 +- drop patch merged upstream + +* Fri Jun 26 2020 Remi Collet - 5.3.0~RC1-1 +- update to 5.3.0RC1 +- enable lz4 compression support +- drop patch merged upstream +- add upstream patch to fix lz4 library name +- add new option in provided configuration file + +* Wed May 6 2020 Remi Collet - 5.2.2-2 +- test build for https://github.com/phpredis/phpredis/pull/1750 + +* Wed May 6 2020 Remi Collet - 5.2.2-1 +- update to 5.2.2 +- refresh options in provided configuration file + +* Fri Mar 20 2020 Remi Collet - 5.2.1-1 +- update to 5.2.1 + +* Mon Mar 2 2020 Remi Collet - 5.2.0-1 +- update to 5.2.0 + +* Fri Feb 21 2020 Remi Collet - 5.2.0~RC2-1 +- update to 5.2.0RC2 + +* Mon Feb 17 2020 Remi Collet - 5.2.0~RC1-1 +- update to 5.2.0RC1 + +* Mon Nov 11 2019 Remi Collet - 5.1.1-1 +- update to 5.1.1 + +* Fri Nov 1 2019 Remi Collet - 5.1.0-1 +- update to 5.1.0 + +* Mon Oct 21 2019 Remi Collet - 5.1.0~RC2-1 +- update to 5.1.0RC2 +- drop patch merged upstream + +* Wed Oct 9 2019 Remi Collet - 5.1.0~RC1-1 +- update to 5.1.0RC1 +- enable ZSTD compression support +- open https://github.com/phpredis/phpredis/pull/1648 + +* Tue Sep 03 2019 Remi Collet - 5.0.2-2 +- rebuild for 7.4.0RC1 + +* Tue Jul 30 2019 Remi Collet - 5.0.2-1 +- update to 5.0.2 + +* Tue Jul 23 2019 Remi Collet - 5.0.1-2 +- rebuild for 7.4.0beta1 + +* Fri Jul 12 2019 Remi Collet - 5.0.1-1 +- update to 5.0.1 + +* Tue Jul 2 2019 Remi Collet - 5.0.0-1 +- update to 5.0.0 + +* Wed Jun 26 2019 Remi Collet - 5.0.0~RC2-1 +- update to 5.0.0RC2 + +* Thu Jun 20 2019 Remi Collet - 5.0.0~RC1-1 +- update to 5.0.0RC1 +- rename to php-pecl-redis5 +- raise dependency on PHP 7 +- enable msgpack support +- enable json support +- update configuration for new options +- open https://github.com/phpredis/phpredis/pull/1578 + fix extension dependencies and report about json serializer + +* Wed May 29 2019 Remi Collet - 4.3.0-3 +- rebuild + +* Wed May 22 2019 Remi Collet - 4.3.0-2 +- cleanup + +* Thu Mar 14 2019 Remi Collet - 4.3.0-1 +- update to 4.3.0 (stable) + +* Wed Mar 6 2019 Remi Collet - 4.3.0~RC2-1 +- update to 4.3.0RC2 (beta) + +* Mon Feb 25 2019 Remi Collet - 4.3.0~RC1-1 +- update to 4.3.0RC1 (alpha) + no change sincy 4.2.1RC1, only version change according to semver + see https://github.com/phpredis/phpredis/issues/1517 + +* Mon Feb 25 2019 Remi Collet - 4.2.1~RC1-1 +- update to 4.2.1RC1 (alpha) +- update provided configuration with new runtime option + +* Tue Dec 11 2018 Remi Collet - 4.2.0-3 +- test build for upstream patch + +* Tue Dec 4 2018 Remi Collet - 4.2.0-2 +- open https://github.com/phpredis/phpredis/issues/1472 + tests failing with redis 5.0.2 + +* Sun Nov 18 2018 Remi Collet - 4.2.0-1 +- update to 4.2.0 (stable) + +* Fri Nov 9 2018 Remi Collet - 4.2.0~RC3-1 +- update to 4.2.0RC3 (beta) + +* Wed Nov 7 2018 Remi Collet - 4.2.0~RC2-2 +- test build for https://github.com/phpredis/phpredis/pull/1444 + +* Fri Oct 26 2018 Remi Collet - 4.2.0~RC2-1 +- update to 4.2.0RC2 (beta) +- open https://github.com/phpredis/phpredis/issues/1437 32-bit failed test + +* Sun Oct 21 2018 Remi Collet - 4.2.0~RC1-2 +- test build with upstream patches + +* Fri Oct 12 2018 Remi Collet - 4.2.0~RC1-1 +- update to 4.2.0RC1 (alpha) + +* Thu Aug 16 2018 Remi Collet - 4.1.1-2 +- rebuild for 7.3.0beta2 new ABI + +* Sun Aug 5 2018 Remi Collet - 4.1.1-1 +- update to 4.1.1 + +* Tue Jul 17 2018 Remi Collet - 4.1.0-2 +- rebuld for 7.3.0alpha4 new ABI + +* Tue Jul 10 2018 Remi Collet - 4.1.0-1 +- update to 4.1.0 (stable) + +* Fri Jun 22 2018 Remi Collet - 4.1.0~RC3-1 +- update to 4.1.0RC3 (beta, no change) +- drop patches merged upstream + +* Fri Jun 8 2018 Remi Collet - 4.1.0~RC1-2 +- test build with 7.3 +- open https://github.com/phpredis/phpredis/pull/1366 + Fix: Warning: time() expects exactly 0 parameters, 1 given ... + +* Fri Jun 8 2018 Remi Collet - 4.1.0~RC1-1 +- update to 4.1.0RC1 (alpha) +- open https://github.com/phpredis/phpredis/pull/1365 + use PHP_BINARY instead of php and allow override +- report https://github.com/phpredis/phpredis/issues/1364 + missing files in pecl archive +- add new redis.session.lock* options in provided configuration + +* Wed Apr 25 2018 Remi Collet - 4.0.2-1 +- update to 4.0.2 + +* Wed Apr 18 2018 Remi Collet - 4.0.1-1 +- update to 4.0.1 + +* Mon Mar 19 2018 Remi Collet - 4.0.0-1 +- update to 4.0.0 (stable) + +* Sat Mar 3 2018 Remi Collet - 4.0.0~RC2-1 +- update to 4.0.0RC2 + +* Wed Feb 7 2018 Remi Collet - 4.0.0~RC1-4 +- re-enable s390x build (was a temporary failure) + +* Wed Feb 7 2018 Remi Collet - 4.0.0~RC1-3 +- add patch to skip online test from + https://github.com/phpredis/phpredis/pull/1304 +- exclude s390x arch reported as + https://github.com/phpredis/phpredis/issues/1305 + +* Wed Feb 7 2018 Remi Collet - 4.0.0~RC1-1 +- update to 4.0.0RC1 +- rename to php-pecl-redis4 +- enable lzf support +- update configuration for new options + +* Wed Jan 3 2018 Remi Collet - 3.1.6-1 +- Update to 3.1.6 + +* Thu Dec 21 2017 Remi Collet - 3.1.5-1 +- update to 3.1.5 (stable) + +* Mon Dec 11 2017 Remi Collet - 3.1.5~RC2-1 +- update to 3.1.5RC2 (beta) + +* Fri Dec 1 2017 Remi Collet - 3.1.5~RC1-1 +- update to 3.1.5RC1 (beta) + +* Sun Nov 5 2017 Remi Collet - 3.1.4-3 +- add upstream patch, fix segfault with PHP 5.x + +* Tue Oct 17 2017 Remi Collet - 3.1.4-2 +- rebuild + +* Wed Sep 27 2017 Remi Collet - 3.1.4-1 +- update to 3.1.4 (stable) + +* Wed Sep 13 2017 Remi Collet - 3.1.4~RC3-1 +- update to 3.1.4RC3 (beta) + +* Wed Sep 13 2017 Remi Collet - 3.1.4~RC2-1 +- update to 3.1.4RC2 (beta) +- open https://github.com/phpredis/phpredis/issues/1236 + unwanted noise (warning) not even using the extension + +* Mon Sep 4 2017 Remi Collet - 3.1.4~RC1-1 +- update to 3.1.4RC1 (beta) + +* Tue Jul 18 2017 Remi Collet - 3.1.3-2 +- rebuild for PHP 7.2.0beta1 new API + +* Mon Jul 17 2017 Remi Collet - 3.1.3-1 +- update to 3.1.3 (stable) + +* Tue Jun 27 2017 Remi Collet - 3.1.3~RC2-1 +- update to 3.1.3RC2 (beta) + +* Wed Jun 21 2017 Remi Collet - 3.1.3~RC1-2 +- rebuild for 7.2.0alpha2 + +* Thu Jun 1 2017 Remi Collet - 3.1.3~RC1-1 +- update to 3.1.3RC1 (beta) + +* Sat Mar 25 2017 Remi Collet - 3.1.2-1 +- Update to 3.1.2 (stable) + +* Wed Feb 1 2017 Remi Collet - 3.1.1-1 +- Update to 3.1.1 (stable) + +* Tue Jan 17 2017 Remi Collet - 3.1.1-0.2.RC2 +- Update to 3.1.1RC2 + +* Thu Dec 22 2016 Remi Collet - 3.1.1-0.1.RC1 +- test build for open upcoming 3.1.1RC1 + +* Wed Dec 21 2016 Remi Collet - 3.1.1-0 +- test build for open upcoming 3.1.1 + +* Thu Dec 15 2016 Remi Collet - 3.1.0-2 +- test build for open upcoming 3.1.1 +- open https://github.com/phpredis/phpredis/issues/1060 broken impl + with https://github.com/phpredis/phpredis/pull/1064 +- reed https://github.com/phpredis/phpredis/issues/1062 session php 7.1 + with https://github.com/phpredis/phpredis/pull/1063 + +* Thu Dec 15 2016 Remi Collet - 3.1.0-1 +- update to 3.1.0 +- open https://github.com/phpredis/phpredis/issues/1052 max version +- open https://github.com/phpredis/phpredis/issues/1053 segfault +- open https://github.com/phpredis/phpredis/issues/1054 warnings +- open https://github.com/phpredis/phpredis/issues/1055 reflection +- open https://github.com/phpredis/phpredis/issues/1056 32bits tests + +* Thu Dec 1 2016 Remi Collet - 3.0.0-3 +- rebuild with PHP 7.1.0 GA + +* Wed Sep 14 2016 Remi Collet - 3.0.0-2 +- rebuild for PHP 7.1 new API version + +* Sat Jun 11 2016 Remi Collet - 3.0.0-1 +- Update to 3.0.0 (stable) + +* Thu Jun 9 2016 Remi Collet - 3.0.0-0.1.20160603git6447940 +- refresh and bump version + +* Thu May 5 2016 Remi Collet - 2.2.8-0.6.20160504gitad3c116 +- refresh + +* Thu Mar 3 2016 Remi Collet - 2.2.8-0.5.20160215git2887ad1 +- enable igbinary support + +* Fri Feb 19 2016 Remi Collet - 2.2.8-0.4.20160215git2887ad1 +- refresh + +* Thu Feb 11 2016 Remi Collet - 2.2.8-0.3.20160208git0d4b421 +- refresh + +* Tue Jan 26 2016 Remi Collet - 2.2.8-0.2.20160125git7b36957 +- refresh + +* Sun Jan 10 2016 Remi Collet - 2.2.8-0.2.20160106git4a37e47 +- improve package.xml, set stability=devel + +* Sun Jan 10 2016 Remi Collet - 2.2.8-0.1.20160106git4a37e47 +- update to 2.2.8-dev for PHP 7 +- use git snapshot + +* Sat Jun 20 2015 Remi Collet - 2.2.7-2 +- allow build against rh-php56 (as more-php56) + +* Tue Mar 03 2015 Remi Collet - 2.2.7-1 +- Update to 2.2.7 (stable) +- drop runtime dependency on pear, new scriptlets + +* Wed Dec 24 2014 Remi Collet - 2.2.5-5.1 +- Fedora 21 SCL mass rebuild + +* Fri Oct 3 2014 Remi Collet - 2.2.5-5 +- fix segfault with igbinary serializer + https://github.com/nicolasff/phpredis/issues/341 + +* Mon Aug 25 2014 Remi Collet - 2.2.5-4 +- improve SCL build + +* Wed Apr 16 2014 Remi Collet - 2.2.5-3 +- add numerical prefix to extension configuration file (php 5.6) +- add comment about session configuration + +* Thu Mar 20 2014 Remi Collet - 2.2.5-2 +- fix memory corruption with PHP 5.6 + https://github.com/nicolasff/phpredis/pull/447 + +* Wed Mar 19 2014 Remi Collet - 2.2.5-1 +- Update to 2.2.5 + +* Wed Mar 19 2014 Remi Collet - 2.2.4-3 +- allow SCL build + +* Fri Feb 28 2014 Remi Collet - 2.2.4-2 +- cleaups +- move doc in pecl_docdir + +* Mon Sep 09 2013 Remi Collet - 2.2.4-1 +- Update to 2.2.4 + +* Tue Apr 30 2013 Remi Collet - 2.2.3-1 +- update to 2.2.3 +- upstream moved to pecl, rename from php-redis to php-pecl-redis + +* Tue Sep 11 2012 Remi Collet - 2.2.2-5.git6f7087f +- more docs and improved description + +* Sun Sep 2 2012 Remi Collet - 2.2.2-4.git6f7087f +- latest snahot (without bundled igbinary) +- remove chmod (done upstream) + +* Sat Sep 1 2012 Remi Collet - 2.2.2-3.git5df5153 +- run only test suite with redis > 2.4 + +* Fri Aug 31 2012 Remi Collet - 2.2.2-2.git5df5153 +- latest master +- run test suite + +* Wed Aug 29 2012 Remi Collet - 2.2.2-1 +- update to 2.2.2 +- enable ZTS build + +* Tue Aug 28 2012 Remi Collet - 2.2.1-1 +- initial package -- cgit