- deps.edn
-
juxt/crux-lmdb {:mvn/version "{crux_version}-alpha"}
- pom.xml
-
<dependency> <groupId>juxt</groupId> <artifactId>crux-lmdb</artifactId> <version>{crux_version}-alpha</version> </dependency>
In order to use LMDB within Crux, you must first add LMDB as a project dependency:
juxt/crux-lmdb {:mvn/version "{crux_version}-alpha"}
<dependency>
<groupId>juxt</groupId>
<artifactId>crux-lmdb</artifactId>
<version>{crux_version}-alpha</version>
</dependency>
Replace the implementation of the desired component with crux.lmdb/->kv-store
{
"crux/index-store": {
"kv-store": {
"crux/module": "crux.lmdb/->kv-store",
"db-dir": "/tmp/lmdb"
}
},
"crux/document-store": { ... },
"crux/tx-log": { ... }
}
{:crux/index-store {:kv-store {:crux/module 'crux.lmdb/->kv-store
:db-dir (io/file "/tmp/lmdb")}}
:crux/document-store {...}
:crux/tx-log {...}}
{:crux/index-store {:kv-store {:crux/module crux.lmdb/->kv-store
:db-dir "/tmp/lmdb"}}
:crux/document-store {...}
:crux/tx-log {...}}
It is generally advised to use independent LMDB instances for each component, although using a single instance for the transaction log and document store is possible. Do not share the LMDB instance used for the index store with other components as you cannot then perform Crux version upgrades.
db-dir
(required, string/File
/Path
): path to LMDB data directory
sync?
(boolean, default false): sync to disk after every write
env-flags
(int): LMDB flags
env-mapsize
(int): LMDB map size
Can you improve this documentation? These fine people already did:
James Henderson, Daniel Mason, Jeremy Taylor & Dan MasonEdit on GitHub
cljdoc is a website building & hosting documentation for Clojure/Script libraries
× close