问题标签 [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.

0 投票
0 回答
62 浏览

ruby-on-rails - Rails counter_cache 搞砸了使用空的 Ajax 调用?

我有一个页面,用户可以在其中看到他们的交付(如通知)。在该页面上,他们可以通过单击 X 来删除单个交付。这与以下控制器操作相关联

Deliveries_controller.rb

这调用了通过 AJAX 调用的以下 js 文件:

销毁.js.erb

当交付线是 current_user.deliveries.empty?并且没有计数器缓存,这可以正常工作。如果最后一次传递被删除,它将显示空消息。但是,当我添加一个计数器缓存(我一直在做空?调用,想尝试避免数据库命中)时,此代码不再起作用。我试过空?还有deliveries_count 和deliveries.size 以及其他一些东西。

我什至不需要更改此代码,但如果我添加交付 counter_cache 这将失败。JS 文件看到交付计数仍然比应有的高 1。有谁知道为什么?

0 投票
1 回答
1819 浏览

ruby-on-rails - 为什么 << 关联时 counter_cache 列不增加?

鉴于我有以下模型:

当我运行以下规范时,counter_cache不会正确增加。方法#1#2工作如预期,但不是#3。是什么赋予了?

我真的对counter_cache half working感到困惑。我也无法发现配置问题。

在这个项目上使用Rails 3.2.12 。

更新

升级到Rails 4没有帮助。此外,如果我将方法 #3 更改为以下内容,则测试通过:

为什么这不会自动发生?

0 投票
2 回答
80 浏览

php - counterCache 是否受到竞争条件的影响?

我有一个关于 counterCache 的问题,文档根本没有说明。counterCache 在更新字段值时是否检查竞争条件?

例如,假设我们有一个论坛实现,并且对于每个论坛,我们通过 counterCache 存储了n个主题。然后,如果两个用户几乎同时使用该模型(足以重叠他们的操作,这意味着当一个人结束它时,另一个人仍然会使用它),一个人创建一个新主题,另一个人(假设它可以) 删除另一个主题,那么它会准确显示n 个主题,而不是n+1n-1吗?

0 投票
1 回答
1846 浏览

ruby-on-rails - 销毁时的rails计数器缓存

比如我有三个模型用户,问答,它们之间的关系是:

然后,当我想销毁一个问题(有 1000 个答案)时,会发生以下情况:答案将一一销毁,并将更新用户模型中的计数器,甚至是我要销毁的问题中的计数器,这将需要做了很久的计数器更新。

我的问题是如何让它更快?

0 投票
1 回答
121 浏览

ruby-on-rails-3 - 计数器缓存未更新 - 不知道为什么

我在 github 上有一个商店应用程序。我正在尝试为两个模型实现 counter_cache,1. Divisions 模型和 2. Products 模型。出于某种原因,我不确定每当我创建一个新的 Division 时,Company 模型的计数器缓存(divisions_count)不会自动增加,同样,当我添加新产品时, Products_count 不会为 Divisions 模型增加到师。

我在 rails 3.2.11 和 ruby​​ 1.9.3-p327

我的应用程序仅处于 POC 级别。

PFB 模型结构 wrt 公司、部门和产品:-

公司.rb

除法.rb

产品.rb

如果您想参考我为计数器缓存实现创建的迁移,您可以在此处找到它们。

0 投票
1 回答
65 浏览

ruby-on-rails - Rails:将这些请求转换为 counter_cache 的最佳方法

每个页面加载我都有几个这样的请求:

我想减少服务器上的负载,所以我试图把它变成一个counter_cache解决方案。由于我试图计算复杂的关系,我需要一些帮助来设计它。这是获取计数的查询:

我应该把counter_cache柱子放在哪里?我应该如何编写迁移?Component并通过Document建立has_many关系Publications

0 投票
1 回答
251 浏览

ruby-on-rails - Rails:rake db:迁移失败`verify_readonly_attribute`

此迁移在初始开发人员机器上运行良好,但在第二个开发环境中失败。据我们所知,设置是相同的。

移民:

没见过这个错误。有谁知道发生了什么?

0 投票
1 回答
200 浏览

caching - 在 after_update 回调中使用 decrement_counter 是减去 2?

我有三个模型。雇主、用户、工作。

Job 模型有一个名为“current”的布尔列。雇主用户计数是通过计算所有标记为“当前”的相关工作而得出的。

我选择滚动我自己的缓存计数器,而不是使用活动记录。

我在 Job 模型中使用 before 过滤器来增加或减少 Employer 模型中的 users_count。增量按预期工作,但无论我如何调整代码......减量会将计数降低 2。

我相信我可以稍微清理一下这些方法......可能会有一些冗余。

1 为什么减量减去2而不是1?

2 活动记录缓存计数器可以处理这样的逻辑吗?

0 投票
1 回答
137 浏览

activerecord - ActiveRecord counter_cache 增加 db 但不增加实例

我有两个简单的类CompanyVotings我用 rspec 测试它们。

当我向公司添加投票时,它会被 activeRecord 计算在内

这个投票类:

和这个简单的 rspec

该列不为零。默认 = 0

我遵循了 ryans counter_cache cast -> http://railscasts.com/episodes/23-counter-cache-column?view=asciicast中的示例

数据库计数正确,但实例未更新。

我有错误的设置吗?为什么会这样?

非常感谢!

0 投票
1 回答
758 浏览

ruby-on-rails - Rails 4,印象派和 counter_cache

我有一个 Post 模型,让我印象深刻

我正在考虑,假设每月一次,清除比给定时期更早的印象。这会以某种方式重置帖子表中的计数器缓存吗?在这种情况下,是否有任何解决方案(仅增加计数器缓存?)来避免印象表变得越来越大,直到它在不重置计数器的情况下失控?

谢谢