mirror of
https://github.com/mailscope/kumomta.git
synced 2026-09-05 10:08:56 +00:00
73 lines
2.8 KiB
Markdown
73 lines
2.8 KiB
Markdown
# `redis.open { PARAMS }`
|
|
|
|
Opens a connection to a [Redis](https://redis.io/) data store and returns a connection handle.
|
|
|
|
```lua
|
|
local redis = require 'redis'
|
|
|
|
-- Open a connection and increment a counter, returning its new value
|
|
local conn = redis.open { node = 'redis://127.0.0.1/' }
|
|
print(conn:query('incr', 'test-count'))
|
|
```
|
|
|
|
*PARAMS* is a lua table with the following keys:
|
|
|
|
* `node` - the redis URL string identifying the server. Can be a table listing
|
|
multiple servers if you have a redis cluster deployed.
|
|
|
|
* `pool_size` - optional integer. Specifies the maximum number of spare
|
|
connections to be maintained by the connection pool. The default is 10.
|
|
|
|
* `read_from_replicas` - optional boolean. If true, when connecting to a redis
|
|
cluster, reads are issued to replicas while writes are issued to the primary
|
|
data stores.
|
|
|
|
* `username` - optional string. convenience for working with the cluster, so
|
|
that you only need to specify the username once. This is not used for connecting
|
|
to a single node.
|
|
|
|
* `password` - optional string. convenience for working with the cluster, so
|
|
that you only need to specify the password once. This is not used for connecting
|
|
to a single node.
|
|
|
|
* `connect_timeout` - optional duration string. Specify how long to keep attempting
|
|
to connect to redis. The default is `30 seconds`. {{since('2024.06.10-84e84b89', inline=True)}}
|
|
|
|
* `wait_timeout` - optional duration string. Specify how long to wait for an
|
|
available connection. If the pool is at capacity (`pool_size`), then an `open`
|
|
call will block for up this duration for a connection to be released and made
|
|
to connect to redis. The default is `30 seconds`. {{since('2024.09.02-c5476b89', inline=True)}}
|
|
|
|
* `response_timeout` - optional duration string. Specify how long to wait for the
|
|
response to a query. {{since('2024.09.02-c5476b89', inline=True)}}
|
|
|
|
* `recycle_timeout` - optional duration string. Specify how long to wait for the
|
|
liveness check when testing whether a connection can be resused.
|
|
{{since('2024.09.02-c5476b89', inline=True)}}
|
|
|
|
* `cluster` - optional boolean. Set this to true to explicit use a cluster-enabled
|
|
client. The default is false if the number of nodes is one, or true if the
|
|
number of nodes is greater than one. You generally don't need to set this,
|
|
but can do so to force a cluster connection when you have only a single
|
|
node address. {{since('2024.09.02-c5476b89', inline=True)}}
|
|
|
|
The returned connection handle has a single `"query"` method:
|
|
|
|
## `conn:query(CMD, [ARGS])`
|
|
|
|
Issue a redis command and return the result.
|
|
|
|
See [Redis Commands](https://redis.io/commands/) for a list of commands.
|
|
|
|
The redis [INCRBY](https://redis.io/commands/incrby/) command increments a key by a value; it has the syntax:
|
|
|
|
```
|
|
INCRBY key increment
|
|
```
|
|
|
|
To use *INCRBY* to increment `my-key` by `2`:
|
|
|
|
```
|
|
conn:query("INCRBY", "my-key", 2)
|
|
```
|