diff --git a/app/views/layouts/new_base_user.html.erb b/app/views/layouts/new_base_user.html.erb
index 1127288ae..dd9d667b6 100644
--- a/app/views/layouts/new_base_user.html.erb
+++ b/app/views/layouts/new_base_user.html.erb
@@ -165,7 +165,9 @@
<%= link_to '班级',{:controller => "users", :action => "user_courselist", :id => @user.id}, :id => "user_course_list" %>
<% courses = @user.favorite_courses.visible.where("is_delete =?", 0).select("courses.*,(SELECT MAX(updated_at) FROM `course_activities` WHERE course_activities.course_id = courses.id) AS a").order("a desc").limit(10) %>
- <%=render :partial => 'layouts/homepage_left_course_list', :locals => {:courses => courses} %>
+ <% cache [:personal_courses,@user.id,courses.count,courses[0].updated_at.to_i] do%>
+ <%=render :partial => 'layouts/homepage_left_course_list', :locals => {:courses => courses} %>
+ <% end %>
<% if is_current_user %>
@@ -192,7 +194,9 @@
<%= link_to '项目',{:controller => "users", :action => "user_projectlist", :id => @user.id}, :id => 'user_project_list'%>
<% projects = @user.favorite_projects.visible.select("projects.*, (SELECT MAX(updated_at) FROM `forge_activities` WHERE forge_activities.project_id = projects.id) AS a").order("a desc").limit(10)%>
- <%=render :partial => 'layouts/homepage_left_project_list', :locals => {:projects => projects} %>
+ <% cache [:personal_projects,@user.id,projects.count,projects[0].updated_on.to_i] do%>
+ <%=render :partial => 'layouts/homepage_left_project_list', :locals => {:projects => projects} %>
+ <% end %>
<% if is_current_user %>
diff --git a/app/views/users/_user_activities.html.erb b/app/views/users/_user_activities.html.erb
index 5c6f07bb1..e689e78e3 100644
--- a/app/views/users/_user_activities.html.erb
+++ b/app/views/users/_user_activities.html.erb
@@ -26,6 +26,7 @@
})
+<% cache [:personal_activities,@user.id,user_activities[0].updated_at.to_i] do%>
<% user_activities.each do |user_activity|
if user_activities %>