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

Trello中如何使用Redis?

管景天
2023-03-14
问题内容

我了解,粗略地说,Trello使用Redis进行临时数据存储。

有谁能够进一步详细说明它在应用程序中扮演的角色?


问题答案:

我们在Trello上使用Redis
来存储临时数据,这样就不会丢失。我们不会将Redis中的数据持久化到磁盘上,而是使用allkeys-
lru
,因此我们只存储可以随时踢出的内容,给用户带来的不便很小(例如,暂时看到错误的用户状态)。话虽这么说,我们为它提供了存储实际工作集所需空间的5倍以上,并从10个密钥中进行选择以期满,因此我们真的从来没有看到我们正在使用的任何东西被踢出。

  1. 这是我们的pubsub服务器。当用户对板或卡进行操作时,我们希望向订阅了已更改对象的所有与Websocket连接的客户端发送带有该增量的消息,因此我们所有的Node进程都订阅了一个pubsub通道,该通道传播这些消息,然后将其传播到适当的许可和订阅的Websocket。

  2. 我们排序使用它来支持socket.io,但是由于我们仅使用websockets,并且因为socket.io 太闲谈而无法像我们目前所需要的那样进行扩展,所以我们有一个补丁可以禁用除一个通道之外的所有通道。对我们来说是必要的。

  3. 对于没有WebSocket的用户,我们必须保留自用户上次轮询请求以来在每个对象通道上发生的操作的列表。为此,我们使用一个列表,该列表限制最近的100个元素,并使用辅助计数器来计算自列表创建以来已经添加了多少个元素。因此,当我们从这样的浏览器回答轮询请求时,我们可以检查它报告它已经看到的最后一个元素,并且仅向下发送此后添加到队列中的所有消息。因此,在大多数情况下,轮询请求可以简化为权限检查和单个Redis密钥检查,这非常快。

  4. 我们在Redis中存储一些有关已连接用户的活动状态的临时数据,因为这些数据经常更改,因此无需将其持久保存到磁盘。

  5. 我们存储短期密钥以支持Redis中的OAuth登录。

我们爱Redis;一旦启动并运行了它的实例,便想将其用于各种用途。我们遇到的唯一真正的麻烦是慢速客户占用了可用空间。

我们将MongoDB用于更传统的数据库需求。



 类似资料:
  • trello A CLI app for interacting with Trello. I personally find Trello's UI offerings to be too taxing on my computer andthe many things it loads in an attempt to look nice make it a bit jumpy andslug

  • 问题内容: 当您将鼠标悬停在Trello中的卡片上并按+时,该卡片的URL被复制到剪贴板。他们如何做到这一点? 据我所知,没有涉及Flash电影。我已经安装了Flashblock,并且Firefox的“网络”标签显示未加载Flash电影。(这是通常的方法,例如,ZeroClipboard。) 他们如何实现这种魔力? (目前,我想我顿悟了:您无法选择页面上的文本,因此我假设它们具有不可见的元素,它们

  • 问题内容: 我听说过redis-cache,但是它是如何工作的呢?通过以某种方式缓存rdbms查询,它是否被用作Django和我的rdbms之间的一层? 还是应该直接将其用作数据库?我对此表示怀疑,因为该github页面不包含任何登录详细信息,所以没有设置..只是告诉您设置一些config属性。 问题答案: 这个Redis的Python模块在自述文件中有一个清晰的用法示例:http : //git

  • 问题内容: 我想使用Android Studio使用Gradle构建工具开发应用程序。我无法在上插入存储库和库。我的文件如下: 如何在项目中添加OpenCV? 问题答案: 您可以在Android Studio中轻松完成此操作。 请按照以下步骤将Open CV作为库添加到您的项目中。 libraries在项目主目录下创建一个文件夹。例如,如果您的项目是OpenCVExamples,则将创建一个Ope

  • 我想使用Android Studio开发一个应用程序使用Gradle构建工具。我无法在上插入OpenCV repo和库。我的文件如下所示: 我如何在我的项目中添加OpenCV?

  • 本文向大家介绍html中如何使用svg?相关面试题,主要包含被问及html中如何使用svg?时的应答技巧和注意事项,需要的朋友参考一下 1.img标签引入 chrome显示不全问题(有时会显示完整);IE,火狐,safari正常 移动端缩放文字比例失调问题处理: svg文件中给所有的text标签加上text-rendering="geometricPrecision" 2.使用css作为背景图片