<?xml version="1.0" encoding="utf-8"?> 
<rss version="2.0">
 <channel>
  <title>SHRIPHANI PALAKODETY: Posts tagged 'lmdb'</title>
  <description>SHRIPHANI PALAKODETY: Posts tagged 'lmdb'</description>
  <link>http://blog.shriphani.com/tags/lmdb.html</link>
  <lastBuildDate>Wed, 18 May 2016 05:09:25 UT</lastBuildDate>
  <pubDate>Wed, 18 May 2016 05:09:25 UT</pubDate>
  <ttl>1800</ttl>
  <item>
   <title>fort-knox: A disk-backed core.cache implementation</title>
   <link>http://blog.shriphani.com/2016/05/18/fort-knox-a-disk-backed-core-cache-implementation/?utm_source=lmdb&amp;utm_medium=RSS</link>
   <guid>urn:http-blog-shriphani-com:-2016-05-18-fort-knox-a-disk-backed-core-cache-implementation</guid>
   <pubDate>Wed, 18 May 2016 05:09:25 UT</pubDate>
   <description>&lt;html&gt;
&lt;p&gt;&lt;a href="https://github.com/clojure/core.cache"&gt;&lt;code&gt;core.cache&lt;/code&gt;&lt;/a&gt; is a small and convenient cache library for clojure. It enables clojure users to quickly roll out caches. In this blog post I am going to describe a clojure implementation which stores cache entries to disk: &lt;a href="https://github.com/shriphani/fort-knox"&gt;fort-knox&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;In a few recent projects I&amp;rsquo;ve needed a cache with entries backed to disk. This is a vital requirement in applications that need to be fault-tolerant. &lt;a href="https://symas.com/products/lightning-memory-mapped-database/"&gt;LMDB&lt;/a&gt; (which I&amp;rsquo;ve had very positive experiences with) is fast, quick and perfect for this task. &lt;a href="https://github.com/shriphani/fort-knox"&gt;&lt;code&gt;fort-knox&lt;/code&gt;&lt;/a&gt; implements the &lt;code&gt;core.cache&lt;/code&gt; spec and stores entries in LMDB. &lt;a href="https://github.com/shriphani/clj-lmdb"&gt;&lt;code&gt;clj-lmdb&lt;/code&gt;&lt;/a&gt; (subject of a previous blog post) is part of the plan now.&lt;/p&gt;

&lt;p&gt;Note that this library deviates slightly from suggestions for &lt;code&gt;core.cache&lt;/code&gt; implementations. For instance, the backing store doesn&amp;rsquo;t implement &lt;a href="https://github.com/clojure/clojure/blob/master/src/jvm/clojure/lang/IPersistentCollection.java"&gt;&lt;code&gt;IPersistentCollection&lt;/code&gt;&lt;/a&gt; or &lt;a href="https://github.com/clojure/clojure/blob/master/src/jvm/clojure/lang/Associative.java"&gt;&lt;code&gt;Associative&lt;/code&gt;&lt;/a&gt; so &lt;code&gt;fort-knox&lt;/code&gt; might deviate from expected behavior. Thus YMMV.&lt;/p&gt;&lt;/html&gt;</description></item>
  <item>
   <title>clj-lmdb : Clojure Bindings For The LMDB Key-Value Store</title>
   <link>http://blog.shriphani.com/2016/04/17/clj-lmdb-clojure-bindings-for-the-lmdb-key-value-store/?utm_source=lmdb&amp;utm_medium=RSS</link>
   <guid>urn:http-blog-shriphani-com:-2016-04-17-clj-lmdb-clojure-bindings-for-the-lmdb-key-value-store</guid>
   <pubDate>Sun, 17 Apr 2016 21:41:30 UT</pubDate>
   <description>&lt;html&gt;
&lt;p&gt;LMDB is the nicest, no-nonsense, no-surprise key-value store I&amp;rsquo;ve ever used.&lt;/p&gt;

&lt;p&gt;In several benchmarks, &lt;a href="http://symas.com/mdb/#bench"&gt;LMDB destroys competitors&lt;/a&gt; - it is a beloved tool in &lt;a href="https://scs.hosted.panopto.com/Panopto/Pages/Viewer.aspx?id=745fd606-7a0a-40c1-82d2-800c44ec3764"&gt;high-profile circles&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Here&amp;rsquo;s clojure bindings: &lt;a href="https://github.com/shriphani/clj-lmdb"&gt;https://github.com/shriphani/clj-lmdb&lt;/a&gt;&lt;/p&gt;&lt;/html&gt;</description></item></channel></rss>