什么是在我的页脚中显示当前年份的最轻量级方法?

mar*_*ion 2 css ruby ruby-on-rails ruby-on-rails-4

我想copyright (c) 2014在我的页脚中创建一个通知.

但我希望它能在所有年/月/天内循环,而不必改变它.

我有一个_footer.html.erb部分我在做这个.

显而易见的答案就是说<%= Time.now.year %>.

这意味着每次加载视图时,都必须在最后执行Ruby调用.考虑到这将出现在网站的每个页面上并且必须为每个单独的负载进行Ruby调用,这看起来有点贵.

是否有更轻量级/简化的方式,可能缓存值并从缓存中显示?

tor*_*o2k 8

在谈到表演时,你不相信自己的直觉,衡量它是明智之举.

以下示例将计算Time.now.year所花费的时间与从Redis或Memcached中提取值所花费的时间进行比较:

require 'redis'
R = Redis.new
R.set('year', Time.now.year)

require 'memcached'
M = Memcached.new
M.set('year', Time.now.year)

require 'fruity'
compare(
  compute:  -> { Time.now.year },
  redis:    -> { R.get('year').to_i },
  memcache: -> { M.get('year') }
)
Run Code Online (Sandbox Code Playgroud)

输出:

Running each test 256 times. Test will take about 2 seconds.
compute is faster than memcache by 11x ± 1.0
memcache is faster than redis by 3x ± 0.1
Run Code Online (Sandbox Code Playgroud)

也就是说,只要打电话Time.now.year,就不值得寻找替代方案.