我正在使用 taoensso.carmine redis 客户端并希望实现以下目标:给定 sequence s
,获取 redis 中不存在的所有元素。(我的意思是redis的EXISTS命令返回false)
起初我想做到以下几点:
(wcar conn
(remove #(car/exists %) s))
但它返回汽车/存在响应的序列,而不是通过它们过滤我的序列
(remove #(wcar conn (car exists %)) s)
完成这项工作但需要很多时间,因为每次都没有管道和使用新连接。
所以我最终在下面进行了一些复杂的地图操作,但我相信应该有更简单的方法来实现它。如何?
(let [s (range 1 100)
existance (wcar conn
(doall
(for [i s]
(car/exists i))))
existance-map (zipmap s existance)]
(mapv first (remove (fn [[k v]] (= v 1)) existance-map)))