aboutsummaryrefslogtreecommitdiff
path: root/engine/lib/memcache.php
diff options
context:
space:
mode:
Diffstat (limited to 'engine/lib/memcache.php')
-rw-r--r--engine/lib/memcache.php30
1 files changed, 23 insertions, 7 deletions
diff --git a/engine/lib/memcache.php b/engine/lib/memcache.php
index de1c001b5..79b87e850 100644
--- a/engine/lib/memcache.php
+++ b/engine/lib/memcache.php
@@ -4,14 +4,10 @@
*
* Requires php5-memcache to work.
*
- * @package Elgg
- * @subpackage API
- * @author Curverider Ltd <info@elgg.com>
- * @link http://elgg.org/
+ * @package Elgg.Core
+ * @subpackage Cache.Memcache
*/
-require_once dirname(dirname(__FILE__)).'/classes/ElggMemcache.php';
-
/**
* Return true if memcache is available and configured.
*
@@ -27,7 +23,7 @@ function is_memcache_available() {
}
// If we haven't set variable to something
- if (($memcache_available!==true) && ($memcache_available!==false)) {
+ if (($memcache_available !== true) && ($memcache_available !== false)) {
try {
$tmp = new ElggMemcache();
// No exception thrown so we have memcache available
@@ -38,4 +34,24 @@ function is_memcache_available() {
}
return $memcache_available;
+}
+
+/**
+ * Invalidate an entity in memcache
+ *
+ * @param int $entity_guid The GUID of the entity to invalidate
+ *
+ * @return void
+ * @access private
+ */
+function _elgg_invalidate_memcache_for_entity($entity_guid) {
+ static $newentity_cache;
+
+ if ((!$newentity_cache) && (is_memcache_available())) {
+ $newentity_cache = new ElggMemcache('new_entity_cache');
+ }
+
+ if ($newentity_cache) {
+ $newentity_cache->delete($entity_guid);
+ }
} \ No newline at end of file