2011-10-17 24 views
0

我有一個標準的博客類型的應用程序與帖子和用戶可以將這些帖子添加到他們的收藏夾。Varnish ESI爲大量的小信息

目標

  1. 當用戶查看職位名單,他們應該看到的每一個職位是否 是一個最喜歡的指示(圖像)。匿名用戶沒有任何收藏夾。
  2. 帖子列表需要緩存在Varnish中(對於匿名用戶和登錄用戶),因爲計算起來很昂貴。

理念

緩存清漆列表頁面,並使用ESI來獲取喜愛的信息...

  1. ...每個職位發出當前請求的用戶。 下行:每頁50個ESI請求(基本上爲N+1 problem)。
  2. ...作爲JSON對象,然後存儲在頁面上。在客戶端上,讀取該對象並操縱DOM以指示收藏夾信息。 缺點:不適用於沒有Javascript的用戶。
  3. ...作爲存儲在頁面中的CSS片段。 CSS決定爲每個帖子顯示的內容。 缺點:僅適用於可風化的內容(即圖像)。不可能顯示文字信息。

我是否缺少完成我想要的任何可能性?想法3似乎是最明智的答案,但如果我也想顯示用戶收藏該帖子的日期,那麼它就不起作用。

回答

0

答案2很有意義。它使得頁面可以很好地緩存,並且只會犧牲瀏覽器中沒有javascript的人的'最喜歡的功能'。

無論如何,這些人是誰?仍然與l surf一起衝浪? )。他們是否會接受cookies以使您的登錄機制(個人喜好設置)首先工作,甚至是登錄?