Resource icon

Zend Redis Cache 1.6.0

No permission to download

Xon

Well-known member
Xon updated Zend Redis Cache with a new update entry:

Implement pipelining for getMulti

XenForo_Model_DataRegistry::getMulti calls Cache->get() in a loop.

This update provides a version of XenForo_Model_DataRegistry which implements pipelining of the requests to reduce the latency of loading the default cache items for every request.

To activate, add the following line to the config.php file. Preferably after setting up the cache.
PHP:
require(XenForo_Application::getConfigDir().'/SV/RedisCache/Installer.php');

Read the rest of this update entry...
 
Looks interesting :)

Code:
An exception occurred: Undefined offset: 0 in /home/test/public_html/xenforo/library/SV/RedisCache/RedisDataRegistry.php on line 157

    XenForo_Application::handlePhpError() in SV/RedisCache/RedisDataRegistry.php at line 157
    XenForo_Model_DataRegistry->getMulti() in WidgetFramework/Model/Cache.php at line 101
    WidgetFramework_Model_Cache->_getMulti() in WidgetFramework/Model/Cache.php at line 39
    WidgetFramework_Model_Cache->getCachedWidgets() in WidgetFramework/Core.php at line 540
    WidgetFramework_Core->_loadCachedWidget() in WidgetFramework/Core.php at line 615
    WidgetFramework_Core::loadCachedWidget() in WidgetFramework/WidgetRenderer.php at line 634
    WidgetFramework_WidgetRenderer->render() in WidgetFramework/Core.php at line 397
    WidgetFramework_Core->_renderWidgetsFor() in WidgetFramework/Core.php at line 316
    WidgetFramework_Core->renderWidgetsFor() in WidgetFramework/Listener.php at line 126
    WidgetFramework_Listener::template_post_render()
    call_user_func_array() in XenForo/CodeEvent.php at line 58
    XenForo_CodeEvent::fire() in XenForo/Template/Abstract.php at line 195
    XenForo_Template_Abstract->render() in XenForo/Template/Public.php at line 110
    XenForo_Template_Public->render() in XenForo/ViewRenderer/HtmlPublic.php at line 123
    XenForo_ViewRenderer_HtmlPublic->renderContainer() in XenForo/FrontController.php at line 618
    XenForo_FrontController->renderView() in XenForo/FrontController.php at line 158
    XenForo_FrontController->run() in /home/test/public_html/xenforo/index.php at line 13
 
@silence Has that occurred once or continuously? Any particular widget, or just having the framework installed enough?

I'll have a look at what the Widget Framework is doing sometime within the next few days.
 
Last edited:
@silence Has that occurred once or continuously? Any particular widget, or just having the framework installed enough?

I'll have a look at what the Widget Framework is doing sometime within the next few days.
Alright thanks :)
It occured only on the /forums/ page.
 
Xon updated Zend Redis Cache with a new update entry:

Automatically prune css cache

Instead of allowing CSS Entries to naturally expire after 7 days, this addon now selectively prunes the expired CSS out of the Redis instance when the style cache is rebuild.

The entire style cache is rebuilt on:
  • addon install/upgrade
  • Template/Css changes
  • Style Property changes
And likely a few more places. This potentially will result in a large number of keys which will never be used again if you are tweaking this properties on a live site.

This addon now uses a...

Read the rest of this update entry...
 
Still getting errors:

Code:
An exception occurred: array_keys() expects parameter 1 to be array, string given in /home/fdsafdsafdsa/public_html/xenforo/library/WidgetFramework/Model/Cache.php on line 50

    XenForo_Application::handlePhpError()
    array_keys() in WidgetFramework/Model/Cache.php at line 50
    WidgetFramework_Model_Cache->getCachedWidgets() in WidgetFramework/Core.php at line 540
    WidgetFramework_Core->_loadCachedWidget() in WidgetFramework/Core.php at line 615
    WidgetFramework_Core::loadCachedWidget() in WidgetFramework/WidgetRenderer.php at line 634
    WidgetFramework_WidgetRenderer->render() in WidgetFramework/Core.php at line 397
    WidgetFramework_Core->_renderWidgetsFor() in WidgetFramework/Core.php at line 316
    WidgetFramework_Core->renderWidgetsFor() in WidgetFramework/Listener.php at line 126
    WidgetFramework_Listener::template_post_render()
    call_user_func_array() in XenForo/CodeEvent.php at line 58
    XenForo_CodeEvent::fire() in XenForo/Template/Abstract.php at line 195
    XenForo_Template_Abstract->render() in XenForo/Template/Public.php at line 110
    XenForo_Template_Public->render() in XenForo/ViewRenderer/HtmlPublic.php at line 123
    XenForo_ViewRenderer_HtmlPublic->renderContainer() in XenForo/FrontController.php at line 618
    XenForo_FrontController->renderView() in XenForo/FrontController.php at line 158
    XenForo_FrontController->run() in /home/fdsafdsafdsa/public_html/xenforo/index.php at line 13

It's also making my web pages much slower :(
 
Well a different error, progress of a sorts.

What sort of widgets are you using? I didn't hit that error the provided sidebar.


:(
Yeah maybe it's caused by the errors :(

Uhhhhh I disabled every widget for the template forum_list and the error still appears :(
 
Uhhhhh I disabled every widget for the template forum_list and the error still appears :(
Can you PM me the list of widgets you are using? I haven't been able to reproduce this myself, as I need to find a widget which actually stores cached data.
 
Last edited:
Xon updated Zend Redis Cache with a new update entry:

Support "automatic_serialization" attribute for FrontEndCache

Properly support when "automatic_serialization" is true in config.php

This setting causes double serialization and deserializing when fetching data from the cache. So you really don't want to be using it if possible.

Warning
Changing this setting without flushing the cache will make your site behave poorly and throw errors!

Read the rest of this update entry...
 
Are there any significant query optimizations when using this addon and Redis? Or is it only really viable when there's more than 1 server running Redis?
 
Are there any significant query optimizations when using this addon and Redis? Or is it only really viable when there's more than 1 server running Redis?
Even for a single server, I'ld recommend some sort of caching. Either Memcache or Redis as they can reliably hold session info, over an in process cache.

This addon implements pipelining, means that the initial loading occurs in one request rather than as half a dozen or so. Over time I will add support for other things to be cached, with a framework to preload data when the request loads to leverage pipelining.
 
For anyone else using OVH for hosting:

Installing redis from source won't work because OVH uses its own linux kernel (in Ubuntu/Debian) with a bunch of other things installed. Instead install from apt-get with:

apt-get install -y python-software-properties
add-apt-repository -y ppa:rwky/redis
apt-get update
apt-get install -y redis-server

---
@Xon, does your addon already include Cm_Cache_Backend_Redis and Credis? If not, where do i install those?
 
Last edited:
@Xon, does your addon already include Cm_Cache_Backend_Redis and Credis? If not, where do i install those?
They are installed as part of this addon.

The original purpose of this addon for me to be able to easily deploy those libraries via using an XF addon installer.
 
Top Bottom