name: PhpRedisConnection
class_comment: '# * @mixin \Redis'
dependencies:
- name: Closure
  type: class
  source: Closure
- name: ConnectionContract
  type: class
  source: Illuminate\Contracts\Redis\Connection
- name: RedisException
  type: class
  source: RedisException
- name: PacksPhpRedisValues
  type: class
  source: PacksPhpRedisValues
properties:
- name: connector
  visibility: protected
  comment: "# * @mixin \\Redis\n# */\n# class PhpRedisConnection extends Connection\
    \ implements ConnectionContract\n# {\n# use PacksPhpRedisValues;\n# \n# /**\n\
    # * The connection creation callback.\n# *\n# * @var callable"
- name: config
  visibility: protected
  comment: '# * The connection configuration array.

    # *

    # * @var array'
methods:
- name: __construct
  visibility: public
  parameters:
  - name: client
  - name: connector
    default: 'null'
  - name: config
    default: '[]'
  comment: "# * @mixin \\Redis\n# */\n# class PhpRedisConnection extends Connection\
    \ implements ConnectionContract\n# {\n# use PacksPhpRedisValues;\n# \n# /**\n\
    # * The connection creation callback.\n# *\n# * @var callable\n# */\n# protected\
    \ $connector;\n# \n# /**\n# * The connection configuration array.\n# *\n# * @var\
    \ array\n# */\n# protected $config;\n# \n# /**\n# * Create a new PhpRedis connection.\n\
    # *\n# * @param  \\Redis  $client\n# * @param  callable|null  $connector\n# *\
    \ @param  array  $config\n# * @return void"
- name: get
  visibility: public
  parameters:
  - name: key
  comment: '# * Returns the value of the given key.

    # *

    # * @param  string  $key

    # * @return string|null'
- name: mget
  visibility: public
  parameters:
  - name: keys
  comment: '# * Get the values of all the given keys.

    # *

    # * @param  array  $keys

    # * @return array'
- name: set
  visibility: public
  parameters:
  - name: key
  - name: value
  - name: expireResolution
    default: 'null'
  - name: expireTTL
    default: 'null'
  - name: flag
    default: 'null'
  comment: '# * Set the string value in the argument as the value of the key.

    # *

    # * @param  string  $key

    # * @param  mixed  $value

    # * @param  string|null  $expireResolution

    # * @param  int|null  $expireTTL

    # * @param  string|null  $flag

    # * @return bool'
- name: setnx
  visibility: public
  parameters:
  - name: key
  - name: value
  comment: '# * Set the given key if it doesn''t exist.

    # *

    # * @param  string  $key

    # * @param  string  $value

    # * @return int'
- name: hmget
  visibility: public
  parameters:
  - name: key
  - name: '...$dictionary'
  comment: '# * Get the value of the given hash fields.

    # *

    # * @param  string  $key

    # * @param  mixed  ...$dictionary

    # * @return array'
- name: hmset
  visibility: public
  parameters:
  - name: key
  - name: '...$dictionary'
  comment: '# * Set the given hash fields to their respective values.

    # *

    # * @param  string  $key

    # * @param  mixed  ...$dictionary

    # * @return int'
- name: hsetnx
  visibility: public
  parameters:
  - name: hash
  - name: key
  - name: value
  comment: '# * Set the given hash field if it doesn''t exist.

    # *

    # * @param  string  $hash

    # * @param  string  $key

    # * @param  string  $value

    # * @return int'
- name: lrem
  visibility: public
  parameters:
  - name: key
  - name: count
  - name: value
  comment: '# * Removes the first count occurrences of the value element from the
    list.

    # *

    # * @param  string  $key

    # * @param  int  $count

    # * @param  mixed  $value

    # * @return int|false'
- name: blpop
  visibility: public
  parameters:
  - name: '...$arguments'
  comment: '# * Removes and returns the first element of the list stored at key.

    # *

    # * @param  mixed  ...$arguments

    # * @return array|null'
- name: brpop
  visibility: public
  parameters:
  - name: '...$arguments'
  comment: '# * Removes and returns the last element of the list stored at key.

    # *

    # * @param  mixed  ...$arguments

    # * @return array|null'
- name: spop
  visibility: public
  parameters:
  - name: key
  - name: count
    default: '1'
  comment: '# * Removes and returns a random element from the set value at key.

    # *

    # * @param  string  $key

    # * @param  int|null  $count

    # * @return mixed|false'
- name: zadd
  visibility: public
  parameters:
  - name: key
  - name: '...$dictionary'
  comment: '# * Add one or more members to a sorted set or update its score if it
    already exists.

    # *

    # * @param  string  $key

    # * @param  mixed  ...$dictionary

    # * @return int'
- name: zrangebyscore
  visibility: public
  parameters:
  - name: key
  - name: min
  - name: max
  - name: options
    default: '[]'
  comment: '# * Return elements with score between $min and $max.

    # *

    # * @param  string  $key

    # * @param  mixed  $min

    # * @param  mixed  $max

    # * @param  array  $options

    # * @return array'
- name: zrevrangebyscore
  visibility: public
  parameters:
  - name: key
  - name: min
  - name: max
  - name: options
    default: '[]'
  comment: '# * Return elements with score between $min and $max.

    # *

    # * @param  string  $key

    # * @param  mixed  $min

    # * @param  mixed  $max

    # * @param  array  $options

    # * @return array'
- name: zinterstore
  visibility: public
  parameters:
  - name: output
  - name: keys
  - name: options
    default: '[]'
  comment: '# * Find the intersection between sets and store in a new set.

    # *

    # * @param  string  $output

    # * @param  array  $keys

    # * @param  array  $options

    # * @return int'
- name: zunionstore
  visibility: public
  parameters:
  - name: output
  - name: keys
  - name: options
    default: '[]'
  comment: '# * Find the union between sets and store in a new set.

    # *

    # * @param  string  $output

    # * @param  array  $keys

    # * @param  array  $options

    # * @return int'
- name: scan
  visibility: public
  parameters:
  - name: cursor
  - name: options
    default: '[]'
  comment: '# * Scans all keys based on options.

    # *

    # * @param  mixed  $cursor

    # * @param  array  $options

    # * @return mixed'
- name: zscan
  visibility: public
  parameters:
  - name: key
  - name: cursor
  - name: options
    default: '[]'
  comment: '# * Scans the given set for all values based on options.

    # *

    # * @param  string  $key

    # * @param  mixed  $cursor

    # * @param  array  $options

    # * @return mixed'
- name: hscan
  visibility: public
  parameters:
  - name: key
  - name: cursor
  - name: options
    default: '[]'
  comment: '# * Scans the given hash for all values based on options.

    # *

    # * @param  string  $key

    # * @param  mixed  $cursor

    # * @param  array  $options

    # * @return mixed'
- name: sscan
  visibility: public
  parameters:
  - name: key
  - name: cursor
  - name: options
    default: '[]'
  comment: '# * Scans the given set for all values based on options.

    # *

    # * @param  string  $key

    # * @param  mixed  $cursor

    # * @param  array  $options

    # * @return mixed'
- name: pipeline
  visibility: public
  parameters:
  - name: callback
    default: 'null'
  comment: '# * Execute commands in a pipeline.

    # *

    # * @param  callable|null  $callback

    # * @return \Redis|array'
- name: transaction
  visibility: public
  parameters:
  - name: callback
    default: 'null'
  comment: '# * Execute commands in a transaction.

    # *

    # * @param  callable|null  $callback

    # * @return \Redis|array'
- name: evalsha
  visibility: public
  parameters:
  - name: script
  - name: numkeys
  - name: '...$arguments'
  comment: '# * Evaluate a LUA script serverside, from the SHA1 hash of the script
    instead of the script itself.

    # *

    # * @param  string  $script

    # * @param  int  $numkeys

    # * @param  mixed  ...$arguments

    # * @return mixed'
- name: eval
  visibility: public
  parameters:
  - name: script
  - name: numberOfKeys
  - name: '...$arguments'
  comment: '# * Evaluate a script and return its result.

    # *

    # * @param  string  $script

    # * @param  int  $numberOfKeys

    # * @param  mixed  ...$arguments

    # * @return mixed'
- name: subscribe
  visibility: public
  parameters:
  - name: channels
  - name: callback
  comment: '# * Subscribe to a set of given channels for messages.

    # *

    # * @param  array|string  $channels

    # * @param  \Closure  $callback

    # * @return void'
- name: psubscribe
  visibility: public
  parameters:
  - name: channels
  - name: callback
  comment: '# * Subscribe to a set of given channels with wildcards.

    # *

    # * @param  array|string  $channels

    # * @param  \Closure  $callback

    # * @return void'
- name: createSubscription
  visibility: public
  parameters:
  - name: channels
  - name: callback
  - name: method
    default: '''subscribe'''
  comment: '# * Subscribe to a set of given channels for messages.

    # *

    # * @param  array|string  $channels

    # * @param  \Closure  $callback

    # * @param  string  $method

    # * @return void'
- name: flushdb
  visibility: public
  parameters: []
  comment: '# * Flush the selected Redis database.

    # *

    # * @return mixed'
- name: executeRaw
  visibility: public
  parameters:
  - name: parameters
  comment: '# * Execute a raw command.

    # *

    # * @param  array  $parameters

    # * @return mixed'
- name: command
  visibility: public
  parameters:
  - name: method
  - name: parameters
    default: '[]'
  comment: '# * Run a command against the Redis database.

    # *

    # * @param  string  $method

    # * @param  array  $parameters

    # * @return mixed

    # *

    # * @throws \RedisException'
- name: disconnect
  visibility: public
  parameters: []
  comment: '# * Disconnects from the Redis instance.

    # *

    # * @return void'
- name: __call
  visibility: public
  parameters:
  - name: method
  - name: parameters
  comment: '# * Pass other method calls down to the underlying client.

    # *

    # * @param  string  $method

    # * @param  array  $parameters

    # * @return mixed'
traits:
- Closure
- RedisException
- PacksPhpRedisValues
interfaces:
- ConnectionContract