推荐从以下方案优化
class SubProject < ApplicationRecord
belongs_to : project, counter_cache: true
end
两台 2Core 4G 比一台 4Core 8G 的性能要好。你可以测试一下。
books = Rails.cache.fetch('cache_key', expires_in: 1.days) do
Book.where(user_id: user_id).to_a
end
你想要的是这个吗?
但是以上做法有弊端,当 book 更新时,缓存中的 books 的无法得到更新
往 redis 里面加个 jwt 的黑名单。失效时间的设置与 jwt 的失效时间一致。
$http_x-auth-token 改成 $http_x_auth_token
你们应该是部署了两套服务。一套代码,通过环境变量来控制哪些功能展示
可能我使用 subtree 的姿势也有问题。但是你也可以试试 submodule,我现在使用 submodule 用的还挺顺手的。
我使用 subtree 的时候,也遇到了 A 项目一修改,B 项目合并就冲突的情况。 后来,我就放弃了 subtree,使用了 submodule
#4 楼 @piecehealth
你们说的这些,我都懂,感觉和问题但无关。
就像 A 是 Class.new 出来的对象,和 A.singleton_class 也是 Class.new 出来的对象。
但是 A 与 A.singleton_class 有什么相同 与 不同点呢?
一个产品想持续发展,如果不写测试代码,那就等着看悲剧发生吧
使用 rails 做 api,你还是马上搭个缓存吧。用缓存的过期机制可以帮你省很多事的!
建立自动销毁的关联你就不用 each 了
class Testtask
has_many :subtasks, dependent: :destroy
end
Testtask.find(params[:id]).destroy! #建立以上关系后,使用这一句话就等价于以下你的代码了
Testtask.find(params[:id]).subtasks.each do |st|
st.destroy!
end
Testtask.find(params[:id]).destroy! # ← here
taobao 的 gem 好像 9 月份就没更新了
每个 Game 有若干 Player,同时有若干 Hint,每个 Player 可以又一个 Hint 或者没有
既然如此,为何不分成两种:
@game.hints.create
@game.player.hints.create
看完感想,想问个问题~~ 楼主原来的瓶颈是因为知识面不够广?
楼主有解决的办法了么?