Use Redis to store the user storage if Redis is the cache
authorTim Düsterhus <duesterhus@woltlab.com>
Tue, 18 Oct 2016 11:57:25 +0000 (13:57 +0200)
committerTim Düsterhus <duesterhus@woltlab.com>
Tue, 18 Oct 2016 11:57:25 +0000 (13:57 +0200)
commit522764203eaf97b4a0ee5aa2c5afaa2548f2c352
tree4053e1f697de6640e93a404a6b38e208855bad22
parent6703653ebae78971a88dcc95d9b6d15c58b9b3e5
Use Redis to store the user storage if Redis is the cache

Using Redis avoids the fairly complex and deadlock prone
shutdown() function and thus improves performance and stability
in high traffic boards.

This patch deliberately avoids modifying any lines of the existing
MySQL based implementation, instead opting to only add if-guarded
code for the Redis implementation to ensure that no bugs are
accidentally introduced into the existing MySQL based user storage.

This Redis implementation has been tested in production for over
a year, with billions of commands processed, exposing not a single
bug.
wcfsetup/install/files/lib/data/option/OptionEditor.class.php
wcfsetup/install/files/lib/system/user/storage/UserStorageHandler.class.php