diff options
author | Evan Prodromou <evan@prodromou.name> | 2008-09-28 13:14:07 -0400 |
---|---|---|
committer | Evan Prodromou <evan@prodromou.name> | 2008-09-28 13:14:07 -0400 |
commit | 1dfebc6147bdd009c142a0cea647c86d791bb779 (patch) | |
tree | f4730a6753c823ba13a2ce2a962b81ad08996c17 | |
parent | babac77652bda1dd6197550a0e2805feefec4870 (diff) |
add some debugging stuff to Notice
darcs-hash:20080928171407-84dde-9c6944a42a6e8e7f2fc90138336a86ae81c33763.gz
-rw-r--r-- | classes/Notice.php | 23 |
1 files changed, 22 insertions, 1 deletions
diff --git a/classes/Notice.php b/classes/Notice.php index 4a484146a..e1fded965 100644 --- a/classes/Notice.php +++ b/classes/Notice.php @@ -240,17 +240,23 @@ class Notice extends Memcached_DataObject # If outside our cache window, just go to the DB if ($offset + $limit > NOTICE_CACHE_WINDOW) { + common_debug('request is too deep, just getting from DB'); return Notice::getStreamDirect($qry, $offset, $limit); } + common_debug('CONNECTING TO CACHE'); # Get the cache; if we can't, just go to the DB $cache = common_memcache(); + if (!$cache) { + common_debug('Failed connecting to cache; just going to db'); return Notice::getStreamDirect($qry, $offset, $limit); } + common_debug('getting from cache'); + # Get the notices out of the cache $notices = $cache->get(common_cache_key($cachekey)); @@ -258,35 +264,50 @@ class Notice extends Memcached_DataObject # On a cache hit, return a DB-object-like wrapper if ($notices) { + common_debug('Cache hit!'); + common_debug('Got this many notices: ' . count($notices)); $wrapper = new NoticeWrapper(array_slice($notices, $offset, $limit)); return $wrapper; } + common_debug('Getting full window from DB.'); # Otherwise, get the full cache window out of the DB $notice = Notice::getStreamDirect($qry, 0, NOTICE_CACHE_WINDOW); + common_debug('Got notice: ' . print_r($notice, TRUE)); + # If there are no hits, just return the value if (!$notice) { return $notice; } + common_debug('Copying notices to an array'); + # Pack results into an array $notices = array(); while ($notice->fetch()) { + common_debug('Got notice: ' . print_r($notice, TRUE)); $notices[] = clone($notice); } + common_debug('Array size is: ' . count($notices)); + # Store the array in the cache for next time - $cache->set(common_cache_key($cachekey), $notices); + $result = $cache->set(common_cache_key($cachekey), $notices); + + common_debug('memcached result is ' . $result); # return a wrapper of the array for use now $wrapper = new NoticeWrapper(array_slice($notices, $offset, $limit)); + + common_debug('Got wrapper: ' . print_r($wrapper, TRUE)); + return $wrapper; } |