问题标签 [carmine]

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 回答
2484 浏览

clojure - carmine的wcar宏应该怎么用?

我对应该如何使用胭脂红进行通话感到困惑。我发现了胭脂红文档wcar中描述的宏:

除了redis命令之外,我真的wcar每次想和redis通话时都要打电话吗?或者我可以在一开始就调用一次吗?如果有怎么办?

这是 tavisrudd 的 redis 库的一些代码的样子(来自我的玩具 url 缩短器项目的测试套件):

现在我只能通过这样写来让它与胭脂红一起使用:

那么使用它的正确方法是什么,我没有得到什么基本概念?

0 投票
1 回答
104 浏览

clojure - 胭脂红中的奇怪行为(clojure-redis 客户端)

考虑胭脂红中的这个片段

我在这里做错了什么?有没有办法在宏let内部使用?wcar*

0 投票
1 回答
647 浏览

spring - 集成基于 Spring 的 Java 应用程序和 Clojure 库

我们有一个在 Tomcat 8 中运行的基于 Spring 4.0 的 Web 应用程序(或者我们有一个 Undertow 的启动脚本)。Spring MVC 正在处理请求。我正在寻找一种将一些请求处理代码推迟到 Clojure 库的方法,而对遗留 Java 代码的更改最少。

例如,以 URL 结尾的请求.java将由旧版 Java 处理,而以 结尾的请求.clj将由 Clojure 处理。目前,我看到三个选项:

  1. 在 Java 项目的依赖项中包含 Clojure 库 jar,并用于clojure.java.api从 Java 调用 Clojure 代码。
  2. 使用某种 RPC/RMI 或消息队列,例如 Redis 和 Carmine 的消息队列处理能力。这样,Clojure 将存在于一个单独的 JVM 中。
  3. 使用某种反向代理来执行 URL 路由。

以上方法真的可行吗?你还有什么建议?

谢谢!

0 投票
1 回答
130 浏览

clojure - 不能让胭脂红 mq 工作人员保持打开状态

我正在尝试在一个不断运行的过程中实现一个胭脂红工人。

使用 启动以下应用程序时lein run myclass.foo,它只是启动工作程序并立即停止它。

我的目标是这样的

  • 启动 foo 监听器
  • foo 侦听器在前台运行并打印发布到队列的所有内容
  • Ctrl-c / quit 将关闭监听器
0 投票
1 回答
854 浏览

clojure - 测试期间的胭脂红连接错误

我有一个带有一些简单 compojure-api 路由的 luminus 项目。我添加carmine了与 redis 服务器通信,使用wcar*宏(在 services.clj 中定义)对其进行调用,一切正常。

现在我正在尝试添加一些测试,但似乎 redis 连接在它们期间无法正常工作,因为我收到此错误lein test

ERROR 胭脂红连接错误

clojure.lang.ExceptionInfo:胭脂红连接错误{}

由于它在deveprod环境中工作,我认为这与环境env中缺少负载有关test,但我没有找到解决它的方法。

这些是正在使用的代码的相关部分:

测试.clj

服务.clj

处理程序.clj

Profiles.clj

配置文件

解决方案

mount/start使用在测试之前执行的命令添加文本夹具。

添加到test.clj

0 投票
2 回答
140 浏览

clojure - 使用 taoensso.carmine 检查多个键是否存在

我正在使用 taoensso.carmine redis 客户端并希望实现以下目标:给定 sequence s,获取 redis 中不存在的所有元素。(我的意思是redis的EXISTS命令返回false)

起初我想做到以下几点:

但它返回汽车/存在响应的序列,而不是通过它们过滤我的序列

完成这项工作但需要很多时间,因为每次都没有管道和使用新连接。

所以我最终在下面进行了一些复杂的地图操作,但我相信应该有更简单的方法来实现它。如何?

0 投票
1 回答
195 浏览

clojure - 在 Clojure 中编译 - Redis/Carmine

我对 Carmine uberjar compile ( lein with-profile embed uberjar) 有疑问。也许答案很简单,但我没有从其他论坛获得任何帮助。lein ring server-headless 8080 运行正常。如果我运行这个命令 lein with-profile embed uberjar,那么我会收到这个错误消息。你能帮我吗,正确的设置是什么?

提前致谢,RRR

错误信息:

​lein with-profile embed uberjar WARNING: You are running as root; 可能是偶然的。按 control-C 中止或 Enter 以 root 身份继续。设置 LEIN_ROOT 以禁用此警告。​</p>

编译失败:子进程失败 Uberjar 中止,因为 jar 失败:编译失败:子进程失败 执行任务 'uberjar' 时遇到错误,配置文件:'embed' Uberjar 中止,因为 jar 失败:编译失败:子进程失败

0 投票
1 回答
334 浏览

clojure - clojure胭脂红redis连接错误

每当我在本地机器之外运行我的代码时,我都被连接错误困扰了一周。

连接错误是因为无论我做什么,胭脂红都连接到本地主机。这是来自我的 ns 的 repl 会话的完整输出store.core,其中requires [taoensso.carmine :as redis]

[在另一个终端启用本地 redis]

我究竟做错了什么?这种用法似乎与carmine.clj#L28建议的完全一样!