Redis Cache By Xon

Redis Cache By Xon 2.17.2

No permission to download
Xon updated Redis Cache By Xon with a new update entry:

2.11.0 - Feature update

  • Fix support for Redis v7+ high-availability using Redis Sentinel
  • Add support for redis auth via username/password (vs just password). Requires redis v6+
    PHP:
    $config['cache']['config']['username'] = 'myUsername'; // requires redis 6+, or for cloud redis installations
    $config['cache']['config']['password'] = '....';
  • Improve SSL/TLS support, exposing tls/ssl options.
    PHP:
    $config['cache']['config']['server'] = 'ssl://127.0.0.1';
    // See...

Read the rest of this update entry...
 
So we think we enabled Redis on our VPS, but there's no additional ACP section for Redis showing. How do we verify if its working?
 
So we think we enabled Redis on our VPS, but there's no additional ACP section for Redis showing. How do we verify if its working?
You need to apply the config.php changes. If redis isn't working the site will error (this applies for either this add-on or the stock redis connector).
 
I still don't understand which config should I choose, minimal or high availability or single slave or what to have best for website, what's the difference between them and when I need it? I still don't get it, could anyone please explain, I would be grateful
More question:
I saw in FAQ
$config['cache']['enabled'] = true;
$config['cache']['provider'] = 'SV\RedisCache\Redis';
$config['cache']['config'] = array(
'server' => '127.0.0.1',
'port' => 6379,
'compress_data' => 6,
);
While in minimal config file is
$config['cache']['sessions'] = true;
$config['cache']['enabled'] = true;
$config['cache']['provider'] = 'SV\RedisCache\Redis';
$config['cache']['config'] = [
'server' => '127.0.0.1',
'port' => 6379,
];

Which one is right ?
 
Last edited:
Site was working properly
But suddenly getting this error and site not loading now @Xon

Fatal error: Uncaught RedisException: MISCONF Redis is configured to save RDB snapshots, but it is currently not able to persist on disk. Commands that may modify the data set are disabled, because this instance is configured to report errors during writes if RDB snapshotting fails (stop-writes-on-bgsave-error option). Please check the Redis logs for details about the RDB error.
 
The error message tells you what you need todo.

You'll need to check the redis server log, and check the redis save location is owned by the redis user
 
Is it normal if I click "New posts" and read a thread, click "New posts" again and I see the last thread I just read returned in the list but it's not bold? It's obviously marked as read but I'm curious why it's returned in "New posts"? Is this a cache issue?
 
Is it normal if I click "New posts" and read a thread, click "New posts" again and I see the last thread I just read returned in the list but it's not bold? It's obviously marked as read but I'm curious why it's returned in "New posts"? Is this a cache issue?

That sounds like plain What's New behaviour .../whats-new/ which will show threads you've already read to the end but removes the bold once you've read them - those same threads, however, are excluded from the results with ..../whats-new/posts/

Check which link you're clicking.
 
That sounds like plain What's New behaviour .../whats-new/ which will show threads you've already read to the end but removes the bold once you've read them - those same threads, however, are excluded from the results with ..../whats-new/posts/

Check which link you're clicking.
No - "New posts"
 
  • CredisException: read error on connection to tcp://127.0.0.1:6379
  • src/addons/SV/RedisCache/Credis/Client.php:1326

  • Generated by: Unknown account
  • Jun 7, 2022 at 11:42 AM


Stack trace​


#0 src/addons/SV/RedisCache/Redis.php(409): Credis_Client->__call('mget', Array)
#1 src/addons/SV/RedisCache/Redis.php(49): SV\RedisCache\Redis->SV\RedisCache\{closure}()
#2 src/addons/SV/RedisCache/Redis.php(436): SV\RedisCache\Redis->redisQueryForStat('gets', Object(Closure))
#3 src/addons/SV/RedisCache/CacheProvider.php(63): SV\RedisCache\Redis->doFetchMultiple(Array)
#4 src/XF/DataRegistry.php(115): SV\RedisCache\CacheProvider->fetchMultiple(Array)
#5 src/XF/DataRegistry.php(83): XF\DataRegistry->readFromCache(Array, Array)
#6 src/XF/DataRegistry.php(228): XF\DataRegistry->get(Array)
#7 src/XF/App.php(1797): XF\DataRegistry->offsetGet('dbtCreditsCurre...')
#8 src/XF/Container.php(31): XF\App->XF\{closure}(Object(XF\Container))
#9 src/addons/DBTech/Credits/XF/Entity/User.php(179): XF\Container->offsetGet('dbtechCredits.c...')
#10 src/addons/SV/UserEssentials/XF/Entity/User.php(401): DBTech\Credits\XF\Entity\User::getStructure(Object(XF\Mvc\Entity\Structure))
#11 src/addons/SV/ConversationEssentials/XF/Entity/User.php(499): SV\UserEssentials\XF\Entity\User::getStructure(Object(XF\Mvc\Entity\Structure))
#12 src/addons/SV/SignupAbuseBlocking/XF/Entity/User.php(390): SV\ConversationEssentials\XF\Entity\User::getStructure(Object(XF\Mvc\Entity\Structure))
#13 src/XF/Mvc/Entity/Manager.php(72): SV\SignupAbuseBlocking\XF\Entity\User::getStructure(Object(XF\Mvc\Entity\Structure))
#14 src/XF/Repository/User.php(86): XF\Mvc\Entity\Manager->getEntityStructure('XF:User')
#15 src/XF/Repository/User.php(32): XF\Repository\User->getGuestUser()
#16 src/XF.php(586): XF\Repository\User->getVisitor(0)
#17 src/XF/PageCache.php(154): XF::visitor()
#18 src/XF/Pub/App.php(142): XF\PageCache->getCachedPage(Object(XF\Pub\App))
#19 src/XF/App.php(2348): XF\Pub\App->start(true)
#20 src/XF.php(524): XF\App->run()
#21 index.php(20): XF::runApp('XF\\Pub\\App')
#22 {main}

-------------

Previous RedisException: read error on connection to tcp://127.0.0.1:6379 - src/addons/SV/RedisCache/Credis/Client.php:1308
#0 src/addons/SV/RedisCache/Credis/Client.php(1308): Redis->mget(Array)
#1 src/addons/SV/RedisCache/Redis.php(409): Credis_Client->__call('mget', Array)
#2 src/addons/SV/RedisCache/Redis.php(49): SV\RedisCache\Redis->SV\RedisCache\{closure}()
#3 src/addons/SV/RedisCache/Redis.php(436): SV\RedisCache\Redis->redisQueryForStat('gets', Object(Closure))
#4 src/addons/SV/RedisCache/CacheProvider.php(63): SV\RedisCache\Redis->doFetchMultiple(Array)
#5 src/XF/DataRegistry.php(115): SV\RedisCache\CacheProvider->fetchMultiple(Array)
#6 src/XF/DataRegistry.php(83): XF\DataRegistry->readFromCache(Array, Array)
#7 src/XF/DataRegistry.php(228): XF\DataRegistry->get(Array)
#8 src/XF/App.php(1797): XF\DataRegistry->offsetGet('dbtCreditsCurre...')
#9 src/XF/Container.php(31): XF\App->XF\{closure}(Object(XF\Container))
#10 src/addons/DBTech/Credits/XF/Entity/User.php(179): XF\Container->offsetGet('dbtechCredits.c...')
#11 src/addons/SV/UserEssentials/XF/Entity/User.php(401): DBTech\Credits\XF\Entity\User::getStructure(Object(XF\Mvc\Entity\Structure))
#12 src/addons/SV/ConversationEssentials/XF/Entity/User.php(499): SV\UserEssentials\XF\Entity\User::getStructure(Object(XF\Mvc\Entity\Structure))
#13 src/addons/SV/SignupAbuseBlocking/XF/Entity/User.php(390): SV\ConversationEssentials\XF\Entity\User::getStructure(Object(XF\Mvc\Entity\Structure))
#14 src/XF/Mvc/Entity/Manager.php(72): SV\SignupAbuseBlocking\XF\Entity\User::getStructure(Object(XF\Mvc\Entity\Structure))
#15 src/XF/Repository/User.php(86): XF\Mvc\Entity\Manager->getEntityStructure('XF:User')
#16 src/XF/Repository/User.php(32): XF\Repository\User->getGuestUser()
#17 src/XF.php(586): XF\Repository\User->getVisitor(0)
#18 src/XF/PageCache.php(154): XF::visitor()
#19 src/XF/Pub/App.php(142): XF\PageCache->getCachedPage(Object(XF\Pub\App))
#20 src/XF/App.php(2348): XF\Pub\App->start(true)
#21 src/XF.php(524): XF\App->run()
#22 index.php(20): XF::runApp('XF\\Pub\\App')
#23 {main}
I frequently get this error every hour or so randomly
 
I don't recommend configuring redis to save to disk. Check this add-on's FAQ for notes on what you need to change.

Server configuration is well outside this add-on's support
 
Hi @Xon , is it good and recommend to enable page caching?
Add little bit more like this?
$config['pageCache']['enabled'] = true;
$config['cache']['context']['page']['provider'] = 'Redis';
$config['cache']['context']['page']['config'] = ['host' => '127.0.0.1'];
 
Page caching more for sites with very heavy guest usage, and may not make sense for all sites.

On modern dedicated hardware, XenForo can easily work with tens of thousands of members viewing & posting in a handful of threads without any issues*.

*XF's proxy/unfurl code can cause downtime if they share a fixed php-fpm pool with the main site under sufficient load due to exhausting the number of free workers.
 
Top Bottom