redis #24

Supports: xenial bionic
Add to new model

Description

Redis is a key-value database in a similar vein to memcache but the
dataset is non-volatile. Redis additionally provides native support
for atomically manipulating and querying data structures such as lists
and sets. The dataset is stored entirely in memory and periodically
flushed to disk.


Overview

This charm provides Redis Server. Redis is an open source (BSD licensed), in-memory data structure store, used as a database, cache and message broker. It supports data structures such as strings, hashes, lists, sets, sorted sets with range queries, bitmaps, hyperloglogs and geospatial indexes with radius queries. Redis has built-in replication, Lua scripting, LRU eviction, transactions and different levels of on-disk persistence, and provides high availability via Redis Sentinel and automatic partitioning with Redis Cluster.

Usage

Step by step instructions on using the charm:

juju deploy cs:~omnivector/redis

metrics

It is possible to collect metrics for this charm by using juju metrics redis. You will receive the following output:

UNIT               TIMESTAMP               METRIC    VALUE
redis/3 2017-09-27T21:15:09Z      blocked_clients        0
redis/3 2017-09-27T21:15:09Z    connected_clients        1
redis/3 2017-09-27T21:15:09Z           juju-units        1
redis/3 2017-09-27T21:15:09Z          used_memory   508800

Scale out Usage

This charm supports redis-cluster. You can enable redis-cluster by setting the cluster-enabled config to true.

juju deploy cs:~omnivector/redis --config cluster-enabled=true

Copyright

License

  • AGPLv3 (see LICENSE file)

Redis Info


Configuration

cluster-enabled
(boolean) Enable or disable redis-cluster. This config can only be set pre-deploy.
databases
(int) Set the number of databases. The default database is DB 0. You can select a different one on a per-connection basis using SELECT <dbid> where dbid is a number between 0 and 'databases'-1.
16
log-level
(string) Specify the Redis server verbosity level. Choices are: - debug (a lot of information, useful for development/testing); - verbose (many rarely useful info, but not a mess like the debug level); - notice (moderately verbose, what you want in production probably); - warning (only very important / critical messages are logged).
notice
nagios_context
(string) Used by the nrpe subordinate charms. A string that will be prepended to instance name to set the host name in nagios. So for instance the hostname would be something like: juju-myservice-0 If you're running multiple environments with the same services in them this allows you to differentiate between them.
juju
nagios_servicegroups
(string) A comma-separated list of nagios servicegroups. If left empty, the nagios_context will be used as the servicegroup
password
(string) Require clients to issue AUTH <PASSWORD> before processing any other commands.
port
(int) Accept connections on the specified port.
6379
snap_proxy
(string) DEPRECATED. Use snap-http-proxy and snap-https-proxy model configuration settings. HTTP/HTTPS web proxy for Snappy to use when accessing the snap store.
snap_proxy_url
(string) DEPRECATED. Use snap-store-proxy model configuration setting. The address of a Snap Store Proxy to use for snaps e.g. http://snap-proxy.example.com
snapd_refresh
(string) How often snapd handles updates for installed snaps. The default (an empty string) is 4x per day. Set to "max" to check once per month based on the charm deployment date. You may also set a custom string as described in the 'refresh.timer' section here: https://forum.snapcraft.io/t/system-options/87
tcp-keepalive
(int) If non-zero, use SO_KEEPALIVE to send TCP ACKs to clients in absence of communication. This is useful to detect dead peers and to take the connection alive from the point of view of network quipment in the middle. The specified value is in seconds.
timeout
(int) Close the connection after a client is idle for N seconds (0 to disable).