2009-08-31 75 views
0

我想盡可能使用memcache緩存我的網站。有很少的修改(有點像在論壇中),一旦進行更改,我完全可以重新緩存。我唯一關心的是登錄信息(類似於stackoverflow頂部有一個欄)。這是我正在做它現在:完全緩存的動態網站

$('div#user_bar').load('/login-info/'); 

(jQuery的在完全緩存的頁面加載到用戶信息)

不過,我想如果沒有動態網頁我可以做完全。我的想法是這樣的:

On login: create cookie `logged_in`:true 
On each page: if JS finds cookie is set: show links to logout, settings, etc 
       if not: show link to login page 
On logoff: delete cookie 

沒有實際的用戶信息存儲在cookie中,甚至沒有用戶名。

這是多麼安全,合理,理智?有任何想法嗎?我錯過了什麼嗎?謝謝。

聲明:這是一個比生產環境更重要的練習。但是我仍然努力保持安全和性能。

+0

如果用戶關閉了JavaScript,該怎麼辦? – 2009-08-31 18:23:49

+0

那麼,互聯網是爲那些人打破。 好吧,我將「優雅」降級爲顯示一切:登錄,設置,註銷。 – pitr 2009-08-31 18:35:00

回答

0

關於您的主要目標:緩存動態頁面是合理的。如果你在ASP.NET平臺上工作,你可能需要看看輸出緩存功能,它甚至包括動態替換。 4 Guys from rolla.com有一個不錯的首發文章,鏈接到所有的細節。

關於非用戶特定頁面:我懷疑這可以適用於除最簡單頁面之外的任何其他頁面。 Web應用程序通常允許不同用戶進行不同的操作,並且只能更改密碼。您可能必須在某個時間將特定內容傳遞給客戶端,這就是ASP.NET輸出緩存的動態替換髮揮作用的地方。