Commit Graph

20 Commits

Author SHA1 Message Date
Sam Hemelryk 426e9c79ac MDL-41106 cache: several fixes for the session cache.
This issue makes several fixes for the session loader and the session store.
 * maxsize argument now works for session caches.
 * fixed performance hole when interation occurs frequently.
 * fixed cache purge bug occuring when multiple caches are defined before being used.
 * improved lastaccess handling.

Big thanks to Marina who contributed the following commits:
 * Always make sure the elements in cache are sorted so we need to remove only elements in the beginning of array
 * Remove expired elements from session store to free memory
 * Minor bug fixes
2013-08-26 09:49:57 +12:00
Damyon Wiese 07173cac05 Revert "MDL-41106 cache: several fixes for the session cache."
This reverts commit 4973a0cb41.
This reverts commit e3d9d02381.
This reverts commit b4aba7cac2.
2013-08-19 15:34:00 +08:00
Sam Hemelryk 4973a0cb41 MDL-41106 cache: tidied up several elements 2013-08-19 11:31:37 +12:00
Marina Glancy e3d9d02381 MDL-41106 Cleaning up expired elements in session cache store
- Always make sure the elements in cache are sorted so we need to remove only elements in the beginning of array
- Remove expired elements from session store to free memory
- Minor bug fixes

Conflicts:
	cache/stores/session/lib.php
	cache/stores/session/tests/session_test.php
2013-08-19 11:31:11 +12:00
Sam Hemelryk b4aba7cac2 MDL-41106 cache: several fixes for the session cache.
This issue makes several fixes for the session loader and the session store.
* maxsize argument now works for session caches.
* fixed performance hole when interation occurs frequently.
* fixed cache purge bug occuring when multiple caches are defined before being used.
* improved lastaccess handling.
2013-08-16 11:59:31 +12:00
Russell Smith 2215cc347a MDL-40538 caching: Use isset for performance
isset is much faster than array_key_exists. For caches we need to
ensure as much performance as possible. To all null to continue to
be stored and provide correct results, non ttl also now saves in
$this->store[$key][0].  As isset($this->store[$key]) will return
true in all cases.

time() as found in cache::now() can be slow on some platforms and
we shouldn't bother checking it unless needed. It also stops non-ttl
caches paying the ttl price.

Unit tests were adjusted to ensure null is still handled correctly
when we are only using isset.
2013-07-10 10:42:51 +10:00
sam marshall 0f491109ca MDL-39472 MUC: Improve parse_key performance 2013-05-02 16:00:09 +01:00
Sam Hemelryk 2e0b7de1b1 MDL-38565 cache: session caches now function as expected
This change is a large change to the way sessions are handled
within MUC after it was discovered that session did not function
as expected when any store other than the default session store
was being used.
As part of this change the session loader has been largely
customised in order to consolidate session data for the loader.
The unit tests have also being greatly increased to provide
better coverage for sessions.

Conflicts:
	cache/README.md
	cache/tests/cache_test.php
2013-04-19 10:09:55 +12:00
Sam Hemelryk 770eed82fd MDL-36322 cache: cache stores now test connections during construction 2013-02-01 08:49:07 +13:00
Matteo Scaramuccia 447475e5d7 MDL-36322 Errors when updating a Moodle instance with some misconfigured cache stores 2013-02-01 08:49:07 +13:00
Sam Hemelryk a50cdcc0fd MDL-36363 cache: clean up pre-integration 2013-01-28 10:39:07 +13:00
Matteo Scaramuccia 86afa1d00f MDL-36363 Override instance_deleted() for all cache stores performing just a cleanup() when this action successfully applies over all the definitions of the cache store 2013-01-28 10:39:07 +13:00
Sam Hemelryk b144e12feb MDL-36768 cache: Fixed regression in cache stores by reordering classes 2012-11-27 12:14:48 +13:00
Sam Hemelryk 75cde6b9ac MDL-36768 cache: replaced cache_store interface with abstract class 2012-11-26 14:11:01 +13:00
Sam Hemelryk bd188851f2 MDL-36768 cache: Implemented abstract cache store base class 2012-11-26 08:12:45 +13:00
Sam Hemelryk 758dbdf894 MDL-36111 cache: Fixed up typo's and trivial issues 2012-11-12 10:36:53 +13:00
Sam Hemelryk 170f821b9d MDL-25290 cache: Fixed things up per coding style 2012-10-08 09:53:52 +13:00
Sam Hemelryk 34c84c723a MDL-25290 cache: Added cache locking plugin and converted locking implementations to that 2012-10-08 09:53:51 +13:00
Sam Hemelryk 6fec18203b MDL-25290 cache: Renamed plugin from cache => cachestore 2012-10-08 09:53:51 +13:00
Sam Hemelryk d7f1f57391 MDL-25290 cache_session: Added default session cache store 2012-10-08 09:53:50 +13:00