mirror of
https://github.com/mailscope/kumomta.git
synced 2026-09-04 18:08:16 +00:00
52 lines
1.6 KiB
Markdown
52 lines
1.6 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.
|
|
|
|
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)
|
|
```
|