The Arcive of Official vBulletin Modifications Site.It is not a VB3 engine, just a parsed copy! |
|
Datastore cache to WinCache - boost your vBulletin Details »» | |||||||||||||||||||||||||||||
Datastore cache to WinCache - boost your vBulletin
Developer Last Online: Sep 2013
This allows you to use WinCache as a datastore cache in vBulletin. This also assumes that you have already installed Wincache version 1.1 or later. This is definitely your choice if you have already installed and enabled WinCache on your windows server. Use at your own risk!
(See screenshot of stats below after 30mins up-time) Prerequisites
Code:
// ############################################################################# // WINCACHE /** * Class for fetching and initializing the vBulletin datastore from WINCACHE */ class vB_Datastore_WINCACHE extends vB_Datastore { /** * Indicates if the result of a call to the register function should store the value in memory * * @var boolean */ var $store_result = false; /** * Fetches the contents of the datastore from WINCACHE * * @param array Array of items to fetch from the datastore * * @return void */ function fetch($items) { if (!function_exists('wincache_ucache_get')) { trigger_error('WINCACHE not installed', E_USER_ERROR); } if (!sizeof($items = $this->prepare_itemarray($items))) { return; } $unfetched_items = array(); foreach ($items AS $item) { $this->do_fetch($item, $unfetched_items); } $this->store_result = true; // some of the items we are looking for were not found, lets get them in one go if (!empty($unfetched_items)) { if (!($result = $this->do_db_fetch($this->prepare_itemlist($unfetched_items)))) { return false; } } $this->check_options(); return true; } /** * Fetches the data from shared memory and detects errors * * @param string title of the datastore item * @param array A reference to an array of items that failed and need to fetched from the database * * @return boolean */ function do_fetch($title, &$unfetched_items) { $ptitle = $this->prefix . $title; if (($data = wincache_ucache_get($ptitle)) === false) { // appears its not there, lets grab the data, lock the shared memory and put it in $unfetched_items[] = $title; return false; } $this->register($title, $data); return true; } /** * Sorts the data returned from the cache and places it into appropriate places * * @param string The name of the data item to be processed * @param mixed The data associated with the title * * @return void */ function register($title, $data, $unserialize_detect = 2) { if ($this->store_result === true) { $this->build($title, $data); } parent::register($title, $data, $unserialize_detect); } /** * Updates the appropriate cache file * * @param string title of the datastore item * @param mixed The data associated with the title * * @return void */ function build($title, $data) { $ptitle = $this->prefix . $title; wincache_ucache_delete($ptitle); wincache_ucache_set($ptitle, $data); } } Code:
$config['Datastore']['class'] = 'vB_Datastore_WINCACHE'; Check the "User and Session Cache" section of your wincache.php (screenshot) in your browser to see stats! Special thanks to the guys at Microsoft for their help! Official IIS support at http://forums.iis.net Enjoy! Screenshots
Show Your Support
|
Comments |
#2
|
|||
|
|||
reserved
|
#3
|
|||
|
|||
Thanks for this, just switched over from memcahced. Now only if there was something we can do with vBSEO and wincache
|
#4
|
|||
|
|||
I'm trying to work on that. I have it working but can't find a way to add it to the list in the cp lol
|
#5
|
|||
|
|||
We need WinCache installed?
|
#6
|
|||
|
|||
Hi there,
does anyone think it's a basic necessity to use a windows server ??? Well, I think, if you never heard about FreeBSD, just try linux for some more security on your server ... Best regards L.R. |
#7
|
|||
|
|||
Quote:
I was tried to use a linux on my servers, it's very hard to configure, it's crosslinked with tons of other open source. |
#8
|
||||
|
||||
Is there an easy way to test and see if we have WinCache installed?
I know I can ask my host, but didn't know if I could find out myself. |
#9
|
|||
|
|||
it will show up in your phpinfo.
thanks for supporting this- seems xcache for windows quit development after 5.3.6 |
|
|
X vBulletin 3.8.12 by vBS Debug Information | |
---|---|
|
|
More Information | |
Template Usage:
Phrase Groups Available:
|
Included Files:
Hooks Called:
|