最近在做乙個好友伺服器,原來的東西沒有好友這一項功能,只有個人資訊。個人資訊包括,比如使用者名稱,使用者暱稱,使用者城市,使用者年齡等,這些資訊原本是存在mysql中的乙個表中。那麼接下來的任務是,在客戶端,能顯示好友列表,可以新增好友,可以刪除好友,可以檢視好友個人資訊等功能。
用mysql做這個任務是不太好弄的,因為,mysql的字段是固定的,但是每個人的好友數量不一定是一樣的,如果按照最大值來設計資料庫,那麼mysql的空間有很多是浪費的。
如果能用一種新的方式,來記錄乙個使用者的好友,那麼這是比較好的解決方法。好吧,我們用nosql來實現吧,手頭上只有乙個mongodb。
mongodb,是用的類似json的格式儲存資料的。跟mysql的類似對應方式是,collection對應table。
所以,我決定,在mongodb裡,只記錄使用者的好友是誰,然後通過查詢mongodb得到好友列表後,再遍歷這個結果得到乙個好友的list,在mysql裡遍歷這個list。因為是第一次做,不知道這樣會怎麼樣,不過思路還是比較清晰的。
mongodb中的資料記錄格式是
,,]
}
再新增好友時,可以接著增加friendlist的內容。
伺服器實現 FTP伺服器的實現(C語言)
我們在之前的文章中,曾經對ftp檔案傳輸協議做過詳細的介紹。本章,我們對如何用c語言實現ftp伺服器做乙個簡單的介紹。概述 ftp檔案傳輸協議,是網際網路上使用得最廣泛的檔案傳輸協議。ftp提供互動式的訪問,允許客戶指明檔案的格式與型別,並允許檔案具有儲存許可權。ftp遮蔽了不同作業系統之前的細節,...
伺服器實現 如何實現session跨伺服器共享
session共享有多種解決方法,常用的有四種 客戶端cookie儲存 伺服器間session同步 使用集群管理session 把session持久化到資料庫。1.客戶端cookie儲存 以cookie加密的方式儲存在客戶端,每次session資訊被寫在客戶端,然後經瀏覽器再次提交到伺服器,即使兩次...
web伺服器 簡單web伺服器實現
三次握手 一般情況下是瀏覽器先傳送請求資料,c s ack 應答 三次握手成功後,才開始進行通訊資料的收發。四次揮手 一般情況下是客戶端先關閉,給瀏覽器傳送關閉資訊。如果瀏覽器傳送了關閉資訊,但是伺服器沒有回過去,較慢 那麼瀏覽器一直發是不是就會有問題?所以會等待 2msl的時間。一般為2 5分鐘。...