小壶
煮,小锅,煮!
-魔法粥锅,格林兄弟
littlepot是一个微型图书馆,致力于将批处理数据请求转换为单个元素请求。
基本原理
大多数公共API返回批处理数据(例如在一个响应中包含50个元素),但是在某些情况下,您只需要单个元素访问即可。 解决此问题的一般方法是发送批处理请求,获取数据,将其保存在集合中的某个位置,从集合中获取下一个元素,如果集合用尽则发送下一个请求,等待,重复。 littlepot解决了其中一些问题。
贮存。 它由clojure.lang.PersistentQueue (clojure队列实现)支持,因此您无需关心有效的存储。
自动填充。 当缓存的数据快要用尽时,它将在后台发送下一批的请求,因此填充缓存的过程会自动且无提示地进行。
不阻塞。 当数据出现在缓存中时,您无需等待; 如果有,则返回;否则,返回:no-data 。
可组合的。 具有检索单个元素