Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >实际上,我如何从Rails中的控制器中调用控制器?

实际上,我如何从Rails中的控制器中调用控制器?
EN

Stack Overflow用户
提问于 2015-01-16 13:26:31
回答 2查看 141关注 0票数 0

好吧,好吧,从表面上看,这似乎是个很糟糕的主意,而且大多数时候是这样的。它不是MVC,它创建了潜在的怪异依赖,而且它没有遵循良好的逻辑分离关注点。

现在让我解释一下导致我提出这个问题的情况。我们有一个第三方api。出于性能原因,我们必须将其缓存很长一段时间。有时他们会改变他们的数据,我们需要立即反映出来。我们已经给了他们一个api端点来清除缓存(因为出于各种原因,我们不会让他们访问我们的内部缓存)。我需要一些方法来重新加热缓存。重新升温他们的api调用很容易。但是,我们有依赖于这些数据的视图片段缓存,我也想对这些数据进行重温。

基本上,我想缓存通常在第二个控制器调用期间缓存的所有内容。但是,尝试这样做会导致第二个控制器调用超时。是否有一种方法来完成这一任务,或者有一种替代方法来缓存所有必需的元素(包括使用rails片段缓存的视图元素)?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-01-19 09:58:48

要解决Rails维护单个连接的问题,可以使用多线程方法:

代码语言:javascript
运行
AI代码解释
复制
Thread.new do
    # do stuff here
end
票数 0
EN

Stack Overflow用户

发布于 2015-01-16 14:44:36

看来你真正的问题是破坏碎片缓存。为什么不直接使用一个自我破坏的缓存密钥。如果您使用cache 'key' do...缓存视图的一部分,则该“键”字符串可以由模型或类似于Post.count之类的东西进行更新。例如,在API控制器中,将帖子列表缓存为JSON列表:

代码语言:javascript
运行
AI代码解释
复制
# your api controller's index action
@post_json = Rails.cache.fetch "posts-#{Post.count}-#{Post.order(:updated_at).last.updated_at}" do
  Post.all.to_json
end

既然您已经缓存了一组帖子并准备作为API响应发送,并且您使用的是自破坏缓存密钥,那么您就不必担心手动“重新升温”缓存了。每当创建新的Post或更新新的post时,缓存键就会有所不同,因为countupdated_at (对于最近更新的post)将是不同的,并导致Rails.cache.fetch方法执行块,重新升温缓存。

使用这种动态缓存键,您可以使用不需要调用控制器的任何方法来更新它(这非常困难,不建议使用)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27993011

复制
相关文章
AWS EC2 增加多个弹性 IP
一、 添加一个私有IP的 1. 实例->联网->管理私有IP地址 2. 分配新IP->是,更新 注意:记下刚生成的 私有 IP 二、把刚才生成的私有IP地址添加到网络接口 1. SSH连接到您的实例并
码农编程进阶笔记
2021/07/20
2.1K0
Logstash 实例
8、Docker日志与处理:/var/lib/docker/containers/
用户5760343
2022/05/19
3960
Logstash 实例
Logstash:处理多个 input
这里的 input 可以支持多个 input,同时多个 worker 可以处理 filter 及 output:
腾讯云大数据
2020/07/31
2.8K0
Logstash:处理多个 input
Logstash:多个配置文件(conf)
在前面的一篇文章 “Logstash:处理多个input” 中,我们介绍了如何使用在同一个配置文件中处理两个 input 的情况。在今天这篇文章中,我们来介绍如何来处理多个配置文件的问题。对于多个配置的处理方法,有多个处理方法:
腾讯云大数据
2020/08/05
4K0
Logstash:多个配置文件(conf)
干货 | 携程酒店搜索引擎AWS上云实践
作者简介 宮娴,携程高级后端开发工程师;Spike,携程高级后端开发专家。 随着携程国际化业务的快速推进,搜索引擎作为用户体验中至关重要的一环,上云变得志在必行。本文主要分享酒店搜索引擎迁移AWS的探索与实践过程,内容将涵盖一个HTTP请求的全链路处理过程:包括从APP发出请求到网关,再到内网错综复杂的微服务,最后到所依赖的各种持久化存储。 一、微服务架构带来的挑战 这次上云的是爆款业务,用户直观的感受是点击TRIP APP的Hotel搜索页的Hotel Staycation Deals。 携程采用主流
携程技术
2022/04/15
8170
干货 | 携程酒店搜索引擎AWS上云实践
AWS 上的云原生 Jenkins
我们使用 Jenkins 搭建持续交付流水线,和其他很多团队一样,这些年我们围绕 Jenkins 创建了很多工作流程和自动化。Jenkins 是我们团队取得成功的关键,让我们能够在上一季度顺利进入生产677次,搭建及部署时长平均为12分钟。
LinuxSuRen
2019/08/26
2K0
AWS 上的云原生 Jenkins
多个jvm实例_java类的实例
我们知道,一个对象在可以被使用之前必须要被正确地实例化。而实例化实际指的就是以一个java类为模板创建对象/实例的过程。比如说常见的 Person = new Person()代码就是一个将Person类实例化并创建引用的过程。
全栈程序员站长
2022/09/23
2K0
多个jvm实例_java类的实例
aws生产实践-22:aws上创建openvpn
https://github.com/hepyu/openvpn-install/blob/master/openvpn-install.sh
千里行走
2022/02/10
1.7K0
aws生产实践-22:aws上创建openvpn
在AWS云上的SAP
虽然最近亚马逊在迁离Oracle的数据库,使用Aurora PostgreSQL导致Prime Day促销日出现故障,但这似乎并不影响Amazon Aurora 数据库的推进,并且亚马逊一直在说Amazon Aurora兼容MySQL和PostgreSQL,是一种将数据库迁移到云的优秀工具。可见其要脱离Oracle的决心。而SAP也做出了同样的事情,在以前的SAP ERP系统里,SAP一直使用着别人的数据库,比如Oracle,后来SAP推出了HANA内存数据库,在S/4 HANA系列版本中,成功的使用了自己研发的数据库。可以看出这两家企业都想离开Oracle,所以合作是必然的事。
matinal
2019/01/04
2.3K0
在AWS云上的SAP
生产环境下的 Node.js 日志记录方案[每日前端夜话0xFD]
设置正确的日志记录基础结构可帮助我们查找发生的问题、调试和监视应用程序。从最基本的角度来看,我们应该从基础架构中得到以下内容:
疯狂的技术宅
2019/12/23
1.1K0
生产环境下的 Node.js 日志记录方案[每日前端夜话0xFD]
「  Flex弹性布局 (上) 篇  」
{dotted startColor="#ff6c6c" endColor="#1989fa"/}
青益
2023/01/03
5680
「  Flex弹性布局 (上) 篇  」
测试右移之logstash完整配置实例
logstash是ElasticStack(ELK)的一个重要技术组件,用于对数据进行转换处理。他可以接受各种输入源,并按照记录对数据进行变换,并导出到输出源中。
霍格沃兹-测试开发学社
2022/05/06
4690
为同机器上的多个Oracle实例配置独立监听器
假设我们需要将多个oracle实例部署在同一套RAC集群/相同物理机上时,默认部署情况下,多个oracle实例共享使用默认的1521监听器。
andelwu
2021/01/23
2.5K0
测试右移之logstash完整配置实例
logstash是ElasticStack(ELK)的一个重要技术组件,用于对数据进行转换处理。他可以接受各种输入源,并按照记录对数据进行变换,并导出到输出源中。
用户9652437
2022/04/20
5080
PaaS 调研:GAE与 AWS(上)
韩伟
2017/11/09
2.5K0
PaaS 调研:GAE与 AWS(上)
腾讯云弹性网卡绑定多个IPWINDOWS下的设置
网卡绑定多个IP请参考https://cloud.tencent.com/developer/article/1171566
用户3959706
2018/11/20
5.3K0
腾讯云弹性网卡绑定多个IPWINDOWS下的设置
mysql启动多个实例
机器环境:CentOS Linux release 7.4.1708 (Core)
dogfei
2020/07/31
3.5K0
AWS 上的生产环境性能分析案例
案例是一个泰国网站的生产环境(请脑补一句“萨瓦迪卡”,为了叙述方便,下文中均以"萨瓦迪卡"指代这个网站。)“萨瓦迪卡”是一个 采用 Wordpress + MySQL搭建的应用。这个遗留系统已经工作了五年。客户已经把在其它 VPS 上平移到 AWS 上。平移(lift and shift)是说原样复制,而迁移(migration)还要进行改造。而客户唯一发挥 AWS 优势的一点就是用了一个配置很高的 EC2 虚拟机 —— m4.4xlarge。这样一台配置的虚拟机有 16 个虚拟 CPU,64 GiB 的内存,以及 2000 Mbps 的网络带宽,最高 3000 IOPS 的 200GiB 的块存储设备(也就是硬盘)。
顾宇
2018/08/17
1K0
用漫画看懂ElasticSearch弹性搜索(一)
在云计算的Paas层,经常有听到ElasticSearch,我最初的理解,该组件用来进行电商网页的模糊性查找最好了。例如在taobao的搜索栏查找“给爸爸的生日礼物”,也许宝贝的标题是组合出来的,甚至只是宝贝的描述正文带其中一些关键字,也能被搜索出来,推荐给你。这些功能是传统的Mysql Like%功能所不具备的。但我一直一知半解,今天我们用漫画来看懂ElasticSearch,相信会让你长时间难以忘记“她“的好。
希望的田野
2019/09/24
1.5K0
用漫画看懂ElasticSearch弹性搜索(一)
基于ARM的AWS EC2实例上的PG跑起来性能怎么样?
ARM处理器在数据中心中的应用一直是一个热门话题,我们很想看看他在PG中表现怎么样。用于测试和评估基于ARM的服务器,其可用性一直是一个主要障碍,当AWS 2018年宣布在他们的云中提供基于ARM的处理器时,转机出现了。但是还不能太过激动,因为很多人认为这是个实验性的东西。我们也很谨慎将它推荐给关键用途,而且在测试时也没太过用心。但是2020年5月Graviton2发布后,可以认真考虑了。我们决定从PG运行角度独立研究实例的价格/性能。
yzsDBA
2021/02/03
8970
基于ARM的AWS EC2实例上的PG跑起来性能怎么样?

相似问题

Azure响应时间较慢

124

Azure应用服务网站在分阶段/生产交换后回收

12

Azure ML Web服务-响应时间较慢

115

IIS网站在进行计算时响应较慢

10

Azure函数响应较慢

12
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档