浏览数实践
我们分析一下,浏览数更新很频繁,那么使用传统的关系型数据库并不合适。
那么使用 Memcached
呢?也不太合适,有 2
点,一是 Memcached
没有原子性的增量 increment 能力,二是数据持久化的问题。
综上所述,Redis
是最好的选择。
添加 gem
gem 'redis', '~> 4.0'
在 config
中新建文件 redis.rb
require "redis"
$redis = Redis.new(host: 'localhost', port: 6379)
在对应的 Modle
中添加方法
def up_hits
$redis.hincrby(key, "hits", 1)
end
def hits
$redis.hget(key, "hits").to_i
end
def key
"#{self.class.name.downcase}_#{id}"
end
在对应的 Controller
中使用
@example.up_hits
在对应的 View
中使用
@example.hits