summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--classes/Notice.php16
-rw-r--r--classes/Notice_tag.php7
2 files changed, 23 insertions, 0 deletions
diff --git a/classes/Notice.php b/classes/Notice.php
index e72892966..3402e2b30 100644
--- a/classes/Notice.php
+++ b/classes/Notice.php
@@ -140,6 +140,22 @@ class Notice extends Memcached_DataObject
$this->blowNoticeCache();
$this->blowRepliesCache();
$this->blowPublicCache();
+ $this->blowTagCache();
+ }
+
+ function blowTagCache() {
+ $cache = common_memcache();
+ if ($cache) {
+ $tag = new Notice_tag();
+ $tag->notice_id = $this->id;
+ if ($tag->find()) {
+ while ($tag->fetch()) {
+ $tag->blowCache();
+ }
+ }
+ $tag->free();
+ unset($tag);
+ }
}
function blowSubsCache() {
diff --git a/classes/Notice_tag.php b/classes/Notice_tag.php
index e9f00d6d1..5ab6e332a 100644
--- a/classes/Notice_tag.php
+++ b/classes/Notice_tag.php
@@ -45,4 +45,11 @@ class Notice_tag extends Memcached_DataObject
'notice_tag:notice_stream:' . $tag,
$offset, $limit);
}
+
+ function blowCache() {
+ $cache = common_memcache();
+ if ($cache) {
+ $cache->delete(common_cache_key('notice_tag:notice_stream:' . $this->tag));
+ }
+ }
}