页面浏览量计数器sinatra?

时间:2015-04-17 20:04:22

标签: javascript html ruby sinatra

如何在Sinatra和Ruby中实现页面查看计数器?

我已经尝试了@@变量,但只要页面加载就会重置为零...

喜欢这个:http://148.251.142.233:8080/

谢谢!

2 个答案:

答案 0 :(得分:1)

我认为你的问题是你不能像往常一样在sinatra存储全局变量。您需要在此设置中存储页面视图计数数据

set :my_config_property, 'hello world'

以下是有关它的文档http://www.sinatrarb.com/configuration.html 关于它的问题In Sinatra(Ruby), how should I create global variables which are assigned values only once in the application lifetime?

答案 1 :(得分:1)

仅将值存储在内存中是不够的,因为您的应用程序服务器可能正在使用不同的进程提供请求,并且每个进程都将具有类变量的不同副本。 即使重置服务器时该工作也会丢失计数器值。

我会使用像Redis这样的专业数据库。它可以非常快速,轻松地完成您想要的任务。你只需使用这样的东西:

require "redis"
redis = Redis.new
total_pageviews = redis.incr("page_counter")