93 lines
1.9 KiB
Markdown
93 lines
1.9 KiB
Markdown
# Redis Module
|
|
| Since | Origin / Contributor | Maintainer | Source |
|
|
| :----- | :-------------------- | :---------- | :------ |
|
|
| 2015-02-06 | [Vladimir Dronnikov](https://github.com/dvv) | [Vladimir Dronnikov](https://github.com/dvv) | [redis.lua](../../lua_modules/redis/redis.lua) |
|
|
|
|
This Lua module provides a simple implementation of a [Redis](https://redis.io/) client.
|
|
|
|
### Require
|
|
```lua
|
|
redis = dofile("redis.lua")
|
|
```
|
|
|
|
### Release
|
|
```lua
|
|
redis = nil
|
|
```
|
|
|
|
## redis.connect()
|
|
Function used to connect to Redis server.
|
|
|
|
#### Syntax
|
|
`redis.connect(host, [port])`
|
|
|
|
#### Parameters
|
|
- `host` Redis host name or address
|
|
- `port` Redis database port. Default value is 6379.
|
|
|
|
#### Returns
|
|
Object with rest of the functions.
|
|
|
|
!!! important
|
|
|
|
You need to start calling this `connect()` function to obtain a Redis object. All other functions are invoked on this object. Note the difference between `redis.connect()` (single dot) and `redis:subscribe()` (colon).
|
|
|
|
## redis:subscribe()
|
|
Subscribe to a Redis channel.
|
|
|
|
#### Syntax
|
|
`redis:subscribe(channel, handler)`
|
|
|
|
#### Parameters
|
|
- `channel` Channel name
|
|
- `handler` Handler function that will be called on new message in subscribed channel
|
|
|
|
#### Returns
|
|
`nil`
|
|
|
|
## redis:publish()
|
|
Publish a message to a Redis channel.
|
|
|
|
#### Syntax
|
|
`redis:publish(channel, message)`
|
|
|
|
#### Parameters
|
|
- `channel` Channel name
|
|
- `message` Message to publish
|
|
|
|
#### Returns
|
|
`nil`
|
|
|
|
## redis:unsubscribe()
|
|
Unsubscribes from a channel.
|
|
|
|
#### Syntax
|
|
`redis:unsubscribe(channel)`
|
|
|
|
#### Parameters
|
|
- `channel` Channel name to unsubscribe from
|
|
|
|
#### Returns
|
|
`nil`
|
|
|
|
## redis:close()
|
|
Function to close connection to Redis server.
|
|
|
|
#### Syntax
|
|
`redis:close()`
|
|
|
|
#### Parameters
|
|
None
|
|
|
|
#### Returns
|
|
`nil`
|
|
|
|
## Example
|
|
```lua
|
|
local redis = dofile("redis.lua").connect(host, port)
|
|
redis:publish("chan1", "foo")
|
|
redis:subscribe("chan1", function(channel, msg)
|
|
print(channel, msg)
|
|
end)
|
|
```
|