public function AddView($DiscussionID) {
      $IncrementBy = 0;
      if (C('Vanilla.Views.Denormalize', FALSE) && Gdn::Cache()->ActiveEnabled()) {
         $WritebackLimit = C('Vanilla.Views.DenormalizeWriteback', 10);
         $CacheKey = sprintf(DiscussionModel::CACHE_DISCUSSIONVIEWS, $DiscussionID);
         
         // Increment. If not success, create key.
         $Views = Gdn::Cache()->Increment($CacheKey);
         if ($Views === Gdn_Cache::CACHEOP_FAILURE)
            Gdn::Cache()->Store($CacheKey, 1);
         
         // Every X views, writeback to Discussions
         if (($Views % $WritebackLimit) == 0) {
            $IncrementBy = floor($Views / $WritebackLimit) * $WritebackLimit;
            Gdn::Cache()->Decrement($CacheKey, $IncrementBy);
         }
      } else {
         $IncrementBy = 1;
      }
      
      if ($IncrementBy) {
         $this->SQL
            ->Update('Discussion')
            ->Set('CountViews', "CountViews + {$IncrementBy}", FALSE)
            ->Where('DiscussionID', $DiscussionID)
            ->Put();
      }
      
	}