salt.modules.redis

Module to provide redis functionality to Salt

New in version 2014.7.0.

configuration:

This module requires the redis python module and uses the following defaults which may be overridden in the minion configuration:

redis.host: 'salt'
redis.port: 6379
redis.db: 0
redis.password: None
salt.modules.redismod.bgrewriteaof(host=None, port=None, db=None, password=None)

Asynchronously rewrite the append-only file

CLI Example:

salt '*' redis.bgrewriteaof
salt.modules.redismod.bgsave(host=None, port=None, db=None, password=None)

Asynchronously save the dataset to disk

CLI Example:

salt '*' redis.bgsave
salt.modules.redismod.config_get(pattern='*', host=None, port=None, db=None, password=None)

Get redis server configuration values

CLI Example:

salt '*' redis.config_get
salt '*' redis.config_get port
salt.modules.redismod.config_set(name, value, host=None, port=None, db=None, password=None)

Set redis server configuration values

CLI Example:

salt '*' redis.config_set masterauth luv_kittens
salt.modules.redismod.dbsize(host=None, port=None, db=None, password=None)

Return the number of keys in the selected database

CLI Example:

salt '*' redis.dbsize
salt.modules.redismod.delete(*keys, **connection_args)

Deletes the keys from redis, returns number of keys deleted

CLI Example:

salt '*' redis.delete foo
salt.modules.redismod.exists(key, host=None, port=None, db=None, password=None)

Return true if the key exists in redis

CLI Example:

salt '*' redis.exists foo
salt.modules.redismod.expire(key, seconds, host=None, port=None, db=None, password=None)

Set a keys time to live in seconds

CLI Example:

salt '*' redis.expire foo 300
salt.modules.redismod.expireat(key, timestamp, host=None, port=None, db=None, password=None)

Set a keys expire at given UNIX time

CLI Example:

salt '*' redis.expireat foo 1400000000
salt.modules.redismod.flushall(host=None, port=None, db=None, password=None)

Remove all keys from all databases

CLI Example:

salt '*' redis.flushall
salt.modules.redismod.flushdb(host=None, port=None, db=None, password=None)

Remove all keys from the selected database

CLI Example:

salt '*' redis.flushdb
salt.modules.redismod.get_key(key, host=None, port=None, db=None, password=None)

Get redis key value

CLI Example:

salt '*' redis.get_key foo
salt.modules.redismod.get_master_ip(host=None, port=None, password=None)

Get host information about slave

New in version 2016.3.0.

CLI Example:

salt '*' redis.get_master_ip
salt.modules.redismod.hdel(key, *fields, **options)

Delete one of more hash fields.

New in version 2017.7.0.

CLI Example:

salt '*' redis.hdel foo_hash bar_field1 bar_field2
salt.modules.redismod.hexists(key, field, host=None, port=None, db=None, password=None)

Determine if a hash fields exists.

New in version 2017.7.0.

CLI Example:

salt '*' redis.hexists foo_hash bar_field
salt.modules.redismod.hget(key, field, host=None, port=None, db=None, password=None)

Get specific field value from a redis hash, returns dict

CLI Example:

salt '*' redis.hget foo_hash bar_field
salt.modules.redismod.hgetall(key, host=None, port=None, db=None, password=None)

Get all fields and values from a redis hash, returns dict

CLI Example:

salt '*' redis.hgetall foo_hash
salt.modules.redismod.hincrby(key, field, increment=1, host=None, port=None, db=None, password=None)

Increment the integer value of a hash field by the given number.

New in version 2017.7.0.

CLI Example:

salt '*' redis.hincrby foo_hash bar_field 5
salt.modules.redismod.hincrbyfloat(key, field, increment=1.0, host=None, port=None, db=None, password=None)

Increment the float value of a hash field by the given number.

New in version 2017.7.0.

CLI Example:

salt '*' redis.hincrbyfloat foo_hash bar_field 5.17
salt.modules.redismod.hlen(key, host=None, port=None, db=None, password=None)

Returns number of fields of a hash.

New in version 2017.7.0.

CLI Example:

salt '*' redis.hlen foo_hash
salt.modules.redismod.hmget(key, *fields, **options)

Returns the values of all the given hash fields.

New in version 2017.7.0.

CLI Example:

salt '*' redis.hmget foo_hash bar_field1 bar_field2
salt.modules.redismod.hmset(key, **fieldsvals)

Sets multiple hash fields to multiple values.

New in version 2017.7.0.

CLI Example:

salt '*' redis.hmset foo_hash bar_field1=bar_value1 bar_field2=bar_value2
salt.modules.redismod.hscan(key, cursor=0, match=None, count=None, host=None, port=None, db=None, password=None)

Incrementally iterate hash fields and associated values.

New in version 2017.7.0.

CLI Example:

salt '*' redis.hscan foo_hash match='field_prefix_*' count=1
salt.modules.redismod.hset(key, field, value, host=None, port=None, db=None, password=None)

Set the value of a hash field.

New in version 2017.7.0.

CLI Example:

salt '*' redis.hset foo_hash bar_field bar_value
salt.modules.redismod.hsetnx(key, field, value, host=None, port=None, db=None, password=None)

Set the value of a hash field only if the field does not exist.

New in version 2017.7.0.

CLI Example:

salt '*' redis.hsetnx foo_hash bar_field bar_value
salt.modules.redismod.hvals(key, host=None, port=None, db=None, password=None)

Return all the values in a hash.

New in version 2017.7.0.

CLI Example:

salt '*' redis.hvals foo_hash bar_field1 bar_value1
salt.modules.redismod.info(host=None, port=None, db=None, password=None)

Get information and statistics about the server

CLI Example:

salt '*' redis.info
salt.modules.redismod.key_type(key, host=None, port=None, db=None, password=None)

Get redis key type

CLI Example:

salt '*' redis.type foo
salt.modules.redismod.keys(pattern='*', host=None, port=None, db=None, password=None)

Get redis keys, supports glob style patterns

CLI Example:

salt '*' redis.keys
salt '*' redis.keys test*
salt.modules.redismod.lastsave(host=None, port=None, db=None, password=None)

Get the UNIX time in seconds of the last successful save to disk

CLI Example:

salt '*' redis.lastsave
salt.modules.redismod.llen(key, host=None, port=None, db=None, password=None)

Get the length of a list in Redis

CLI Example:

salt '*' redis.llen foo_list
salt.modules.redismod.lrange(key, start, stop, host=None, port=None, db=None, password=None)

Get a range of values from a list in Redis

CLI Example:

salt '*' redis.lrange foo_list 0 10
salt.modules.redismod.ping(host=None, port=None, db=None, password=None)

Ping the server, returns False on connection errors

CLI Example:

salt '*' redis.ping
salt.modules.redismod.save(host=None, port=None, db=None, password=None)

Synchronously save the dataset to disk

CLI Example:

salt '*' redis.save
salt.modules.redismod.sentinel_get_master_ip(master, host=None, port=None, password=None)

Get ip for sentinel master

New in version 2016.3.0.

CLI Example:

salt '*' redis.sentinel_get_master_ip 'mymaster'
salt.modules.redismod.set_key(key, value, host=None, port=None, db=None, password=None)

Set redis key value

CLI Example:

salt '*' redis.set_key foo bar
salt.modules.redismod.shutdown(host=None, port=None, db=None, password=None)

Synchronously save the dataset to disk and then shut down the server

CLI Example:

salt '*' redis.shutdown
salt.modules.redismod.slaveof(master_host=None, master_port=None, host=None, port=None, db=None, password=None)

Make the server a slave of another instance, or promote it as master

CLI Example:

# Become slave of redis-n01.example.com:6379
salt '*' redis.slaveof redis-n01.example.com 6379
salt '*' redis.slaveof redis-n01.example.com
# Become master
salt '*' redis.slaveof
salt.modules.redismod.smembers(key, host=None, port=None, db=None, password=None)

Get members in a Redis set

CLI Example:

salt '*' redis.smembers foo_set
salt.modules.redismod.time(host=None, port=None, db=None, password=None)

Return the current server UNIX time in seconds

CLI Example:

salt '*' redis.time
salt.modules.redismod.zcard(key, host=None, port=None, db=None, password=None)

Get the length of a sorted set in Redis

CLI Example:

salt '*' redis.zcard foo_sorted
salt.modules.redismod.zrange(key, start, stop, host=None, port=None, db=None, password=None)

Get a range of values from a sorted set in Redis by index

CLI Example:

salt '*' redis.zrange foo_sorted 0 10