浏览数实践

浏览数实践

我们分析一下,浏览数更新很频繁,那么使用传统的关系型数据库并不合适。

那么使用 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

上一篇
浅谈 Markdown 编译器 浅谈 Markdown 编译器
浅谈 Markdown 编译器作者不是科班出身,基础比较差。一直在补习一些基础知识,也包括编译原理。最近和朋友交流的时候有提到 AST(抽象语法树),虽然以前也零散的看了一些文章,实际上还是比较模糊的。 在这一篇文章中,我会尝试谈一下编译器
2018-11-18
下一篇
grep 显示标题 grep 显示标题
grep 显示标题我们使用 grep 获取信息时,结果会丢失标题。 $ ps aux | head -1; ps aux | grep nginx deploy 25879 0.0 0.0 9000 376 pts/0
2018-11-14