Commit Graph

27 Commits

Author SHA1 Message Date
Russell Smith a169739d5d MDL-56273 cache: Use cache initialise always.
purge_all() and purge_by_definition() look in the configuration
for which caches are available and then creates them to purge them.
The configuration stores the values used by initialise(), not
initialise_unit_test_instance() and would therefore fail to purge
all caches if they were not purged by another means.

In the case of filestore, it's purged by unit tests, in the case
of memcache(d), it purges the whole store when a single definition
is requested.

Therefore all configuration was moved into the configuration file
during unit tests and does not have any special override codes in
the unit test infrastructure.
2016-10-30 13:42:43 +11:00
Sam Hemelryk ccc22a096a MDL-43349 cache: is_ready now checks are_requirements_met by default
(Fixes the fixed forwarded static call bug reverted in a5581c7)
2014-01-07 11:47:18 +08:00
Dan Poltawski a5581c7376 Revert "MDL-43349 cache: is_ready now checks are_requirements_met by default"
This reverts commit 2201c02d73.
2014-01-06 14:47:12 +08:00
Sam Hemelryk 2201c02d73 MDL-43349 cache: is_ready now checks are_requirements_met by default 2014-01-02 09:55:51 +13:00
Sam Hemelryk 85008bedd5 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:15:57 +12:00
Damyon Wiese 5ebe37fb27 Revert "MDL-41106 cache: several fixes for the session cache."
This reverts commit 89182546a0.
This reverts commit 170b05362a.
This reverts commit 2e9d5a534e.
2013-08-19 15:32:08 +08:00
Sam Hemelryk 89182546a0 MDL-41106 cache: tidied up several elements 2013-08-19 11:32:08 +12:00
Marina Glancy 170b05362a 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
2013-08-19 09:28:36 +12:00
Sam Hemelryk 2e9d5a534e 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:27:55 +12:00
Sam Hemelryk 67da59999a MDL-40677 cache: fixed bug with maxsize when setting 2013-07-22 10:42:04 +12:00
Sam Hemelryk cb3590091e MDL-40677: cachestore_session: implemented support for maxsize 2013-07-22 10:42:04 +12:00
Russell Smith ae21341523 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:15:19 +10:00
sam marshall cb86f1ebb3 MDL-39472 MUC: Improve parse_key performance 2013-05-02 16:04:29 +01:00
Sam Hemelryk dbd2ea4e1f 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.
2013-04-19 10:11:48 +12:00
Sam Hemelryk 32c981e67a MDL-38247 cache: fixed cache stores so that they pass unit tests 2013-03-01 10:11:55 +13:00
Sam Hemelryk 65b3edc450 MDL-36322 cache: cache stores now test connections during construction 2013-02-01 08:49:03 +13:00
Matteo Scaramuccia f4cec2ec87 MDL-36322 Errors when updating a Moodle instance with some misconfigured cache stores 2013-02-01 08:49:03 +13:00
Sam Hemelryk a037c943bd MDL-36363 cache: clean up pre-integration 2013-01-28 10:39:23 +13:00
Matteo Scaramuccia 59ca73ff82 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:23 +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