From 11eed225b799c14519ee46305be11566dbbb22b8 Mon Sep 17 00:00:00 2001 From: Evan Prodromou Date: Sun, 28 Sep 2008 14:18:12 -0400 Subject: [PATCH] blow the cached streams for tags on a new notice darcs-hash:20080928181812-5ed1f-708380f239b17b2a53b7279aa4a55af11156a5e8.gz --- classes/Notice.php | 16 ++++++++++++++++ classes/Notice_tag.php | 7 +++++++ 2 files changed, 23 insertions(+) diff --git a/classes/Notice.php b/classes/Notice.php index e72892966c..3402e2b307 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 e9f00d6d13..5ab6e332ab 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)); + } + } }