Onyx plugin for redis.
In your project file:
[org.onyxplatform/onyx-redis "0.13.2.0"]
In your peer boot-up namespace:
(:require [onyx.plugin.redis])
Example:
{:onyx/name :out-to-redis
:onyx/plugin :onyx.plugin.redis/writer
:onyx/type :output
:onyx/medium :redis
:redis/uri "redis://127.0.0.1:6379"
:redis/allowed-commands [:set :get]
:onyx/batch-size batch-size}
| key | type | description |
|---|---|---|
:redis/uri | string | Redis uri |
:redis/read-timeout-ms | int | Time to wait (in ms) before giving up on trying to write to Redis. |
:redis/allowed-commands | vector of keyword | Optional list of Redis commands that are allowed (default: all). |
Segments should be supplied to the plugin in the form:
{:op :sadd :args [redis-key redis-value]}
Where op is a keyword that corresponds 1:1 to a Redis command function
in taoensso.carmine, e.g. :sadd -> taoensso.carmine/sadd. Other
examples are :set, :del, :pfadd, :zadd, :lpush. For more
information on the commands supported by carmine, see
its documentation.
Injects an carmine connection spec into the event map. Will also inject as an :onyx/fn param if :onyx/param? is true.
{:lifecycle/task :use-redis-task
:lifecycle/calls :onyx.plugin.redis/reader-conn-spec
:redis/uri "redis://127.0.0.1:6379"
:redis/read-timeout-ms <<optional-timeout>>
:onyx/param? true
:lifecycle/doc "Initialises redis conn spec into event map, or as a :onyx.core/param"}
When used with task :use-redis-task and with :onyx/param? true, you can use it from your function e.g.
(ns your.ns
(:require [taoensso.carmine :as car :refer (wcar)]))
(defn use-redis-task-fn [conn segment]
(wcar conn
[(car/smembers (:key segment)])))
Alternatively, the conn that is created is placed under :redis/conn in the
event map, for use within lifecycles e.g. :before-batch. Use in this way allows
requests to be batched.
Please see the Carmine documentation for examples for how to use Carmine.
Pull requests into the master branch are welcomed.
Copyright © 2016 Distributed Masonry
Distributed under the Eclipse Public License, the same as Clojure.
Can you improve this documentation?Edit on GitHub
cljdoc builds & hosts documentation for Clojure/Script libraries
| Ctrl+k | Jump to recent docs |
| ← | Move to previous article |
| → | Move to next article |
| Ctrl+/ | Jump to the search field |