Redis/MediaWiki

Redis can be used as an alternative to memcached, and function as the job queue (no more running runJobs.php)

https://blog.go2tech.de/2016/02/the-jobqueue-how-droidwiki-de-runs-jobs/

Make sure to get the latest versions of Redis from outside your distribution, which can be old: https://www.linode.com/docs/databases/redis/deploy-redis-on-ubuntu-or-debian

Redis with PHP 7.4 on Red Hat
Redis isn't unfortunately packaged with PHP 7.4 and it doesn't have a RPM package with the Red Hat provided packages. But we can just install it using pecl. Say no to most of the compile flags, we don't have the necessary stuff for igbinary and its not really needed in our use case.

dnf install php-devel make php-pecl pecl install phpredis

Then add the extension definition to /etc/php.d/50-redis.ini

extension = redis.so
 * Enable redis extension module


 * phpredis can be used to store PHP sessions.
 * To do this, uncomment and configure below


 * RPM note : save_handler and save_path are defined
 * for mod_php, in /etc/httpd/conf.d/php.conf
 * for php-fpm, in /etc/php-fpm.d/*conf


 * session.save_handler = redis
 * session.save_path = "tcp://host1:6379?weight=1, tcp://host2:6379?weight=2&timeout=2.5, tcp://host3:6379?weight=2"


 * Configuration
 * redis.arrays.algorithm = ''
 * redis.arrays.auth = ''
 * redis.arrays.autorehash = 0
 * redis.arrays.connecttimeout = 0
 * redis.arrays.consistent = 0
 * redis.arrays.distributor = ''
 * redis.arrays.functions = ''
 * redis.arrays.hosts = ''
 * redis.arrays.index = 0
 * redis.arrays.lazyconnect = 0
 * redis.arrays.names = ''
 * redis.arrays.pconnect = 0
 * redis.arrays.previous = ''
 * redis.arrays.readtimeout = 0
 * redis.arrays.retryinterval = 0
 * redis.clusters.auth = 0
 * redis.clusters.cache_slots = 0
 * redis.clusters.persistent = 0
 * redis.clusters.read_timeout = 0
 * redis.clusters.seeds = ''
 * redis.clusters.timeout = 0
 * redis.pconnect.pooling_enabled = 1
 * redis.pconnect.connection_limit = 0
 * redis.pconnect.echo_check_liveness = 1
 * redis.pconnect.pool_pattern => ''
 * redis.session.lock_expire = 0
 * redis.session.lock_retries = 10
 * redis.session.lock_wait_time = 2000
 * redis.session.locking_enabled = 0

https://developer.redis.com/develop/php/

MediaWiki Object/Main/Session Cache with Redis
Redis

MediaWiki Job Queue with Redis
Redis