Ruby on rails 缓存时忽略某些属性
在Rails 6应用程序中,我将向用户列表添加一些缓存 目前,我的代码看起来像Ruby on rails 缓存时忽略某些属性,ruby-on-rails,Ruby On Rails,在Rails 6应用程序中,我将向用户列表添加一些缓存 目前,我的代码看起来像 # users/index.html.erb <table> <tbody> <%= render @users %> </tbody> </table> # users/_user.html.erb <% cache(user)do %> <tr> <td> <%= user.n
# users/index.html.erb
<table>
<tbody>
<%= render @users %>
</tbody>
</table>
# users/_user.html.erb
<% cache(user)do %>
<tr>
<td>
<%= user.name %>
</td>
<td>
<%= user.status %>
</td>
</tr>
当包含在关键多个属性中时,这也是首选方法吗?即
<% cache [user.name, user.status, user.email, user.role, user.whatever] do %>
此外,假设我想缓存整个表。我应该用哪把钥匙
@users
实际上不起作用。渲染@users
集合时,可以添加缓存:true
我真的看不出在这种优化级别上优化单个用户缓存有什么意义(用户修改密码或其他不重要属性的频率有多高?)。我不认为没有这种优化会对您的性能产生真正的影响。你是测试过还是只想测试一下?如果不需要的话,不要过度设计,我打赌还有更好的东西需要优化,而且影响更大。谢谢。用户将每3个月更新一次密码。这是一项监管要求。而其他属性几乎永远不会改变。防止每3个月查询1次听起来不值得这么做。就我个人而言,我不会这么做,这取决于你,但我认为在访问特定的用户缓存之前,你会有很多更好的地方来提高性能,产生更大的影响。
<% cache [user.name, user.status, user.email, user.role, user.whatever] do %>