From: Evan Prodromou Date: Sat, 22 Nov 2008 19:28:57 +0000 (-0500) Subject: if all faves in cache, skip X-Git-Url: https://git.mxchange.org/?a=commitdiff_plain;h=45f5ef8c8741fe874c5353df4f9f7ff37f6feeda;p=quix0rs-gnu-social.git if all faves in cache, skip darcs-hash:20081122192857-84dde-c8fcddd794a8339a53e6a0224bd07f6f86ef3896.gz --- diff --git a/classes/User.php b/classes/User.php index 75dd733151..0c0874091d 100644 --- a/classes/User.php +++ b/classes/User.php @@ -281,6 +281,7 @@ class User extends Memcached_DataObject # This is the stream of favorite notices, in rev chron # order. This forces it into cache. $faves = $this->favoriteNotices(0, NOTICE_CACHE_WINDOW); + $cnt = 0; while ($faves->fetch()) { if ($faves->id < $notice->id) { @@ -290,8 +291,15 @@ class User extends Memcached_DataObject # If it matches a cached notice, then it's a fave return true; } + $cnt++; } - # If it's past the end of the cache window, + # If we're not past the end of the cache window, + # then the cache has all available faves, so this one + # is not a fave. + if ($cnt < NOTICE_CACHE_WINDOW) { + return false; + } + # Otherwise, cache doesn't have all faves; # fall through to the default }