当前位置: 首页 > 面试题库 >

jQuery Redis计数器跟踪缓存的Rails页面的视图

安毅
2023-03-14
问题内容

我有静态缓存的页面,我想跟踪它们的点击率,然后按受欢迎程度排序。

在Redis中跟踪这些视图然后将它们重新加载到主数据库中的最佳方法是什么?

现在我正在考虑使用这样的jQuery

$.get("/track/", { id: "1234" } );

并在“跟踪”控制器中使用redis gem进行调用

redis.incr "1234"

每天一次,我会像这样

Pages.each do |p|
   p.hits = redis.get(p.id.to_s)
end

问题答案:

这是我最后的耙任务,以防万一它可以帮助任何人

require 'redis'
task :cron => :environment do
   uri = URI.parse(REDIS_URL)
   REDIS = Redis.new(:host => uri.host, :port => uri.port, :password => uri.password)

   Pages.all.each do |p|
      views = REDIS.get(p.id.to_s)
      if views
          p.hits = p.hits + views.to_i

          if p.save
             REDIS.set pId, "0"
          end
       end
   end
 end


 类似资料:
  • 我正在考虑在使用表存储时为我的应用程序实现一个审计跟踪。 我需要能够记录一个特定客户的所有操作和来自该客户的实体的所有操作。 我的第一个猜测是为每个客户创建一个表(Audits_CustomerXXX),并使用实体id和行键(datetime.max.ticks-datetime.now.ticks).ToString(“D19”)值作为分区键。当我的问题是某个实体发生了什么时,这很有效?例如,购

  • 我正在为一个服务器程序创建C#代码,该程序通过TCP从Concox TR06 GPS跟踪器接收数据: http://www.iconcox.com/uploads/soft/140920/1-140920023130.pdf 当第一次启动时,跟踪器发送一个登录消息,在发送任何位置数据之前,需要确认该消息。我的第一个问题是,根据文档,确认消息是18字节长,而它们提供的示例只有10字节长: 现在,我猜

  • 问题内容: 在Rails 3上有什么宝石可以显示 我的代码的哪一部分生成了哪个SQL查询 吗? 在Rails 2.3上有一个名为query_trace的插件,但是在Rails 3上似乎不起作用,它会产生以下错误: 问题答案: QueryTrace无法按原样工作,因为在ActiveRecord区域中的Rails 3 esp中进行了许多更改。 所以,我四处乱窜,使它像这样工作: 您只需要在提到的位置下

  • 页面缓存指的是在服务器端缓存整个页面的内容。 随后当同一个页面被请求时,内容将从缓存中取出,而不是重新生成。 页面缓存由 yii\filters\PageCache 类提供支持,该类是一个过滤器。 它可以像这样在控制器类中使用: public function behaviors() { return [ [ 'class' => 'yii\filt

  • Codeigniter 支持缓存技术,以达到最快的速度。 尽管CI已经相当高效了,但是网页中的动态内容、主机的内存CPU 和数据库读取速度等因素直接影响了网页的加载速度。 依靠网页缓存,你的网页可以达到近乎静态网页的加载速度,因为他们将程序输出的结果保存到硬盘上了。 缓存是怎么工作的? CI支持每个页面单独缓存,而且可以设置缓存更新时间。当一个网页第一次被加载的时候,缓存文件将被保存到applic

  • 问题内容: 我在Linux中玩ptrace。我正在尝试使用/ proc / pid / mem接口编写跟踪进程的内存。 我用来完成此任务的功能是: 但是我总是会得到错误:编写:错误的文件描述符。 是否可以使用此方法编写跟踪过程? 问题答案: 您正在以只读模式()打开文件。我建议改用: 但是,从目前尚不清楚这是否可行: memory through open(2), read(2), and lse