问题标签 [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 投票
9 回答
38911 浏览

c++ - 如何在 C++ 程序中使用 Redis?

在 C++ 程序中使用 Redis DB 的最佳方式是什么?

0 投票
2 回答
1557 浏览

c++ - C++ 如何使用和传递一个 3 维字符数组?

我正在尝试构建一个 char 数组来存储函数的返回值。在以下函数中,数据存储在 *****valv** 中。如何构建外部变量来访问数据?

解决方案:

谢谢大家!

0 投票
3 回答
2060 浏览

database - 你如何混合 SQL DB 与 Key-Value 存储(即 Redis)

我正在审查我的代码并意识到我花费了大量时间

  1. 从数据库中获取行,
  2. 格式化为 XML,
  3. AJAX GET 到浏览器,然后
  4. 转换回哈希 javascript 对象作为我的本地数据存储。

在更新时,我必须反转这个过程(除了使用 POST 而不是 XML。)

刚开始研究 Redis,我想我可以节省大量时间将对象保存在服务器上的键值存储中,并且只需使用 JSON 直接传输到 JS 客户端。但我虚弱的头脑无法预料离开 SQL DB 会放弃什么(即我害怕放弃 GROUP BY/HAVING 查询)

对于我的数据,我有:

  • 多对多关系,即 obj-tags、obj-groups 等。
  • 通过组合查询对象,即 WHERE tag IN ('a', 'b','c') AND group in ('x','y')
  • 自连接,即每个对象的所有标签 WHERE tag='a' (sql group_concat())
  • 很多外连接,即OUTER JOIN rating ON o.id = rating.obj_id
  • 和提要,这似乎是 REDIS 的强项

您如何成功地混合键值和 SQL 数据库?

例如,使用 SQL RANGE 查询(即 WHERE obj.id IN (1,4,6,7,8,34,876,9879,567,345, ...), 或相反亦然?

欢迎提出想法/建议。

0 投票
3 回答
2815 浏览

database - 用键值存储中的索引模拟数据库表的最简单方法是什么?

用键值存储中的索引模拟数据库表的最简单方法是什么?键值存储没有范围查询和有序键。

我想模拟的东西(按优先顺序):

  1. 创建表
  2. 添加列
  3. 创建索引
  4. 基于主键的查询
  5. 基于任意列的查询
0 投票
1 回答
2947 浏览

ruby-on-rails - Resque 或 Gearman - 为后台作业选择合适的工具

我们正在开发一个 Web 应用程序,其中大约 50% 的写入请求,我们最终将数据推送到多个数据存储,并在这些数据存储中插入和更新大量记录。为了提高响应时间,我们希望在后台异步处理此类请求。

我们的 Web 应用程序是用 Ruby on Rails 编写的。

我倾向于的两个解决方案是 Resque 和 Gearman。

Resque:这里有更多信息:http: //github.com/blog/542-introducing-resque Resque 似乎非常适合 Ruby,它专门用于后台作业处理。“后台作业可以是响应执行的任何 Ruby 类或模块。您现有的类可以轻松转换为后台作业,或者您可以创建专门用于工作的新类。”

Gearman:它不仅仅适用于异步处理的后台作业,但它绝对可以做到这一点。显然更健壮,或者看起来如此。Gearman 的另一个优点是,虽然您的客户端代码可能在 Ruby 中,但工作代码可能在 PHP 中。虽然现在我们完全是 Ruby on Rails 应用程序,但谁知道将来我们是否可能想要使用 PHP 或其他东西,这取决于手头的工作。

你会推荐什么?你有这两者中的任何一个的经验吗?在两者之间进行选择时,我应该记住哪些现实生活中的生产挑战?我什至在这里比较苹果和苹果吗?

0 投票
1 回答
1376 浏览

ruby-on-rails - 如何同时使用 resque-scheduler 和 resque-status?

我有resque-scheduler在 rails 应用程序中工作正常。现在我需要能够跟踪状态并从队列中删除作业。我简要地看了一下resque-status,从我所看到的来看,如果我能让它与 resque-scheduler 很好地配合,那将是完美的。

然而,救援状态使用createwhich wrapsenqueue和 resque-scheduler 使用enqueue_at我目前使用的扩展。有没有一种简单的方法可以让他们一起玩而无需过多地破解插件?有没有人已经这样做并且愿意给我一些提示?

0 投票
1 回答
11293 浏览

database - redis 是持久数据存储吗?

我所说的“持久”是指服务器随时可能崩溃,只要磁盘保持完好,就不会丢失任何数据(参见ACID)。似乎这就是日志模式的用途,但是如果您启用日志,这不会破坏对内存数据进行操作的目的吗?读取操作可能不受日志的影响,但似乎日志会降低您的写入性能。

0 投票
3 回答
5092 浏览

python - Twisted:为什么将延迟回调传递给延迟线程会使线程突然阻塞?

我尝试使用 txredis(用于 redis 的非阻塞扭曲 api)作为我正在尝试使用我正在处理的 scrapy 项目设置的持久消息队列,但没有成功。我发现虽然客户端没有阻塞,但它变得比原本应该慢得多,因为反应器循环中的一个事件被分成了数千个步骤。

因此,我尝试使用 redis-py(常规阻塞扭曲 api)并将调用包装在延迟线程中。它工作得很好,但是我想在调用 redis 时执行内部延迟,因为我想设置连接池以尝试进一步加快速度。

下面是我对延迟线程的扭曲文档中的一些示例代码的解释,以说明我的用例:

这是我对连接池的更改,它使延迟线程中的代码阻塞:

所以我的问题是,有谁知道为什么我的更改会导致延迟线程阻塞和/或任何人都可以提出更好的解决方案?

0 投票
3 回答
9089 浏览

redis - Redis - 数据大小可以大于内存大小吗?

我对 Redis 比较陌生,在使用它之前,我想了解一些重要的(对我而言)细节。所以....

Redis 使用 RAM 和 HDD 来存储数据。RAM用作快速读/写存储,HDD用于使这些数据持久化。当 Redis 启动时,它会将所有数据从 HDD 加载到 RAM,还是仅将经常查询的数据加载到 RAM?如果我在 HDD 上有 500Mb Redis 存储,但我只有 100Mb 或 RAM 用于 Redis,该怎么办。我在哪里可以读到它?

0 投票
2 回答
10079 浏览

redis - redis 超时与 predis

我正在使用 redis 和 php(predis 在http://github.com/nrk/predis/)并且经常遇到超时。堆栈跟踪显示:

这种情况一直发生,我不知道为什么。有人有什么想法吗?