Redis
There is basic Redis support in Nauthilus. Most of the time it should be enough to use simple Redis keys and string values as arguments. Type conversion can be done within Lua itself.
dynamic_loader("nauthilus_redis")
local nauthilus_redis = require("nauthilus_redis")
Redis custom pools
In the init script of the Nauthilus server, you can define custom pools. For each Redis command, the first parameter is either a string called "default" or a connection handle. The "default" will use Redis servers from the Nauthilus server itself.
How to register a new pool?
Register a custom pool
Syntax
local result, error = nauthilus_redis.register_redis_pool(name, mode, config)
Parameters
name
(string) - Name of the new redis poolmode
(string) - Defines the type of redis configuration, Possible values are:-
- standalone - Configure a simple standalone Redis instance
- cluster - Configure a Redis cluster
- sentinel - Configure a Redis sentinel
- sentinel_replica - Configure a failover client primaryly for read requests
config
(table) - The configuration parameters for the new pool- address (string) - Address for the standalone system (master or replica)
- addresses (table) - List of addresses for clusters and sentinels
- master_name (string) - Master name is for sentinels
- sentinel_username (string) - Optional username for sentinels
- sentinel_password (string) - Optional password for sentinels
- username (string) - Optional username (used for standalone or sentinel setups)
- password (string) - Optional password (used for standalone or sentinel setups)
- db (number) - The database number in Redis
- pool_size (number) - Maximum number of connections in the pool
- min_idle_conns (number) - Minimum number of idle connections in the pool
- tls_enabled (boolean) - Activates TLS support
- tls_cert_file (string) - Optional path to a certificate file in PEM format
- tls_key_file (string) - Optional path to a key file in PEM format
Returns
result
(string) - "OK" is returned, if the pool was configured successfully.error
(string) - An error message, if an error occurs.
Example
local _, err_redis_reg = nauthilus_redis.register_redis_pool("my_custom_name", "sentinel", {
addresses = { "redis-sentinel-sentinel.ot-operators:26379" },
master_name = "myMaster",
password = "",
db = 3,
pool_size = 10,
min_idle_conns = 1,
tls_enabled = false
})
To get the handle of this pool, do the following in you Lua scripts:
local custom_pool, err_redis_client = nauthilus_redis.get_redis_connection("my_custom_name")
Now you can use custom_pool as the first argument to each Redis function.
You can define as many pools as you like. Currently supported is "standalone", "sentinel" and "cluster".
Documentation for the parameters is TODO.
In the following, I will use the name "handle" for a pool handler.
Functions
nauthilus_redis.redis_set
Stores a value in Redis with an optional expiration time.
Syntax
local result, error = nauthilus_redis.redis_set(handle, key, value, expiration)
Parameters
handle
(userdata/string): Redis connection handle or "default" for the default connectionkey
(string): The Redis key to store the value undervalue
(string): The value to storeexpiration
(number, optional): Time in seconds after which the key will expire
Returns
result
(string): "OK" if the operation was successfulerror
(string): An error message if the operation fails
Example
dynamic_loader("nauthilus_redis")
local nauthilus_redis = require("nauthilus_redis")
local result, error = nauthilus_redis.redis_set(handle, "key", "value", 3600)
nauthilus_redis.redis_incr
Increments a numeric value stored in Redis by one.
Syntax
local number, error = nauthilus_redis.redis_incr(handle, key)
Parameters
handle
(userdata/string): Redis connection handle or "default" for the default connectionkey
(string): The Redis key whose value should be incremented
Returns
number
(number): The new value after incrementingerror
(string): An error message if the operation fails
Example
dynamic_loader("nauthilus_redis")
local nauthilus_redis = require("nauthilus_redis")
local number, error = nauthilus_redis.redis_incr(handle, "key")
nauthilus_redis.redis_get
Retrieves a value from Redis by key.
Syntax
local result, error = nauthilus_redis.redis_get(handle, key)
Parameters
handle
(userdata/string): Redis connection handle or "default" for the default connectionkey
(string): The Redis key to retrieve the value for
Returns
result
(string): The value stored at the specified keyerror
(string): An error message if the operation fails
Example
dynamic_loader("nauthilus_redis")
local nauthilus_redis = require("nauthilus_redis")
local result, error = nauthilus_redis.redis_get(handle, "key")
nauthilus_redis.redis_expire
Sets an expiration time (in seconds) for a Redis key.
Syntax
local result, error = nauthilus_redis.redis_expire(handle, key, seconds)
Parameters
handle
(userdata/string): Redis connection handle or "default" for the default connectionkey
(string): The Redis key to set expiration forseconds
(number): The expiration time in seconds
Returns
result
(string): "OK" if the operation was successfulerror
(string): An error message if the operation fails
Example
dynamic_loader("nauthilus_redis")
local nauthilus_redis = require("nauthilus_redis")
local result, error = nauthilus_redis.redis_expire(handle, "key", 3600)
nauthilus_redis.redis_del
Deletes a key from Redis.
Syntax
local result, error = nauthilus_redis.redis_del(handle, key)
Parameters
handle
(userdata/string): Redis connection handle or "default" for the default connectionkey
(string): The Redis key to delete
Returns
result
(string): "OK" if the operation was successfulerror
(string): An error message if the operation fails
Example
dynamic_loader("nauthilus_redis")
local nauthilus_redis = require("nauthilus_redis")
local result, error = nauthilus_redis.redis_del(handle, "key")
nauthilus_redis.redis_rename
Renames a Redis key to a new name.
Syntax
local result, err = nauthilus_redis.redis_rename(handle, oldkey, newkey)
Parameters
handle
(userdata/string): Redis connection handle or "default" for the default connectionoldkey
(string): The current name of the Redis keynewkey
(string): The new name for the Redis key
Returns
result
(string): "OK" if the operation was successfulerr
(string): An error message if the operation fails
Example
dynamic_loader("nauthilus_redis")
local nauthilus_redis = require("nauthilus_redis")
local oldkey = "abc"
local newkey = "def"
local result, err = nauthilus_redis.redis_rename(handle, oldkey, newkey)
nauthilus_redis.redis_hget
Retrieves a value for a specific field from a Redis hash map.
Syntax
local value, error = nauthilus_redis.redis_hget(handle, key, field)
Parameters
handle
(userdata/string): Redis connection handle or "default" for the default connectionkey
(string): The Redis key of the hash mapfield
(string): The field name within the hash map
Returns
value
(string): The value of the specified fielderror
(string): An error message if the operation fails
Example
dynamic_loader("nauthilus_redis")
local nauthilus_redis = require("nauthilus_redis")
local redis_key = "some_key"
local already_sent_mail, err_redis_hget = nauthilus_redis.redis_hget(handle, redis_key, "send_mail")
nauthilus_redis.redis_hset
Sets a field value in a Redis hash map.
Syntax
local result, error = nauthilus_redis.redis_hset(handle, key, field, value)
Parameters
handle
(userdata/string): Redis connection handle or "default" for the default connectionkey
(string): The Redis key of the hash mapfield
(string): The field name within the hash mapvalue
(string/number): The value to set for the field
Returns
result
(number): 1 if field is a new field in the hash and value was set, 0 if field already exists and the value was updatederror
(string): An error message if the operation fails
Example
dynamic_loader("nauthilus_redis")
local nauthilus_redis = require("nauthilus_redis")
local redis_key = "some_key"
local result, err_redis_hset = nauthilus_redis.redis_hset(handle, redis_key, "send_mail", 1)
nauthilus_redis.redis_hdel
Deletes a field from a Redis hash map.
Syntax
local deleted, error = nauthilus_redis.redis_hdel(handle, key, field)
Parameters
handle
(userdata/string): Redis connection handle or "default" for the default connectionkey
(string): The Redis key of the hash mapfield
(string): The field name to delete from the hash map
Returns
deleted
(number): The number of fields that were removed (1 if successful, 0 if field did not exist)error
(string): An error message if the operation fails
Example
dynamic_loader("nauthilus_redis")
local nauthilus_redis = require("nauthilus_redis")
local result = {}
result.dovecot_session = "123"
local redis_key = "some_key"
local deleted, err_redis_hdel = nauthilus_redis.redis_hdel(handle, redis_key, result.dovecot_session)
nauthilus_redis.redis_hlen
Gets the number of fields in a Redis hash map.
Syntax
local length, error = nauthilus_redis.redis_hlen(handle, key)
Parameters
handle
(userdata/string): Redis connection handle or "default" for the default connectionkey
(string): The Redis key of the hash map
Returns
length
(number): The number of fields in the hash maperror
(string): An error message if the operation fails
Example
dynamic_loader("nauthilus_redis")
local nauthilus_redis = require("nauthilus_redis")
local redis_key = "some_key"
local length, err_redis_hlen = nauthilus_redis.redis_hlen(handle, redis_key)
nauthilus_redis.redis_hgetall
Retrieves all fields and values from a Redis hash map.
Syntax
local hash_table, error = nauthilus_redis.redis_hgetall(handle, key)
Parameters
handle
(userdata/string): Redis connection handle or "default" for the default connectionkey
(string): The Redis key of the hash map
Returns
hash_table
(table): A Lua table containing all field-value pairs from the hash maperror
(string): An error message if the operation fails
Example
dynamic_loader("nauthilus_redis")
local nauthilus_redis = require("nauthilus_redis")
local redis_key = "some_key"
local all_sessions, err_redis_hgetall = nauthilus_redis.redis_hgetall(handle, redis_key)
nauthilus_redis.redis_hincrby
Increments the integer value of a field in a Redis hash map by a specified amount.
Syntax
local new_value, error = nauthilus_redis.redis_hincrby(handle, key, field, increment)
Parameters
handle
(userdata/string): Redis connection handle or "default" for the default connectionkey
(string): The Redis key of the hash mapfield
(string): The field name within the hash mapincrement
(number): The integer value to increment by
Returns
new_value
(number): The new value of the field after the increment operationerror
(string): An error message if the operation fails
Example
dynamic_loader("nauthilus_redis")
local nauthilus_redis = require("nauthilus_redis")
local key = "some_key"
local field = "some_field"
local increment = 1
local new_value, err = nauthilus_redis.redis_hincrby(handle, key, field, increment)
nauthilus_redis.redis_hincrbyfloat
Increments the floating-point value of a field in a Redis hash map by a specified amount.
Syntax
local new_value, error = nauthilus_redis.redis_hincrbyfloat(handle, key, field, increment)
Parameters
handle
(userdata/string): Redis connection handle or "default" for the default connectionkey
(string): The Redis key of the hash mapfield
(string): The field name within the hash mapincrement
(number): The floating-point value to increment by
Returns
new_value
(string): The new value of the field after the increment operation (as a string representation of the float)error
(string): An error message if the operation fails
Example
dynamic_loader("nauthilus_redis")
local nauthilus_redis = require("nauthilus_redis")
local key = "some_key"
local field = "some_field"
local increment = 1.3
local new_value, err = nauthilus_redis.redis_hincrbyfloat(handle, key, field, increment)
nauthilus_redis.redis_hexists
Checks if a field exists in a Redis hash map.
Syntax
local exists, error = nauthilus_redis.redis_hexists(handle, key, field)
Parameters
handle
(userdata/string): Redis connection handle or "default" for the default connectionkey
(string): The Redis key of the hash mapfield
(string): The field name to check for existence
Returns
exists
(number): 1 if the field exists in the hash, 0 if it does not existerror
(string): An error message if the operation fails
Example
dynamic_loader("nauthilus_redis")
local nauthilus_redis = require("nauthilus_redis")
local key = "some_key"
local field = "some_field"
local exists, err = nauthilus_redis.redis_hexists(handle, key, field)
nauthilus_redis.redis_sadd
Adds a member to a Redis set.
Syntax
local added, error = nauthilus_redis.redis_sadd(handle, key, value)
Parameters
handle
(userdata/string): Redis connection handle or "default" for the default connectionkey
(string): The Redis key of the setvalue
(string): The value to add to the set
Returns
added
(number): 1 if the member was added to the set, 0 if it was already a membererror
(string): An error message if the operation fails
Example
dynamic_loader("nauthilus_redis")
local nauthilus_redis = require("nauthilus_redis")
local key = "some_key"
local value = "some_value"
local added, err = nauthilus_redis.redis_sadd(handle, key, value)
nauthilus_redis.redis_sismember
Checks if a value is a member of a Redis set.
Syntax
local is_member, error = nauthilus_redis.redis_sismember(handle, key, value)
Parameters
handle
(userdata/string): Redis connection handle or "default" for the default connectionkey
(string): The Redis key of the setvalue
(string): The value to check for membership
Returns
is_member
(number): 1 if the value is a member of the set, 0 if it is noterror
(string): An error message if the operation fails
Example
dynamic_loader("nauthilus_redis")
local nauthilus_redis = require("nauthilus_redis")
local key = "some_key"
local value = "some_value"
local is_member, err = nauthilus_redis.redis_sismember(handle, key, value)
nauthilus_redis.redis_smembers
Retrieves all members from a Redis set.
Syntax
local members, error = nauthilus_redis.redis_smembers(handle, key)
Parameters
handle
(userdata/string): Redis connection handle or "default" for the default connectionkey
(string): The Redis key of the set
Returns
members
(table): A Lua table containing all members of the seterror
(string): An error message if the operation fails
Example
dynamic_loader("nauthilus_redis")
local nauthilus_redis = require("nauthilus_redis")
local key = "some_key"
local members, err = nauthilus_redis.redis_smembers(handle, key)
nauthilus_redis.redis_srem
Removes a member from a Redis set.
Syntax
local removed, error = nauthilus_redis.redis_srem(handle, key, value)
Parameters
handle
(userdata/string): Redis connection handle or "default" for the default connectionkey
(string): The Redis key of the setvalue
(string): The value to remove from the set
Returns
removed
(number): 1 if the member was removed from the set, 0 if it was not a membererror
(string): An error message if the operation fails
Example
dynamic_loader("nauthilus_redis")
local nauthilus_redis = require("nauthilus_redis")
local key = "some_key"
local value = "some_value"
local removed, err = nauthilus_redis.redis_srem(handle, key, value)
nauthilus_redis.redis_scard
Returns the number of members in a Redis set.
Syntax
local count, error = nauthilus_redis.redis_scard(handle, key)
Parameters
handle
(userdata/string): Redis connection handle or "default" for the default connectionkey
(string): The Redis key of the set
Returns
count
(number): The number of members in the seterror
(string): An error message if the operation fails
Example
dynamic_loader("nauthilus_redis")
local nauthilus_redis = require("nauthilus_redis")
local key = "some_key"
local count, err = nauthilus_redis.redis_scard(handle, key)
nauthilus_redis.redis_upload_script
Uploads a Lua script to a Redis server for later execution.
Syntax
local sha1, error = nauthilus_redis.redis_upload_script(handle, script, script_name)
Parameters
handle
(userdata/string): Redis connection handle or "default" for the default connectionscript
(string): The Lua script to upload to the Redis serverscript_name
(string): A name to identify the script for later execution
Returns
sha1
(string): The SHA1 hash of the script, used to identify it when executingerror
(string): An error message if the operation fails
Example
dynamic_loader("nauthilus_redis")
local nauthilus_redis = require("nauthilus_redis")
local script = [[
local redis_key = KEYS[1]
local send_mail = redis.call('HGET', redis_key, 'send_mail')
if send_mail == false then
redis.call('HSET', redis_key, 'send_mail', '1')
return {'send_email', redis_key}
else
return {'email_already_sent'}
end
]]
local upload_script_name = "nauthilus_send_mail_hash"
local sha1, err_upload = nauthilus_redis.redis_upload_script(handle, script, upload_script_name)
Use an init script to upload scripts at startup
nauthilus_redis.redis_run_script
Executes a Lua script on a Redis server, either by providing the script directly or by referencing a previously uploaded script.
Syntax
local result, error = nauthilus_redis.redis_run_script(handle, script, script_name, keys, args)
Parameters
handle
(userdata/string): Redis connection handle or "default" for the default connectionscript
(string): The Lua script to execute (leave empty if using script_name)script_name
(string): The name of a previously uploaded script (leave empty if providing script directly)keys
(table): A Lua table containing the Redis keys that will be accessed by the scriptargs
(table): A Lua table containing additional arguments for the script
Returns
result
(any): The result returned by the executed scripterror
(string): An error message if the operation fails
Example
local redis_key = "some_redis_key"
local script = ""
local upload_script_name = "nauthilus_send_mail_hash"
-- Set either script or upload_script_name!
local script_result, err_run_script = nauthilus_redis.redis_run_script(handle, script, upload_script_name, { redis_key }, {})
If running a script, you must set the upload-script-name to ""
nauthilus_redis.redis_zadd
New in version 1.4.10
Adds members with their associated scores to a Redis Sorted Set.
Syntax
local result, err = nauthilus_redis.redis_zadd(key, members)
Parameters
key
(string): The name of the Redis Sorted Set.members
(table): A Lua table where:- Keys are the members (strings).
- Values are the scores (numbers).
Returns
result
(number): The total number of members successfully added.err
(string): An error message, if an error occurs.
Example
dynamic_loader("nauthilus_redis")
local nauthilus_redis = require("nauthilus_redis")
local added, err = nauthilus_redis.redis_zadd("my_sorted_set", { member1 = 10, member2 = 20 })
if err then
print("Error:", err)
else
print("Added elements:", added)
end
nauthilus_redis.redis_zrange
New in version 1.4.10
Retrieves a subset of elements from a Redis Sorted Set based on an index range (in ascending order).
Syntax
local elements, err = nauthilus_redis.redis_zrange(key, start, stop)
Parameters
key
(string): The name of the Redis Sorted Set.start
(number): The starting index of the range.stop
(number): The stopping index of the range.
Returns
elements
(table): A Lua table containing the retrieved elements.err
(string): An error message, if an error occurs.
Example
dynamic_loader("nauthilus_redis")
local nauthilus_redis = require("nauthilus_redis")
local elements, err = nauthilus_redis.redis_zrange("my_sorted_set", 0, -1)
if err then
print("Error:", err)
else
for _, val in ipairs(elements) do
print(val)
end
end
nauthilus_redis.redis_zrevrange
New in version 1.4.10
Retrieves a subset of elements from a Redis Sorted Set in descending order based on an index range.
Syntax
local elements, err = nauthilus_redis.redis_zrevrange(key, start, stop)
Parameters
key
(string): The name of the Redis Sorted Set.start
(number): The starting index of the range.stop
(number): The stopping index of the range.
Returns
elements
(table): A Lua table containing the retrieved elements.err
(string): An error message, if an error occurs.
Example
dynamic_loader("nauthilus_redis")
local nauthilus_redis = require("nauthilus_redis")
local elements, err = nauthilus_redis.redis_zrevrange("my_sorted_set", 0, -1)
if err then
print("Error:", err)
else
for _, val in ipairs(elements) do
print(val)
end
end
nauthilus_redis.redis_zrangebyscore
New in version 1.4.10
Retrieves elements within a score range from a Redis Sorted Set. Optional pagination is supported.
Syntax
local elements, err = nauthilus_redis.redis_zrangebyscore(key, min_score, max_score, options)
Parameters
key
(string): The name of the Redis Sorted Set.min_score
(number): The lower bound of the score range.max_score
(number): The upper bound of the score range.options
(table, optional): A Lua table for optional pagination:offset
(number): The starting position of the results.count
(number): The maximum number of results retrieved.
Returns
elements
(table): A Lua table containing the retrieved elements.err
(string): An error message, if an error occurs.
Example
dynamic_loader("nauthilus_redis")
local nauthilus_redis = require("nauthilus_redis")
local elements, err = nauthilus_redis.redis_zrangebyscore("my_sorted_set", 10, 50, { offset = 0, count = 5 })
if err then
print("Error:", err)
else
for _, val in ipairs(elements) do
print(val)
end
end
nauthilus_redis.redis_zrem
New in version 1.4.10
Removes members from a Redis Sorted Set.
Syntax
local result, err = nauthilus_redis.redis_zrem(key, members)
Parameters
key
(string): The name of the Redis Sorted Set.members
(table): A Lua table containing the members (as strings) to be removed.
Returns
result
(number): The number of members successfully removed.err
(string): An error message, if an error occurs.
Example
dynamic_loader("nauthilus_redis")
local nauthilus_redis = require("nauthilus_redis")
local removed, err = nauthilus_redis.redis_zrem("my_sorted_set", { "member1", "member2" })
if err then
print("Error:", err)
else
print("Removed elements:", removed)
end
nauthilus_redis.redis_zrank
New in version 1.4.10
Gets the rank of a member in a Redis Sorted Set, with scores sorted in ascending order.
Syntax
local rank, err = nauthilus_redis.redis_zrank(key, member)
Parameters
key
(string): The name of the Redis Sorted Set.member
(string): The member whose rank you want to retrieve.
Returns
rank
(number): The rank of the member (0-based index).err
(string): An error message, if an error occurs.
Example
dynamic_loader("nauthilus_redis")
local nauthilus_redis = require("nauthilus_redis")
local rank, err = nauthilus_redis.redis_zrank("my_sorted_set", "member1")
if err then
print("Error:", err)
else
print("Rank of member:", rank)
end
nauthilus_redis.redis_zrevrank
New in version 1.7.20
Gets the rank of a member in a Redis Sorted Set, with scores sorted in descending order (highest score has rank 0).
Syntax
local rank, err = nauthilus_redis.redis_zrevrank(handle, key, member)
Parameters
handle
(userdata/string): Redis connection handle or "default" for the default connectionkey
(string): The name of the Redis Sorted Setmember
(string): The member whose rank you want to retrieve
Returns
rank
(number): The rank of the member (0-based index, with 0 being the highest score)err
(string): An error message if the operation fails or if the member does not exist
Example
dynamic_loader("nauthilus_redis")
local nauthilus_redis = require("nauthilus_redis")
local rank, err = nauthilus_redis.redis_zrevrank("default", "my_sorted_set", "member1")
if err then
print("Error:", err)
else
print("Reverse rank of member:", rank)
end
nauthilus_redis.redis_zremrangebyscore
New in version 1.4.10
Removes all members within a given score range from a Redis Sorted Set.
Syntax
local result, err = nauthilus_redis.redis_zremrangebyscore(key, min_score, max_score)
Parameters
key
(string): The name of the Redis Sorted Set.min_score
(number): The lower bound of the score range.max_score
(number): The upper bound of the score range.
Returns
result
(number): The number of members removed.err
(string): An error message, if an error occurs.
Example
dynamic_loader("nauthilus_redis")
local nauthilus_redis = require("nauthilus_redis")
local removed, err = nauthilus_redis.redis_zremrangebyscore("my_sorted_set", 10, 20)
if err then
print("Error:", err)
else
print("Removed elements:", removed)
end
nauthilus_redis.redis_zremrangebyrank
New in version 1.7.20
Removes all members within a given rank range from a Redis Sorted Set.
Syntax
local result, err = nauthilus_redis.redis_zremrangebyrank(handle, key, start, stop)
Parameters
handle
(userdata/string): Redis connection handle or "default" for the default connectionkey
(string): The name of the Redis Sorted Set.start
(number): The start position (0-based, inclusive). Can be negative, where -1 is the last element.stop
(number): The stop position (0-based, inclusive). Can be negative, where -1 is the last element.
Returns
result
(number): The number of members removed.err
(string): An error message, if an error occurs.
Example
dynamic_loader("nauthilus_redis")
local nauthilus_redis = require("nauthilus_redis")
-- Remove the first three elements (ranks 0, 1, 2)
local removed, err = nauthilus_redis.redis_zremrangebyrank("default", "my_sorted_set", 0, 2)
if err then
print("Error:", err)
else
print("Removed elements:", removed)
end
-- Remove the last three elements
local removed, err = nauthilus_redis.redis_zremrangebyrank("default", "my_sorted_set", -3, -1)
if err then
print("Error:", err)
else
print("Removed elements:", removed)
end
nauthilus_redis.redis_zcount
New in version 1.7.7
Counts the number of members in a Redis Sorted Set with scores between min and max.
Syntax
local count, err = nauthilus_redis.redis_zcount(handle, key, min, max)
Parameters
handle
(userdata/string): Redis connection handle or "default" for the default connectionkey
(string): The name of the Redis Sorted Setmin
(string): The minimum score (can be a number or "-inf")max
(string): The maximum score (can be a number or "+inf")
Returns
count
(number): The number of members in the specified score rangeerr
(string): An error message, if an error occurs
Example
dynamic_loader("nauthilus_redis")
local nauthilus_redis = require("nauthilus_redis")
local count, err = nauthilus_redis.redis_zcount("default", "my_sorted_set", "10", "20")
if err then
print("Error:", err)
else
print("Number of members in range:", count)
end
nauthilus_redis.redis_zscore
New in version 1.7.7
Retrieves the score of a member in a Redis Sorted Set.
Syntax
local score, err = nauthilus_redis.redis_zscore(handle, key, member)
Parameters
handle
(userdata/string): Redis connection handle or "default" for the default connectionkey
(string): The name of the Redis Sorted Setmember
(string): The member whose score you want to retrieve
Returns
score
(number): The score of the member in the sorted seterr
(string): An error message if the operation fails or if the member does not exist
Example
dynamic_loader("nauthilus_redis")
local nauthilus_redis = require("nauthilus_redis")
local score, err = nauthilus_redis.redis_zscore("default", "my_sorted_set", "member1")
if err then
print("Error:", err)
else
print("Score of member:", score)
end
nauthilus_redis.redis_zincrby
New in version 1.7.18
Increments the score of a member in a Redis Sorted Set by the specified increment value.
Syntax
local new_score, err = nauthilus_redis.redis_zincrby(handle, key, increment, member)
Parameters
handle
(userdata/string): Redis connection handle or "default" for the default connectionkey
(string): The name of the Redis Sorted Setincrement
(number): The value to increment the score by (can be negative to decrement)member
(string): The member whose score you want to increment
Returns
new_score
(number): The new score of the member after the incrementerr
(string): An error message if the operation fails
Example
dynamic_loader("nauthilus_redis")
local nauthilus_redis = require("nauthilus_redis")
local new_score, err = nauthilus_redis.redis_zincrby("default", "top_failed_logins", 1, "username")
if err then
print("Error:", err)
else
print("New score after increment:", new_score)
end
nauthilus_redis.redis_lpush
New in version 1.7.7
Adds one or more values to the beginning of a Redis list and returns the length of the list after the push operation.
Syntax
local length, error = nauthilus_redis.redis_lpush(handle, key, value1, value2, ...)
Parameters
handle
(userdata/string): Redis connection handle or "default" for the default connectionkey
(string): The Redis key of the listvalue1
(string/number): The first value to add to the beginning of the listvalue2, ...
(string/number, optional): Additional values to add to the beginning of the list
Returns
length
(number): The length of the list after the push operationerror
(string): An error message if the operation fails
Example
dynamic_loader("nauthilus_redis")
local nauthilus_redis = require("nauthilus_redis")
local length, err = nauthilus_redis.redis_lpush("default", "my_list", "value1", "value2")
if err then
print("Error:", err)
else
print("List length after push:", length)
end
nauthilus_redis.redis_rpush
New in version 1.7.7
Adds one or more values to the end of a Redis list and returns the length of the list after the push operation.
Syntax
local length, error = nauthilus_redis.redis_rpush(handle, key, value1, value2, ...)
Parameters
handle
(userdata/string): Redis connection handle or "default" for the default connectionkey
(string): The Redis key of the listvalue1
(string/number): The first value to add to the end of the listvalue2, ...
(string/number, optional): Additional values to add to the end of the list
Returns
length
(number): The length of the list after the push operationerror
(string): An error message if the operation fails
Example
dynamic_loader("nauthilus_redis")
local nauthilus_redis = require("nauthilus_redis")
local length, err = nauthilus_redis.redis_rpush("default", "my_list", "value1", "value2")
if err then
print("Error:", err)
else
print("List length after push:", length)
end