问题标签 [redis]

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 投票
2 回答
1097 浏览

ruby - 是否可以使用 Ohm 更新模型属性,而 Redis DB 是 Ruby?

我首先看一下 Monk 和 Ohm/Redis API,我有一个简单的问题。是否可以使用 Ohm/Redis 更新模型对象的属性?

使用 Ohm API,我可以执行以下操作

似乎无法在文档中找到有关如何完成此操作的任何信息。提前致谢!

0 投票
4 回答
23668 浏览

ruby-on-rails - 如何在生产中部署 resque worker?

GitHub 的家伙最近发布了他们使用 Redis 的后台处理应用程序:http: //github.com/defunkt/resque http://github.com/blog/542-introducing-resque

我让它在本地工作,但我很难让它在生产中工作。有没有人得到:

  1. Capistrano 部署工人的方法(控制工人的数量,重新启动他们等)
  2. 将工作人员部署到与运行主应用程序的机器分开的机器上,这里需要什么设置?
  3. 让 redis 在服务器上重新启动后幸存下来(我尝试将其放入 cron 但没有运气)
  4. 您是如何在部署中使用 resque-web(他们出色的监控应用程序)的?

谢谢!

PS 我在 Github 上发布了一个关于此的问题,但还没有回复。希望一些 SO 大师可以帮助解决这个问题,因为我在部署方面不是很有经验。谢谢!

0 投票
1 回答
582 浏览

ruby - 如何在redis中建模这个ruby结构

我正在考虑使用 redis ( http://code.google.com/p/redis/ ) 来存储这种 ruby​​ 数据结构。

假设:

使用哪种更好的 redis 数据类型?

数据需要更新,我需要对 node1server1+node1server2 和 node2server1+node2server2 的值进行排序。

0 投票
1 回答
3257 浏览

url - nginx/redis 和处理 url 中的跟踪参数

我在我的网站上使用 nginx 和 redis。对于我网站上的几个项目,我想将跟踪参数添加到他们的网址中,以便当用户点击一个项目时,除了提供用户请求的内容之外,我还可以收集用户使用情况的统计信息。我正在寻找有关如何从 nginx 在 redis 中捕获此统计信息的方法,即不打后台应用程序。

例如,假设我的页面上有几行表格,每个表格都以行/列格式保存项目。因此,对于 {table: 2, row: 1, column: 3} 中的项目,如果实际 url 是:www.mysite.com/news/dodi,那么我想嵌入 url:www.mysite.com/news /dodi/day=29?table=2&row=1&column=3。当用户点击它时,nginx 会点击 redis 来获取内容并更新相应的统计信息(这里可以是增量 day-29,table-2,...)。

关于如何在不点击后台应用程序的情况下实现这一目标的任何建议?

0 投票
4 回答
10369 浏览

autocomplete - Redis 自动完成

如何使用 redis 实现自动完成?

比如说我有一个数组["alfred","joel","jeff","addick"]。当我打字时,a我得到["alfred", "addick"]

我希望你明白这一点。如何有效地使用 redis 命令实现这一点(如果可能,但我认为是这样)。如果我能得到一些简单的命令,我可以通过 telnet 尝试模仿这种行为,那就太好了。

谢谢

PS:祝大家圣诞快乐:)

0 投票
5 回答
1752 浏览

c - 在 Mac OS X Snow Leopard 上执行磁盘 I/O 时,C 程序卡在不间断等待

一条背景:我是Redis 的开发者,一个 NoSQL 数据库。我正在实现的新功能之一是虚拟内存,因为 Redis 将所有数据都存储在内存中。多亏了 VM Redis 能够将很少使用的对象从内存传输到磁盘,这比让操作系统为我们交换工作要好得多的原因有很多(redis 对象是由许多不连续分配的小对象构建的位置,当通过 Redis 序列化到磁盘时,它们占用的空间比它们所在的内存页面少 10 倍,依此类推)。

现在我有一个在 Linux 上完美运行的 alpha 实现,但在 Mac OS X Snow Leopard 上运行得不是很好。有时,当 Redis 尝试将页面从内存移动到磁盘时,redis 进程会进入几分钟的不间断等待状态。我无法对此进行调试,但这发生在对fseeko()或的调用中fwrite()。几分钟后,调用终于返回,redis 继续毫无问题地工作:没有崩溃。

传输的数据量非常小,大约 256 字节。因此,这不应该是执行大量 I/O 的问题。

但是关于作为写操作目标的交换文件有一个有趣的细节。这是一个大文件(26 GB),fopen()使用ftruncate(). 最后,文件被unlink()编辑,以便 Redis 继续引用它,但我们确信当 Redis 进程退出时,操作系统将真正释放交换文件。

好的,这就是全部,但我在这里了解更多细节。顺便说一句,您甚至可以在 Redis git 中找到实际代码,但鉴于这是一个相当复杂的系统,在五分钟内理解它并非易事。

非常感谢您的帮助。

0 投票
4 回答
4062 浏览

php - PHP - Redis/Memcachedb/Mongodb 或其他持久存储来存储计数器

反之,它可能是网页浏览量、下载量、投票数等。基本上,不是非常“关键”的数据。

存储这些信息的“最佳”方式是什么?Mysql 不是一个好的选择。你们都用什么?

0 投票
1 回答
314 浏览

memcached - 可扩展对象的键值存储

http://www.infoq.com/presentations/newport-evolving-key-value-programming-model是一个关于 KV 存储的视频,整个前提是redis提倡一种基于列的样式来存储对象的属性在单独的键下,而不是序列化一个对象并将其存储在一个键下。

(这个问题不是redis特有的,而是一般的KV商店的一般风格和最佳实践。)

redis 鼓励使用基于列的样式,而不是将对象中的属性存储为单独的键,例如

我很好奇这是否是最佳实践,以及人们是否采取不同的方法。

  • 例如,您可以在单个键下“腌制”一个对象。这具有在单个请求中获取或设置的优点

  • 或者一个人可能是一个列表,第一项是字段名称索引等?

这让我开始思考 - 我想要一个分层密钥存储,例如

然后添加交易:

从扩展的角度来看,get 和 set 的批处理会很重要吗?

是否有关键商店对此提供支持或有其他适用的方法?

0 投票
3 回答
25298 浏览

redis - Redis复制和redis分片(集群)的区别

  1. 有人知道redis复制和redis分片之间的区别吗?
  2. 它们有什么用?Redis 将数据存储在内存中,这对复制/分片有何影响?
  3. 是否可以同时使用它们?
0 投票
2 回答
5957 浏览

redis - Predis 分片(一致哈希)

Predis 声称拥有客户端分片(支持一致的键散列)。http://github.com/nrk/predis

我可以使用连接到一组配置文件(节点)进行分片,但它不是一致的散列。当我将另一个节点添加到池中时,找不到某些键。有人有这方面的经验吗?

使用 php 5.2(和 redis 的 php 5.2 版本)。