The vBulletin Datastore 
To improve performance, vBulletin caches certain information which isn't updated often in the datastore, so that it doesn't have to be rebuilt every time it's needed.

Examples for this areThe datastore data is stored in the datastore database table by default, but certain settings in the config.php file allow this to be saved in other places, to improve performance:
/* #### DATASTORE CACHE CONFIGURATION  ####
Here you can configure different methods for caching datastore items.
vB_Datastore_Filecache - to use includes/datastore/datastore_cache.php
vB_Datastore_APCu - to use APCu (which replaces APC)
vB_Datastore_XCache - to use XCache (not available for PHP 7+)
vB_Datastore_Memcache - to use one or more Memcache servers, more configuration below.
vB_Datastore_Redis - to use one or more Redis servers, more configuration options below. */
// $config['Datastore']['class'] = 'vB_Datastore_Filecache'; 
In version 4.2.5, five options are available:

vB_Datastore_Filecache
This option saves the datastore data in the /includes/datastore/datastore_cache.php file. Reading from the filesystem is generally less load-intensive than querying the database.

To use this option, you'll need to make sure that the /includes/datastore/datastore_cache.php file is writable and readable by PHP. Usually this is chmod 777. Then, uncomment the following line in the config.php file.
// $config['Datastore']['class'] = 'vB_Datastore_Filecache'; 
vB_Datastore_APCu
This option saves the datastore data in shared memory using APCu on a server. APCu is replacing APC.

To use this option, replace the following line:
// $config['Datastore']['class'] = 'vB_Datastore_Filecache'; 
...with this one:
$config['Datastore']['class'] = 'vB_Datastore_APCu'
vB_Datastore_Memcache
This option saves the datastore data on a memcached server. This is a fast memory caching system which can also be run on a different server to reduce load on the main server.

To use this option, a memcached server has to be set up first.

To use this option, replace the following line:
// $config['Datastore']['class'] = 'vB_Datastore_Filecache'; 
...with this one:
$config['Datastore']['class'] = 'vB_Datastore_Memcache'
Additionally, the following section of the config.php file has to be set up with the correct IP/Servername and Port respectively. All lines need to be uncommented.
/* #### MEMCACHE SETTINGS #### */
$config['Misc']['memcacheServers'] = array(
    array(
        
'server' => '127.0.0.1',
        
'port' => 11211
    
),
); 
$config['Misc']['memcacheRetry'] = 15// Retry time in seconds.
$config['Misc']['memcacheTimeout'] = 1// Connect timeout in seconds.
$config['Misc']['memcachePersistent'] = true// Persistent connections.    
vB_Datastore_XCache
This option is not available for versions of PHP from 7+.

To use this option, replace the following line:
// $config['Datastore']['class'] = 'vB_Datastore_Filecache'; 
...with this one:
$config['Datastore']['class'] = 'vB_Datastore_XCache'
vB_Datastore_Redis

Redis is an open source (BSD licensed), in-memory data structure store.

To use this option, replace the following line:
// $config['Datastore']['class'] = 'vB_Datastore_Filecache'; 
...with this one:
$config['Datastore']['class'] = 'vB_Datastore_Redis'
To configure this, the following section of the config.php file has to be set up with the correct IP/Servername and Port respectively. All lines need to be uncommented.
/* #### REDIS SETTINGS #### */
$config['Misc']['redisServers'] = array(
    array(
        
'addr' => '127.0.0.1',
        
'port' => 6379
    
),
);
$config['Misc']['redisRetry'] = 100// Retry time in milliseconds.
$config['Misc']['redisTimeout'] = 3// Connect timeout in seconds.
$config['Misc']['redisMaxDelay'] = 10// Slave out of sync, timeout in seconds. 
Copyright © 2023 MH Sub I, LLC dba vBulletin. All rights reserved. vBulletin® is a registered trademark of MH Sub I, LLC dba vBulletin.