Redis Cache By Xon

Redis Cache By Xon 2.17.2

No permission to download
Yes it's running on port 6379, it's only happens in a certain time frame, outside of that timeframe it's normal
I'ld recommend disabling redis autosaving, as this may be causing stalls. Basically comment out the "save" statements in the config.
 
I'ld recommend disabling redis autosaving, as this may be causing stalls. Basically comment out the "save" statements in the config.
Sorry but I'm not sure, is that redis config file? I found the file in /etc/redis/redis.conf
Here is mine config redis file, I leave it default, seems like "save" statements is already has "#", could you take a look please

 
I'm currently in something of a time-crunch with existing commitments and don't have time to take on additional sysadmin support work. The hosting sub-forum should be able to help with with this.
 
Sorry but I'm not sure, is that redis config file? I found the file in /etc/redis/redis.conf
Here is mine config redis file, I leave it default, seems like "save" statements is already has "#", could you take a look please

# It is also possible to remove all the previously configured save
# points by adding a save directive with a single empty string argument
# like in the following example:
#
save ""
 
I'm currently in something of a time-crunch with existing commitments and don't have time to take on additional sysadmin support work. The hosting sub-forum should be able to help with with this.
# It is also possible to remove all the previously configured save
# points by adding a save directive with a single empty string argument
# like in the following example:
#
save ""
Thank you both, after I searched more on google it turns out I just need to restart redis and it didn't happen again
 
  • Like
Reactions: rdn
Xon updated Redis Cache By Xon with a new update entry:

2.13.0 - Feature update

This add-on is now available on atelieraphelion.com
  • Require XenForo 2.2+
  • Require php 7.2+
  • Track latest upstream Credis library
  • Fix some errors from Redis would trigger an unhelpful php type error, instead of a more useful error message
  • Correctly implement "saveMultiple" method on the cache interface. This method is not used by XenForo (and apparently any other 3rd party).
    • Will be using in...

Read the rest of this update entry...
 
Installing your update now but have a suggestion for a future update. The widget in the Admin CP that shows stats appears to list all databases. I really only want to see the database associated with the current site. If you still intend to show all redis db's please bold the one that is used by this site as I can't remember the assigned db number. I run a half dozen XF sites. Also, the metrics really don't tell me much, just TTL values. If there are any stats that can show me good, bad etc. I'd appreciate meaningful stats.

I just switched from TCP to unix socket and it appears to be faster but is it better? Is one multi-threaded and the other not? Any suggestions on the best performing setup is appreciated. I only have params in my config.php to connect to the socket, nothing for compression or other variables I've seen on this forum. I'm leaving it up to you to ensure the highest performance setup otherwise please share tips to take redis cache to the best performance mode as some of us one to tweak for every ounce of performance backed by powerful servers with no concern about memory available.
 
Installing your update now but have a suggestion for a future update. The widget in the Admin CP that shows stats appears to list all databases. I really only want to see the database associated with the current site. If you still intend to show all redis db's please bold the one that is used by this site as I can't remember the assigned db number. I run a half dozen XF sites. Also, the metrics really don't tell me much, just TTL values. If there are any stats that can show me good, bad etc. I'd appreciate meaningful stats.
The only per-stats are the key count and ttl average. Everything else is global to that redis instance.

I just switched from TCP to unix socket and it appears to be faster but is it better? Is one multi-threaded and the other not? Any suggestions on the best performing setup is appreciated. I only have params in my config.php to connect to the socket, nothing for compression or other variables I've seen on this forum. I'm leaving it up to you to ensure the highest performance setup otherwise please share tips to take redis cache to the best performance mode as some of us one to tweak for every ounce of performance backed by powerful servers with no concern about memory available.
The defaults are reasonable, everything else involves trade-offs not just maximum performance.
 
Hi!
I updated php8 -> php8.1 with old versions:
Redis Cache 2.11.5 аnd Standard Library 1.15.2
Forum cant start, HTTP ERROR 500, admin panel not working... :(

Reinstalled back php8, reboot server - not working, same error...
I copied new versions of addons by Xon - but I can't install them, admin panel doesn't work - HTTP ERROR 500!

php cmd.php xf:addon-upgrade SV/RedisCache
php cmd.php xf:addon-upgrade SV/StandardLib
php cmd.php xf:addon-uninstall SV/RedisCache
same error...

How to start a forum?

[13-Apr-2023 00:25:14 UTC] PHP Fatal error: Uncaught Error: Call to undefined function SV\RedisCache\gzcompress() in /home/public_html/forum/src/addons/SV/RedisCache/Cm_Cache_Backend_Redis.php:495
Stack tracpe:
#0 /home/public_html/forum/src/addons/SV/RedisCache/Redis.php(525): SV\RedisCache\Cm_Cache_Backend_Redis->_encodeData('a:22:{s:18:"add...', 6)
#1 /home/public_html/forum/src/addons/SV/RedisCache/Redis.php(96): SV\RedisCache\Redis->SV\RedisCache\{closure}()
#2 /home/public_html/forum/src/addons/SV/RedisCache/Redis.php(526): SV\RedisCache\Redis->timerForStat('time_compressio...', Object(Closure))
#3 /home/public_html/forum/src/addons/SV/RedisCache/Redis.php(589): SV\RedisCache\Redis->_encodeData(NULL, 6)
#4 /home/public_html/forum/src/addons/SV/RedisCache/Redis.php(49): SV\RedisCache\Redis->SV\RedisCache\{closure}()
#5 /home/public_html/forum/src/addons/SV/RedisCache/Redis.php(606): SV\RedisCache\Redis->redisQueryForStat('sets', Object(Closure))
#6 /home/public_html/forum/src/addons/SV/RedisCache/CacheProvider.php(92): SV\RedisCache\Redis->doSave('xf_data_codeEve...', Array, 3600)
#7 /home/public_html/forum/src/XF/DataRegistry.php(189): SV\RedisCache\CacheProvider->save('data_codeEventL...', Array, 3600)
#8 /home/public_html/forum/src/XF/DataRegistry.php(158): XF\DataRegistry->setInCache('codeEventListen...', Array)
#9 /home/public_html/forum/src/XF/DataRegistry.php(84): XF\DataRegistry->readFromDb(Array, Array)
#10 /home/public_html/forum/src/XF/DataRegistry.php(228): XF\DataRegistry->get(Array)
#11 /home/public_html/forum/src/XF/App.php(1927): XF\DataRegistry->offsetGet('codeEventListen...')
#12 /home/public_html/forum/src/XF/Container.php(31): XF\App->XF\{closure}(Object(XF\Container))
#13 /home/public_html/forum/src/XF/App.php(1597): XF\Container->offsetGet('extension.liste...')
#14 /home/public_html/forum/src/XF/Container.php(31): XF\App->XF\{closure}(Object(XF\Container))
#15 /home/public_html/forum/src/XF/App.php(2976): XF\Container->offsetGet('extension')
#16 /home/public_html/forum/src/XF/App.php(3004): XF\App->extension()
#17 /home/public_html/forum/src/XF/App.php(1117): XF\App->extendClass('XF\\FsMounts')
#18 /home/public_html/forum/src/XF/Container.php(31): XF\App->XF\{closure}(Object(XF\Container))
#19 /home/public_html/forum/src/XF/App.php(2732): XF\Container->offsetGet('fs')
#20 /home/public_html/forum/src/XF.php(944): XF\App->fs()
#21 /home/public_html/forum/src/XF/Util/File.php(758): XF::fs()
#22 /home/public_html/forum/src/XF/Error.php(102): XF\Util\File::installLockExists()
#23 /home/public_html/forum/src/XF/App.php(2494): XF\Error->logException(Object(Error), true, '')
#24 /home/public_html/forum/src/XF.php(202): XF\App->logException(Object(Error), true)
#25 [internal function]: XF::handleException(Object(Error))
#26 {main}
thrown in /home/public_html/forum/src/addons/SV/RedisCache/Cm_Cache_Backend_Redis.php on line 495

Found a solution: after reinstalling for php8, it took another php80-zlib
 
Last edited:
Hi!
I updated php8 -> php8.1 with old versions:
Redis Cache 2.11.5 аnd Standard Library 1.15.2
Forum cant start, HTTP ERROR 500, admin panel not working... :(

Reinstalled back php8, reboot server - not working, same error...
I copied new versions of addons by Xon - but I can't install them, admin panel doesn't work - HTTP ERROR 500!

php cmd.php xf:addon-upgrade SV/RedisCache
php cmd.php xf:addon-upgrade SV/StandardLib
php cmd.php xf:addon-uninstall SV/RedisCache
same error...

How to start a forum?

[13-Apr-2023 00:25:14 UTC] PHP Fatal error: Uncaught Error: Call to undefined function SV\RedisCache\gzcompress() in /home/public_html/forum/src/addons/SV/RedisCache/Cm_Cache_Backend_Redis.php:495
Stack tracpe:
#0 /home/public_html/forum/src/addons/SV/RedisCache/Redis.php(525): SV\RedisCache\Cm_Cache_Backend_Redis->_encodeData('a:22:{s:18:"add...', 6)
#1 /home/public_html/forum/src/addons/SV/RedisCache/Redis.php(96): SV\RedisCache\Redis->SV\RedisCache\{closure}()
#2 /home/public_html/forum/src/addons/SV/RedisCache/Redis.php(526): SV\RedisCache\Redis->timerForStat('time_compressio...', Object(Closure))
#3 /home/public_html/forum/src/addons/SV/RedisCache/Redis.php(589): SV\RedisCache\Redis->_encodeData(NULL, 6)
#4 /home/public_html/forum/src/addons/SV/RedisCache/Redis.php(49): SV\RedisCache\Redis->SV\RedisCache\{closure}()
#5 /home/public_html/forum/src/addons/SV/RedisCache/Redis.php(606): SV\RedisCache\Redis->redisQueryForStat('sets', Object(Closure))
#6 /home/public_html/forum/src/addons/SV/RedisCache/CacheProvider.php(92): SV\RedisCache\Redis->doSave('xf_data_codeEve...', Array, 3600)
#7 /home/public_html/forum/src/XF/DataRegistry.php(189): SV\RedisCache\CacheProvider->save('data_codeEventL...', Array, 3600)
#8 /home/public_html/forum/src/XF/DataRegistry.php(158): XF\DataRegistry->setInCache('codeEventListen...', Array)
#9 /home/public_html/forum/src/XF/DataRegistry.php(84): XF\DataRegistry->readFromDb(Array, Array)
#10 /home/public_html/forum/src/XF/DataRegistry.php(228): XF\DataRegistry->get(Array)
#11 /home/public_html/forum/src/XF/App.php(1927): XF\DataRegistry->offsetGet('codeEventListen...')
#12 /home/public_html/forum/src/XF/Container.php(31): XF\App->XF\{closure}(Object(XF\Container))
#13 /home/public_html/forum/src/XF/App.php(1597): XF\Container->offsetGet('extension.liste...')
#14 /home/public_html/forum/src/XF/Container.php(31): XF\App->XF\{closure}(Object(XF\Container))
#15 /home/public_html/forum/src/XF/App.php(2976): XF\Container->offsetGet('extension')
#16 /home/public_html/forum/src/XF/App.php(3004): XF\App->extension()
#17 /home/public_html/forum/src/XF/App.php(1117): XF\App->extendClass('XF\\FsMounts')
#18 /home/public_html/forum/src/XF/Container.php(31): XF\App->XF\{closure}(Object(XF\Container))
#19 /home/public_html/forum/src/XF/App.php(2732): XF\Container->offsetGet('fs')
#20 /home/public_html/forum/src/XF.php(944): XF\App->fs()
#21 /home/public_html/forum/src/XF/Util/File.php(758): XF::fs()
#22 /home/public_html/forum/src/XF/Error.php(102): XF\Util\File::installLockExists()
#23 /home/public_html/forum/src/XF/App.php(2494): XF\Error->logException(Object(Error), true, '')
#24 /home/public_html/forum/src/XF.php(202): XF\App->logException(Object(Error), true)
#25 [internal function]: XF::handleException(Object(Error))
#26 {main}
thrown in /home/public_html/forum/src/addons/SV/RedisCache/Cm_Cache_Backend_Redis.php on line 495

Found a solution: after reinstalling for php8, it took another php80-zlib
depending on your setup, its easier to use easyapache as a "package" and build from there.
 
Hi!
I updated php8 -> php8.1 with old versions:
Redis Cache 2.11.5 аnd Standard Library 1.15.2
Forum cant start, HTTP ERROR 500, admin panel not working... :(

Reinstalled back php8, reboot server - not working, same error...
I copied new versions of addons by Xon - but I can't install them, admin panel doesn't work - HTTP ERROR 500!
You are missing the zlib extension, which is required for XenForo. Not just this add-on
 
Hi,

I just move to a new server. I get the bellow Apache error. I am running Ubuntu 20.04 with a Plesk deployment (last version).
I don't understand fro the log, what the actual problem is. Would be happy if someone can help me to solve the issue.

My XenForo Redis Config:
Bash:
#redis cache
$config['cache']['sessions'] = true;
$config['cache']['enabled'] = true;
$config['cache']['provider'] = 'SV\RedisCache\Redis';
$config['cache']['config'] = [
'server' => '127.0.0.1',
'port' => 6379,
];

Here are the Redis settings on Plesk Docker container.

1684936088389.png
XenForo Error Log.

1684936670932.webp


Bash:
2023-05-24 16:22:48    Error    XXX.XXX.XXX.XXX        AH01071: Got error 'PHP message: PHP Fatal error: Uncaught RedisException: READONLY You can't write against a read only replica. in /var/www/vhosts/MYDOMAIN.com/httpdocs/src/addons/SV/RedisCache/Credis/Client.php:1280\nStack trace:\n#0 /var/www/vhosts/MYDOMAIN.com/httpdocs/src/addons/SV/RedisCache/Credis/Client.php(1280): Redis->set('xf_data_codeEve...', 'gz:\\x1F\\x8Bx\\x01\\xBD[\\xDDr\\x9B\\xC8\\x12~...', 3600)\n#1 /var/www/vhosts/MYDOMAIN.com/httpdocs/src/addons/SV/RedisCache/Redis.php(598): Credis_Client->__call('set', Array)\n#2 /var/www/vhosts/MYDOMAIN.com/httpdocs/src/addons/SV/RedisCache/Redis.php(49): SV\\RedisCache\\Redis->SV\\RedisCache\\{closure}()\n#3 /var/www/vhosts/MYDOMAIN.com/httpdocs/src/addons/SV/RedisCache/Redis.php(606): SV\\RedisCache\\Redis->redisQueryForStat('sets', Object(Closure))\n#4 /var/www/vhosts/MYDOMAIN.com/httpdocs/src/addons/SV/RedisCache/CacheProvider.php(92): SV\\RedisCache\\Redis->doSave('xf_data_codeEve...', Array, 3600)\n#5 /var/www/vhosts/MYDOMAIN.com/httpdocs/src/XF/DataRegistry.php(18...', referer: https://www.google.com/                Apache error
2023-05-24 16:22:48    Error    XXX.XXX.XXX.XXX        AH01071: Got error 'PHP message: PHP Fatal error: Uncaught RedisException: READONLY You can't write against a read only replica. in /var/www/vhosts/MYDOMAIN.com/httpdocs/src/addons/SV/RedisCache/Credis/Client.php:1280\nStack trace:\n#0 /var/www/vhosts/MYDOMAIN.com/httpdocs/src/addons/SV/RedisCache/Credis/Client.php(1280): Redis->set('xf_data_codeEve...', 'gz:\\x1F\\x8Bx\\x01\\xBD[\\xDDr\\x9B\\xC8\\x12~...', 3600)\n#1 /var/www/vhosts/MYDOMAIN.com/httpdocs/src/addons/SV/RedisCache/Redis.php(598): Credis_Client->__call('set', Array)\n#2 /var/www/vhosts/MYDOMAIN.com/httpdocs/src/addons/SV/RedisCache/Redis.php(49): SV\\RedisCache\\Redis->SV\\RedisCache\\{closure}()\n#3 /var/www/vhosts/MYDOMAIN.com/httpdocs/src/addons/SV/RedisCache/Redis.php(606): SV\\RedisCache\\Redis->redisQueryForStat('sets', Object(Closure))\n#4 /var/www/vhosts/MYDOMAIN.com/httpdocs/src/addons/SV/RedisCache/CacheProvider.php(92): SV\\RedisCache\\Redis->doSave('xf_data_codeEve...', Array, 3600)\n#5 /var/www/vhosts/MYDOMAIN.com/httpdocs/src/XF/DataRegistry.php(18...', referer: https://www.MYDOMAIN.com/                Apache error
2023-05-24 16:22:48    Error    XXX.XXX.XXX.XXX        AH01071: Got error 'PHP message: PHP Fatal error: Uncaught RedisException: READONLY You can't write against a read only replica. in /var/www/vhosts/MYDOMAIN.com/httpdocs/src/addons/SV/RedisCache/Credis/Client.php:1280\nStack trace:\n#0 /var/www/vhosts/MYDOMAIN.com/httpdocs/src/addons/SV/RedisCache/Credis/Client.php(1280): Redis->set('xf_data_codeEve...', 'gz:\\x1F\\x8Bx\\x01\\xBD[\\xDDr\\x9B\\xC8\\x12~...', 3600)\n#1 /var/www/vhosts/MYDOMAIN.com/httpdocs/src/addons/SV/RedisCache/Redis.php(598): Credis_Client->__call('set', Array)\n#2 /var/www/vhosts/MYDOMAIN.com/httpdocs/src/addons/SV/RedisCache/Redis.php(49): SV\\RedisCache\\Redis->SV\\RedisCache\\{closure}()\n#3 /var/www/vhosts/MYDOMAIN.com/httpdocs/src/addons/SV/RedisCache/Redis.php(606): SV\\RedisCache\\Redis->redisQueryForStat('sets', Object(Closure))\n#4 /var/www/vhosts/MYDOMAIN.com/httpdocs/src/addons/SV/RedisCache/CacheProvider.php(92): SV\\RedisCache\\Redis->doSave('xf_data_codeEve...', Array, 3600)\n#5 /var/www/vhosts/MYDOMAIN.com/httpdocs/src/XF/DataRegistry.php(18...', referer: https://www.MYDOMAIN.com/whats-new/posts/833809/                Apache error
2023-05-24 16:22:48    Error    XXX.XXX.XXX.XXX        AH01071: Got error 'PHP message: PHP Fatal error: Uncaught RedisException: READONLY You can't write against a read only replica. in /var/www/vhosts/MYDOMAIN.com/httpdocs/src/addons/SV/RedisCache/Credis/Client.php:1280\nStack trace:\n#0 /var/www/vhosts/MYDOMAIN.com/httpdocs/src/addons/SV/RedisCache/Credis/Client.php(1280): Redis->set('xf_data_codeEve...', 'gz:\\x1F\\x8Bx\\x01\\xBD[\\xDDr\\x9B\\xC8\\x12~...', 3600)\n#1 /var/www/vhosts/MYDOMAIN.com/httpdocs/src/addons/SV/RedisCache/Redis.php(598): Credis_Client->__call('set', Array)\n#2 /var/www/vhosts/MYDOMAIN.com/httpdocs/src/addons/SV/RedisCache/Redis.php(49): SV\\RedisCache\\Redis->SV\\RedisCache\\{closure}()\n#3 /var/www/vhosts/MYDOMAIN.com/httpdocs/src/addons/SV/RedisCache/Redis.php(606): SV\\RedisCache\\Redis->redisQueryForStat('sets', Object(Closure))\n#4 /var/www/vhosts/MYDOMAIN.com/httpdocs/src/addons/SV/RedisCache/CacheProvider.php(92): SV\\RedisCache\\Redis->doSave('xf_data_codeEve...', Array, 3600)\n#5 /var/www/vhosts/MYDOMAIN.com/httpdocs/src/XF/DataRegistry.php(18...'
 
Last edited:
My Redis configuration running already years:


#Redis by Xon
$config['cache']['enabled'] = true;
$config['cache']['provider'] = 'SV\RedisCache\Redis';
$config['cache']['config'] = array(
'server' => '10.0.24.1',
'port' => 22302,
'password' => '34bdhKKKulv19de8RQsl',
'connect_retries' => 2,
'use_lua' => true,
'compress_data' => 6,
);
 
I posted a fancy password.

It is my experience to install Redis, as the Redis configuration in config.php not yet activated is.
From the moment Redis is installed, I will then activate config.php in src with the Redis settings.
Doing it so, I will not get errors.
 
Top Bottom