我從我的用戶表中做COUNT(userid)並在網站上顯示數字,但我想知道是否有任何其他更好的方式來獲取,存儲和顯示此信息,而不是從一個連接和COUNT()每次訪客加載網頁時都要加上數據庫?從數據庫中顯示用戶數量的最快方法?
編輯: 我剛剛發現約在MSDN緩存的信息,這似乎是這樣做的absolutle最好的方式,感謝TomTom公司!
如果我想從我的數據庫填充與MembersCount cachedString,這是正確的方式,這樣做呢?
string cachedString;
cachedString = (string)Cache["CacheItem"];
if (cachedString == null)
{
MySqlConnection Connection = siteStuff.GetConnection();
MySqlCommand c = new MySqlCommand("SELECT COUNT(id) as TheCount FROM user", Connection);
Connection.Open();
MySqlDataReader reader = c.ExecuteReader();
reader.Read();
cachedString = reader["TheCount"].ToString();
Connection.Close();
Connection.Dispose();
Cache.Insert("CacheItem", cachedString);thanks TomTom!
編輯:即時通訊目前使用此代碼:
int cacheNumberUsers;
cacheNumberUsers = (int)Cache["MembersCount"];
if (cacheNumberUsers == null)
{
cacheNumberUsers = siteStuff.GetNumberUsers();
Cache.Insert("MembersCount", cacheNumberUsers);
}
nrRegMembers.Text = cacheNumberUsers.ToString();
但IM得到錯誤:
System.NullReferenceException: Object reference not set to an instance of an object.
在線:
cacheNumberUsers = (int)Cache["MembersCount"];
編輯: 我想我需要先將項目插入緩存中?
Cache.Insert("MembersCount");
但是,我把這個代碼放在哪裏?換句話說,我是否應該將它放入OnLoad,以便在每個頁面請求時觸發?或者我應該檢查它是否存在?
噢..對不起,我已經使用了.NET大約5年,但我並不是真正的親,畢竟.. 如果你能給我一些很好的鏈接,我可以如何提供所有類型的東西,所以我會很感激,我可以加快我的網站! 現金/部分輸出緩存聽起來很有趣! 任何提示在社區上應用該功能的最佳方法是哪些功能可以上傳用戶創建的圖像,文章和論壇帖子? – midnightsyntax
你用什麼.NET技術來生成網頁? – TomTom
對不起,我離開了它,它是4.0 – midnightsyntax