Redis

From Wikitech
Wikimedia infrastructure

Data centres and PoPs

Networking

HTTP Caching

Wiki


Media

Logs

See also Nova Resource:Tools/Redis for the tool labs service.

Redis cache is used in production for caching of

Check puppet and jobqueue-eqiad.php for redisServer to see where it runs (as of September 2013 the servers are rdb1001, rdb1002, rdb1003 and rdb1004).

MediaWiki-Vagrant and Labs-vagrant are configured by default to use redis for $wgMainCacheType, $wgSessionCacheType, etc.

Usage

Connecting

You can use the redis-cli utility to make queries against redis. In order to make queries against redis, you need to be on a production server such as tin that can access the servers, and give the command

redis-cli -a password-here -h rdb1001

(Grab the password out of /srv/mediawiki/wmf-config/PrivateSettings.php on tin, the server where it runs, look for $wmgRedisPassword in it.)

This will leave you at a redis prompt where you can enter commands interactively.

Some useful commands

info will give you a pile of status information about the server, including the number of keys near the end of the output.

keys pattern-here will give you a list of all keys matching the given pattern. Use this sparingly, there's a lot of keys in there and the query will take (at least) several seconds to complete.

quit closes the connection.

Other references

Commands are easy, they all depend on the data type (hash, set, list, etc). Here's a quick reference.

Configuration is likewise pretty straightforward with perhaps the exception of the snapshotting, aof and memory settings; here's the sample config file.

See also

  • memcached
  • nutcracker (AKA twemproxy), the proxy used by all application servers to contact memcached (but not redis as of 2015)