问题标签 [counter-cache]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ruby-on-rails - 缓存计数器列未保存重新计算的值
我弄乱了用户表中的计数器缓存列。我尝试重新计算它,但它没有保存值。
这不起作用:
甚至没有这个:
ruby-on-rails - 如何持续增加计数器缓存列?
假设我有一个计数器缓存需要在每次页面加载时递增。假设我有 10 个 Web 实例。如何持续增加计数器缓存列?
使用一个 Web 实例即可轻松实现一致性。但是在运行多个实例时,可能会出现竞争条件。
这是一个快速的解释。假设我的计数器缓存列被调用foo_counts
,其起始值为0。如果同时加载2个Web实例,则都实现计数为0。到了增加计数的时候。它们都将计数从 0 增加到 1。
我查看了http://guides.rubyonrails.org/active_record_querying.html#locking-records-for-update
任何想法将不胜感激。
ruby-on-rails - Ruby on Rails——计数器缓存事务安全吗?
它会处理两个人更新问题吗?
我用谷歌搜索并查看了 api 但什么也没找到
Rails 3+,红宝石 1.9.3
ruby-on-rails - counter_cache 列返回 0 的 Rspec 测试
几天来,我一直在努力找出应该很容易做到的接缝的底部……但是,我对 rails 和 ruby 的世界还是很陌生,我只是无法解决这个问题。 .. :p
无论如何,我遇到的问题是我的模型中有许多 :counter_cache 列,在手动测试它们时它们都工作得很好。但是,我想做 TDD 的事情,但由于某种未知原因,我无法在 rspec 中测试它们?
无论如何,这是我的模型(用户、评论和媒体)的一个例子:
以下是表模式设置的示例:
现在这是我尝试过的 rspec 示例的示例:
最后是 rspec 给我的错误信息:
另请注意,这发生在我所有模型中的所有 counter_cache 列中。我也尝试了许多不同的测试方法,但它们都返回了上述错误消息。
真的希望有人可以帮助我解决这个问题。:)
提前致谢!卢克
更新:这会以同样的方式影响 counter_culture,下面的解决方案也解决了 counter_culture 的问题。
php - Cakephp counterCache 多个 counterScope - 逻辑问题
问题:
我有两个模型:经销商,Testdrive(Testdrive 通过dealer_id 属于经销商)。我想显示有关经销商的实时统计信息:总计 (Testdrive.active = 1)、已处理 (Testdrive.active = 1 && Testdrive.processed = 1) ...
我有大约 100 名经销商和 10000 次试驾。基于计数的 sql 大约需要 10 秒(效率低)。现在我有一个每小时运行一次的 cronjob,但我没有实时统计数据。
我试过这样的事情:
...但我覆盖了 belongsTo => 'Dealear' 值。
我可以拥有一个带有 counterScope 数组的 counterCache 数组吗?
ruby-on-rails - 如何确保在 rails 单元测试中正确更新 counter_cache?
我已经counter_cache
为我的 Rails 3.2.6 模型进行了正常设置。它在 webapp 中完美运行,但在单元测试中失败。
以下片段说明了手头的问题:
请注意,我在不使用 FactoryGirl 的情况下尝试了相同的操作,但仍然失败。
如何确保在单元测试中正确更新 counter_cache?
ruby-on-rails - 如何将计数器缓存值设置为给定值?
我正在使用 Ruby on Rails 3.2.2,我想将计数器缓存值设置为“自定义”值。也就是说,此时(在我的迁移文件中)我正在尝试使用以下代码:
换句话说,我想将:comments_count
值(计数器缓存数据库表列)设置为自定义值(在我的情况下,该值是article.custom_comments.count
-注意:这custom_comments
不是 ActiveRecord 关联,而是Article
模型类中声明的方法;它返回一个整数值),与关联无关has_many
。
也许,我可以/应该使用类似的东西
但似乎该方法没有关联reset_counters
就无法工作。has_many
如何将:comments_count
计数器缓存值设置为与“自定义关联”相关的给定值?
cakephp - 如何使用 counterCache() 来跟踪 CakePHP 的视图计数?
每次用户查看提交时,我都会跟踪计数并将其绑定到会话:
提交控制器:
我在 SubmissionsViews 表中跟踪它们。
提交视图模型:
我的 SubmissionsView 表submissions_views
具有以下字段:
- ID
- 提交ID
- 用户IP
- 创建
我正在尝试设置 counterCache 以跟踪该表的添加,但不知道如何设置它。我目前$belongsTo
在我的提交模型中添加 counterCache:
但它告诉我它找不到Submission.submissions_views_id
。在文档中,它只是说我需要在我的submissions
表中添加一个名为的字段submissions_views_count
,所以我很困惑如何让它工作?
ruby-on-rails - 保存后,counter_cache 未在模型上更新
我正在使用 acounter_cache
让 MySQL 为我做一些簿记:
现在,如果我这样做:
INSERT
在 SQL 日志中,后面会有类似的内容:
这是我期望它做的。然而,这container[:items_count]
将是陈旧的!
...除非我container.reload
拿起更新的价值。在我看来,这有点违背了使用 :counter_cache 来支持自定义构建的部分目的,特别是因为reload
在我尝试访问该items_count
属性之前我可能实际上并不想要一个。(由于域逻辑的性质,我的模型代码量很大,所以有时我必须在一个控制器调用中保存和创建多个东西。)
我知道我可以自己修改回调,但在我看来,这似乎是对简单功能的一个相当基本的期望。同样,如果我必须编写额外的代码以使其完全工作,那么实现自定义计数器可能会更容易。
我在做什么/假设错了?
ruby-on-rails - 如何检查计数器缓存是否正常工作?
我已经完成了 Railscast 上所说的一切(http://railscasts.com/episodes/23-counter-cache-column)。
我已经完成了这些设置
迁移以将新列“comments_count”添加到“community_topics”表,该表是父表。
我在 models/comment.rb 中添加了counter_cache: true(现在就像这样 belongs_to :commentable, :polymorphic => true, counter_cache: true)
我认为这是
<%= community_topic.comment_threads.size %>
如你所知,我看不出它的外观有什么不同。
我怎么知道计数器缓存现在是否正常工作?