MDL-40538 caching: Use isset for performance
authorRussell Smith <mr-russ@smith2001.net>
Tue, 9 Jul 2013 00:10:17 +0000 (10:10 +1000)
committerRussell Smith <mr-russ@smith2001.net>
Wed, 10 Jul 2013 00:15:19 +0000 (10:15 +1000)
commitae21341523eec4771674a76f5a61c5dd2728c1e3
treec0dbd14505df16902108f9556aec27ce151c64ee
parentf8e6e5bc305535af966bd44ac01c554b327081fc
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.
cache/stores/session/lib.php
cache/stores/static/lib.php
cache/tests/cache_test.php