ROC previously worked like a champ, but I think something in 6.2 changed and my ROC instances are no longer connecting to the redis server they can see and have used for months. I’m a very experienced Redis developer here, running a very simple redis docker instance that serves 5 – 9 dev WP sites (and another serving test sites).
Since 6.2, the sites that previously had working connections to redis are failing, with “Not connected” appearing in ROC settings, and the following diagnostics [note that I have a regis-cli ping / PONG at the end of this thread, so “connection refused” from WP ≠ experience from bash on same machine]
Status: Not connected
Client: PhpRedis (v5.1.1)
Drop-in: Valid
Disabled: No
Ping:
Connection Exception: Connection refused (RedisException)
Errors: [
"Connection refused"
]
PhpRedis: 5.1.1
Relay: Not loaded
Predis: Not loaded
Credis: Not loaded
PHP Version: 7.4.3-4ubuntu2.18
Plugin Version: 2.2.4
Redis Version: Unknown
Multisite: No
Metrics: Disabled
Metrics recorded: 0
Filesystem: Working
Global Prefix: "lsem_"
Blog Prefix: "lsem_"
WP_REDIS_PLUGIN_PATH: "/var/www/html/wp-content/plugins/redis-cache"
Global Groups: [
"blog-details",
"blog-id-cache",
"blog-lookup",
"global-posts",
"networks",
"rss",
"sites",
"site-details",
"site-lookup",
"site-options",
"site-transient",
"users",
"useremail",
"userlogins",
"usermeta",
"user_meta",
"userslugs",
"redis-cache"
]
Ignored Groups: [
"counts",
"plugins",
"themes",
"blog-details",
"blog-id-cache",
"blog-lookup",
"global-posts",
"networks",
"rss",
"sites",
"site-details",
"site-lookup",
"site-options",
"site-transient",
"users",
"useremail",
"userlogins",
"usermeta",
"user_meta",
"userslugs",
"redis-cache",
"blog_meta",
"theme_json",
"sensei\/temporary"
]
Unflushable Groups: []
Groups Types: {
"blog-details": "ignored",
"blog-id-cache": "ignored",
"blog-lookup": "ignored",
"global-posts": "ignored",
"networks": "ignored",
"rss": "ignored",
"sites": "ignored",
"site-details": "ignored",
"site-lookup": "ignored",
"site-options": "ignored",
"site-transient": "ignored",
"users": "ignored",
"useremail": "ignored",
"userlogins": "ignored",
"usermeta": "ignored",
"user_meta": "ignored",
"userslugs": "ignored",
"redis-cache": "ignored",
"counts": "ignored",
"plugins": "ignored",
"themes": "ignored",
"blog_meta": "ignored",
"theme_json": "ignored",
"sensei\/temporary": "ignored"
}
Drop-ins: [
"Query Monitor Database Class (Drop-in) v3.12.1 by John Blackbourn",
"Redis Object Cache Drop-In v2.2.4 by Till Krüss"
]This appears in Debug Log every 10 seconds:
[10-Apr-2023 21:10:23 UTC] RedisException: Connection refused in /var/www/html/wp-content/object-cache.php:723
Stack trace:
#0 /var/www/html/wp-content/object-cache.php(723): Redis->connect()
#1 /var/www/html/wp-content/object-cache.php(539): WP_Object_Cache->connect_using_phpredis()
#2 /var/www/html/wp-content/object-cache.php(257): WP_Object_Cache->__construct()
#3 /var/www/html/wp-includes/load.php(750): wp_cache_init()
#4 /var/www/html/wp-settings.php(131): wp_start_object_cache()
#5 /var/www/html/wp-config.php(178): require_once('/var/www/html/w...')
#6 /var/www/html/wp-load.php(50): require_once('/var/www/html/w...')
#7 /var/www/html/wp-admin/admin.php(34): require_once('/var/www/html/w...')
#8 /var/www/html/wp-admin/plugins.php(10): require_once('/var/www/html/w...')
#9 {main}$php -i | grep Redis
Redis Support => enabled
Redis Version => 5.1.1phpredis is installed, as indicated above. I also install redis-cli on these instances to save my own sanity and can confirm that from all affected boxes, this works as it should:
$redis-cli -h 192.168.5.111 -p 6379 PING
PONGThoughts / did-you-check suggestions / fixes welcome. Thanks!
