UNPKG

actionhero

Version:

actionhero.js is a multi-transport API Server with integrated cluster capabilities and delayed tasks

794 lines 46.5 kB
<!doctype html> <html class="default no-js"> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <title>cache | actionhero</title> <meta name="description" content="Documentation for actionhero"> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="stylesheet" href="../assets/css/main.css"> </head> <body> <header> <div class="tsd-page-toolbar"> <div class="container"> <div class="table-wrap"> <div class="table-cell" id="tsd-search" data-index="../assets/js/search.json" data-base=".."> <div class="field"> <label for="tsd-search-field" class="tsd-widget search no-caption">Search</label> <input id="tsd-search-field" type="text" /> </div> <ul class="results"> <li class="state loading">Preparing search index...</li> <li class="state failure">The search index is not available</li> </ul> <a href="../index.html" class="title">actionhero</a> </div> <div class="table-cell" id="tsd-widgets"> <div id="tsd-filter"> <a href="#" class="tsd-widget options no-caption" data-toggle="options">Options</a> <div class="tsd-filter-group"> <div class="tsd-select" id="tsd-filter-visibility"> <span class="tsd-select-label">All</span> <ul class="tsd-select-list"> <li data-value="public">Public</li> <li data-value="protected">Public/Protected</li> <li data-value="private" class="selected">All</li> </ul> </div> <input type="checkbox" id="tsd-filter-inherited" checked /> <label class="tsd-widget" for="tsd-filter-inherited">Inherited</label> <input type="checkbox" id="tsd-filter-externals" checked /> <label class="tsd-widget" for="tsd-filter-externals">Externals</label> <input type="checkbox" id="tsd-filter-only-exported" /> <label class="tsd-widget" for="tsd-filter-only-exported">Only exported</label> </div> </div> <a href="#" class="tsd-widget menu no-caption" data-toggle="menu">Menu</a> </div> </div> </div> </div> <div class="tsd-page-title"> <div class="container"> <ul class="tsd-breadcrumb"> <li> <a href="../globals.html">Globals</a> </li> <li> <a href="cache.html">cache</a> </li> </ul> <h1>Namespace cache</h1> </div> </div> </header> <div class="container container-main"> <div class="row"> <div class="col-8 col-content"> <section class="tsd-panel-group tsd-index-group"> <h2>Index</h2> <section class="tsd-panel tsd-index-panel"> <div class="tsd-index-content"> <section class="tsd-index-section "> <h3>Interfaces</h3> <ul class="tsd-index-list"> <li class="tsd-kind-interface tsd-parent-kind-namespace"><a href="../interfaces/cache.cacheobject.html" class="tsd-kind-icon">Cache<wbr>Object</a></li> <li class="tsd-kind-interface tsd-parent-kind-namespace"><a href="../interfaces/cache.cacheoptions.html" class="tsd-kind-icon">Cache<wbr>Options</a></li> </ul> </section> <section class="tsd-index-section "> <h3>Variables</h3> <ul class="tsd-index-list"> <li class="tsd-kind-variable tsd-parent-kind-namespace"><a href="cache.html#lockduration" class="tsd-kind-icon">lock<wbr>Duration</a></li> <li class="tsd-kind-variable tsd-parent-kind-namespace tsd-is-not-exported"><a href="cache.html#locknameoverride" class="tsd-kind-icon">lock<wbr>Name<wbr>Override</a></li> <li class="tsd-kind-variable tsd-parent-kind-namespace"><a href="cache.html#lockprefix" class="tsd-kind-icon">lock<wbr>Prefix</a></li> <li class="tsd-kind-variable tsd-parent-kind-namespace"><a href="cache.html#lockretry" class="tsd-kind-icon">lock<wbr>Retry</a></li> <li class="tsd-kind-variable tsd-parent-kind-namespace"><a href="cache.html#redisprefix" class="tsd-kind-icon">redis<wbr>Prefix</a></li> </ul> </section> <section class="tsd-index-section "> <h3>Functions</h3> <ul class="tsd-index-list"> <li class="tsd-kind-function tsd-parent-kind-namespace"><a href="cache.html#checklock" class="tsd-kind-icon">check<wbr>Lock</a></li> <li class="tsd-kind-function tsd-parent-kind-namespace"><a href="cache.html#clear" class="tsd-kind-icon">clear</a></li> <li class="tsd-kind-function tsd-parent-kind-namespace"><a href="cache.html#client" class="tsd-kind-icon">client</a></li> <li class="tsd-kind-function tsd-parent-kind-namespace"><a href="cache.html#destroy" class="tsd-kind-icon">destroy</a></li> <li class="tsd-kind-function tsd-parent-kind-namespace"><a href="cache.html#dumpread" class="tsd-kind-icon">dump<wbr>Read</a></li> <li class="tsd-kind-function tsd-parent-kind-namespace"><a href="cache.html#dumpwrite" class="tsd-kind-icon">dump<wbr>Write</a></li> <li class="tsd-kind-function tsd-parent-kind-namespace"><a href="cache.html#keys" class="tsd-kind-icon">keys</a></li> <li class="tsd-kind-function tsd-parent-kind-namespace"><a href="cache.html#listlength" class="tsd-kind-icon">list<wbr>Length</a></li> <li class="tsd-kind-function tsd-parent-kind-namespace"><a href="cache.html#load" class="tsd-kind-icon">load</a></li> <li class="tsd-kind-function tsd-parent-kind-namespace"><a href="cache.html#lock" class="tsd-kind-icon">lock</a></li> <li class="tsd-kind-function tsd-parent-kind-namespace"><a href="cache.html#lockname" class="tsd-kind-icon">lock<wbr>Name</a></li> <li class="tsd-kind-function tsd-parent-kind-namespace"><a href="cache.html#locks" class="tsd-kind-icon">locks</a></li> <li class="tsd-kind-function tsd-parent-kind-namespace"><a href="cache.html#overridelockname" class="tsd-kind-icon">override<wbr>Lock<wbr>Name</a></li> <li class="tsd-kind-function tsd-parent-kind-namespace"><a href="cache.html#pop" class="tsd-kind-icon">pop</a></li> <li class="tsd-kind-function tsd-parent-kind-namespace"><a href="cache.html#push" class="tsd-kind-icon">push</a></li> <li class="tsd-kind-function tsd-parent-kind-namespace"><a href="cache.html#save" class="tsd-kind-icon">save</a></li> <li class="tsd-kind-function tsd-parent-kind-namespace"><a href="cache.html#size" class="tsd-kind-icon">size</a></li> <li class="tsd-kind-function tsd-parent-kind-namespace"><a href="cache.html#unlock" class="tsd-kind-icon">unlock</a></li> </ul> </section> </div> </section> </section> <section class="tsd-panel-group tsd-member-group "> <h2>Variables</h2> <section class="tsd-panel tsd-member tsd-kind-variable tsd-parent-kind-namespace"> <a name="lockduration" class="tsd-anchor"></a> <h3><span class="tsd-flag ts-flagConst">Const</span> lock<wbr>Duration</h3> <div class="tsd-signature tsd-kind-icon">lock<wbr>Duration<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">any</span><span class="tsd-signature-symbol"> = config.general.lockDuration</span></div> <aside class="tsd-sources"> <ul> <li>Defined in <a href="https://github.com/actionhero/actionhero/blob/fd12b4f0/src/modules/cache.ts#L21">src/modules/cache.ts:21</a></li> </ul> </aside> </section> <section class="tsd-panel tsd-member tsd-kind-variable tsd-parent-kind-namespace tsd-is-not-exported"> <a name="locknameoverride" class="tsd-anchor"></a> <h3><span class="tsd-flag ts-flagLet">Let</span> lock<wbr>Name<wbr>Override</h3> <div class="tsd-signature tsd-kind-icon">lock<wbr>Name<wbr>Override<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">any</span></div> <aside class="tsd-sources"> <ul> <li>Defined in <a href="https://github.com/actionhero/actionhero/blob/fd12b4f0/src/modules/cache.ts#L32">src/modules/cache.ts:32</a></li> </ul> </aside> </section> <section class="tsd-panel tsd-member tsd-kind-variable tsd-parent-kind-namespace"> <a name="lockprefix" class="tsd-anchor"></a> <h3><span class="tsd-flag ts-flagConst">Const</span> lock<wbr>Prefix</h3> <div class="tsd-signature tsd-kind-icon">lock<wbr>Prefix<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">any</span><span class="tsd-signature-symbol"> = config.general.lockPrefix</span></div> <aside class="tsd-sources"> <ul> <li>Defined in <a href="https://github.com/actionhero/actionhero/blob/fd12b4f0/src/modules/cache.ts#L20">src/modules/cache.ts:20</a></li> </ul> </aside> </section> <section class="tsd-panel tsd-member tsd-kind-variable tsd-parent-kind-namespace"> <a name="lockretry" class="tsd-anchor"></a> <h3><span class="tsd-flag ts-flagConst">Const</span> lock<wbr>Retry</h3> <div class="tsd-signature tsd-kind-icon">lock<wbr>Retry<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">100</span><span class="tsd-signature-symbol"> = 100</span></div> <aside class="tsd-sources"> <ul> <li>Defined in <a href="https://github.com/actionhero/actionhero/blob/fd12b4f0/src/modules/cache.ts#L22">src/modules/cache.ts:22</a></li> </ul> </aside> </section> <section class="tsd-panel tsd-member tsd-kind-variable tsd-parent-kind-namespace"> <a name="redisprefix" class="tsd-anchor"></a> <h3><span class="tsd-flag ts-flagConst">Const</span> redis<wbr>Prefix</h3> <div class="tsd-signature tsd-kind-icon">redis<wbr>Prefix<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">any</span><span class="tsd-signature-symbol"> = config.general.cachePrefix</span></div> <aside class="tsd-sources"> <ul> <li>Defined in <a href="https://github.com/actionhero/actionhero/blob/fd12b4f0/src/modules/cache.ts#L19">src/modules/cache.ts:19</a></li> </ul> </aside> </section> </section> <section class="tsd-panel-group tsd-member-group "> <h2>Functions</h2> <section class="tsd-panel tsd-member tsd-kind-function tsd-parent-kind-namespace"> <a name="checklock" class="tsd-anchor"></a> <h3>check<wbr>Lock</h3> <ul class="tsd-signatures tsd-kind-function tsd-parent-kind-namespace"> <li class="tsd-signature tsd-kind-icon">check<wbr>Lock<span class="tsd-signature-symbol">(</span>key<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, retry<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">number</span>, startTime<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span></li> </ul> <ul class="tsd-descriptions"> <li class="tsd-description"> <aside class="tsd-sources"> <ul> <li>Defined in <a href="https://github.com/actionhero/actionhero/blob/fd12b4f0/src/modules/cache.ts#L329">src/modules/cache.ts:329</a></li> </ul> </aside> <h4 class="tsd-parameters-title">Parameters</h4> <ul class="tsd-parameters"> <li> <h5>key: <span class="tsd-signature-type">string</span></h5> </li> <li> <h5><span class="tsd-flag ts-flagDefault value">Default value</span> retry: <span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol"> = false</span></h5> </li> <li> <h5><span class="tsd-flag ts-flagDefault value">Default value</span> startTime: <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol"> = new Date().getTime()</span></h5> </li> </ul> <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">any</span></h4> </li> </ul> </section> <section class="tsd-panel tsd-member tsd-kind-function tsd-parent-kind-namespace"> <a name="clear" class="tsd-anchor"></a> <h3>clear</h3> <ul class="tsd-signatures tsd-kind-function tsd-parent-kind-namespace"> <li class="tsd-signature tsd-kind-icon">clear<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">&gt;</span></li> </ul> <ul class="tsd-descriptions"> <li class="tsd-description"> <aside class="tsd-sources"> <ul> <li>Defined in <a href="https://github.com/actionhero/actionhero/blob/fd12b4f0/src/modules/cache.ts#L74">src/modules/cache.ts:74</a></li> </ul> </aside> <div class="tsd-comment tsd-typography"> <div class="lead"> <p>Removes all keys in redis which are under this Actionhero namespace. Potentially very slow.</p> </div> </div> <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">&gt;</span></h4> </li> </ul> </section> <section class="tsd-panel tsd-member tsd-kind-function tsd-parent-kind-namespace"> <a name="client" class="tsd-anchor"></a> <h3>client</h3> <ul class="tsd-signatures tsd-kind-function tsd-parent-kind-namespace"> <li class="tsd-signature tsd-kind-icon">client<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Redis</span></li> </ul> <ul class="tsd-descriptions"> <li class="tsd-description"> <aside class="tsd-sources"> <ul> <li>Defined in <a href="https://github.com/actionhero/actionhero/blob/fd12b4f0/src/modules/cache.ts#L24">src/modules/cache.ts:24</a></li> </ul> </aside> <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Redis</span></h4> </li> </ul> </section> <section class="tsd-panel tsd-member tsd-kind-function tsd-parent-kind-namespace"> <a name="destroy" class="tsd-anchor"></a> <h3>destroy</h3> <ul class="tsd-signatures tsd-kind-function tsd-parent-kind-namespace"> <li class="tsd-signature tsd-kind-icon">destroy<span class="tsd-signature-symbol">(</span>key<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">&gt;</span></li> </ul> <ul class="tsd-descriptions"> <li class="tsd-description"> <aside class="tsd-sources"> <ul> <li>Defined in <a href="https://github.com/actionhero/actionhero/blob/fd12b4f0/src/modules/cache.ts#L216">src/modules/cache.ts:216</a></li> </ul> </aside> <div class="tsd-comment tsd-typography"> <div class="lead"> <p>Delete an item in the cache. Will throw an error if the item named by <code>key</code> is locked. Automatically handles <code>api.cache.redisPrefix</code></p> </div> </div> <h4 class="tsd-parameters-title">Parameters</h4> <ul class="tsd-parameters"> <li> <h5>key: <span class="tsd-signature-type">string</span></h5> </li> </ul> <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">&gt;</span></h4> </li> </ul> </section> <section class="tsd-panel tsd-member tsd-kind-function tsd-parent-kind-namespace"> <a name="dumpread" class="tsd-anchor"></a> <h3>dump<wbr>Read</h3> <ul class="tsd-signatures tsd-kind-function tsd-parent-kind-namespace"> <li class="tsd-signature tsd-kind-icon">dump<wbr>Read<span class="tsd-signature-symbol">(</span>file<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">&gt;</span></li> </ul> <ul class="tsd-descriptions"> <li class="tsd-description"> <aside class="tsd-sources"> <ul> <li>Defined in <a href="https://github.com/actionhero/actionhero/blob/fd12b4f0/src/modules/cache.ts#L113">src/modules/cache.ts:113</a></li> </ul> </aside> <div class="tsd-comment tsd-typography"> <div class="lead"> <p>Load in contents for redis (and api.cache) saved to a file Warning! Any existing keys in redis (under this Actionhero namespace) will be removed.</p> </div> </div> <h4 class="tsd-parameters-title">Parameters</h4> <ul class="tsd-parameters"> <li> <h5>file: <span class="tsd-signature-type">string</span></h5> </li> </ul> <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">&gt;</span></h4> </li> </ul> </section> <section class="tsd-panel tsd-member tsd-kind-function tsd-parent-kind-namespace"> <a name="dumpwrite" class="tsd-anchor"></a> <h3>dump<wbr>Write</h3> <ul class="tsd-signatures tsd-kind-function tsd-parent-kind-namespace"> <li class="tsd-signature tsd-kind-icon">dump<wbr>Write<span class="tsd-signature-symbol">(</span>file<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">&gt;</span></li> </ul> <ul class="tsd-descriptions"> <li class="tsd-description"> <aside class="tsd-sources"> <ul> <li>Defined in <a href="https://github.com/actionhero/actionhero/blob/fd12b4f0/src/modules/cache.ts#L88">src/modules/cache.ts:88</a></li> </ul> </aside> <div class="tsd-comment tsd-typography"> <div class="lead"> <p>Write the current concents of redis (only the keys in Actionhero&#39;s namespace) to a file.</p> </div> </div> <h4 class="tsd-parameters-title">Parameters</h4> <ul class="tsd-parameters"> <li> <h5>file: <span class="tsd-signature-type">string</span></h5> </li> </ul> <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">&gt;</span></h4> </li> </ul> </section> <section class="tsd-panel tsd-member tsd-kind-function tsd-parent-kind-namespace"> <a name="keys" class="tsd-anchor"></a> <h3>keys</h3> <ul class="tsd-signatures tsd-kind-function tsd-parent-kind-namespace"> <li class="tsd-signature tsd-kind-icon">keys<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">Array</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span></li> </ul> <ul class="tsd-descriptions"> <li class="tsd-description"> <aside class="tsd-sources"> <ul> <li>Defined in <a href="https://github.com/actionhero/actionhero/blob/fd12b4f0/src/modules/cache.ts#L47">src/modules/cache.ts:47</a></li> </ul> </aside> <div class="tsd-comment tsd-typography"> <div class="lead"> <p>Returns all the keys in redis which are under this Actionhero namespace. Potentially very slow.</p> </div> </div> <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">Array</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span></h4> </li> </ul> </section> <section class="tsd-panel tsd-member tsd-kind-function tsd-parent-kind-namespace"> <a name="listlength" class="tsd-anchor"></a> <h3>list<wbr>Length</h3> <ul class="tsd-signatures tsd-kind-function tsd-parent-kind-namespace"> <li class="tsd-signature tsd-kind-icon">list<wbr>Length<span class="tsd-signature-symbol">(</span>key<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">&gt;</span></li> </ul> <ul class="tsd-descriptions"> <li class="tsd-description"> <aside class="tsd-sources"> <ul> <li>Defined in <a href="https://github.com/actionhero/actionhero/blob/fd12b4f0/src/modules/cache.ts#L289">src/modules/cache.ts:289</a></li> </ul> </aside> <div class="tsd-comment tsd-typography"> <div class="lead"> <p>Check how many items are stored in a shared queue/list in redis.</p> </div> </div> <h4 class="tsd-parameters-title">Parameters</h4> <ul class="tsd-parameters"> <li> <h5>key: <span class="tsd-signature-type">string</span></h5> </li> </ul> <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">&gt;</span></h4> </li> </ul> </section> <section class="tsd-panel tsd-member tsd-kind-function tsd-parent-kind-namespace"> <a name="load" class="tsd-anchor"></a> <h3>load</h3> <ul class="tsd-signatures tsd-kind-function tsd-parent-kind-namespace"> <li class="tsd-signature tsd-kind-icon">load<span class="tsd-signature-symbol">(</span>key<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, options<span class="tsd-signature-symbol">?: </span><a href="../interfaces/cache.cacheoptions.html" class="tsd-signature-type">CacheOptions</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><a href="../interfaces/cache.cacheobject.html" class="tsd-signature-type">CacheObject</a><span class="tsd-signature-symbol">&gt;</span></li> </ul> <ul class="tsd-descriptions"> <li class="tsd-description"> <aside class="tsd-sources"> <ul> <li>Defined in <a href="https://github.com/actionhero/actionhero/blob/fd12b4f0/src/modules/cache.ts#L144">src/modules/cache.ts:144</a></li> </ul> </aside> <div class="tsd-comment tsd-typography"> <div class="lead"> <p>Load an item from the cache. Will throw an error if the item named by <code>key</code> cannot be found. Automatically handles <code>api.cache.redisPrefix</code></p> </div> </div> <h4 class="tsd-parameters-title">Parameters</h4> <ul class="tsd-parameters"> <li> <h5>key: <span class="tsd-signature-type">string</span></h5> </li> <li> <h5><span class="tsd-flag ts-flagDefault value">Default value</span> options: <a href="../interfaces/cache.cacheoptions.html" class="tsd-signature-type">CacheOptions</a><span class="tsd-signature-symbol"> = {}</span></h5> </li> </ul> <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><a href="../interfaces/cache.cacheobject.html" class="tsd-signature-type">CacheObject</a><span class="tsd-signature-symbol">&gt;</span></h4> </li> </ul> </section> <section class="tsd-panel tsd-member tsd-kind-function tsd-parent-kind-namespace"> <a name="lock" class="tsd-anchor"></a> <h3>lock</h3> <ul class="tsd-signatures tsd-kind-function tsd-parent-kind-namespace"> <li class="tsd-signature tsd-kind-icon">lock<span class="tsd-signature-symbol">(</span>key<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, expireTimeMS<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">&gt;</span></li> </ul> <ul class="tsd-descriptions"> <li class="tsd-description"> <aside class="tsd-sources"> <ul> <li>Defined in <a href="https://github.com/actionhero/actionhero/blob/fd12b4f0/src/modules/cache.ts#L296">src/modules/cache.ts:296</a></li> </ul> </aside> <div class="tsd-comment tsd-typography"> <div class="lead"> <p>Lock an item in redis (can be a list or a saved item) to this Actionhero process.</p> </div> </div> <h4 class="tsd-parameters-title">Parameters</h4> <ul class="tsd-parameters"> <li> <h5>key: <span class="tsd-signature-type">string</span></h5> </li> <li> <h5><span class="tsd-flag ts-flagDefault value">Default value</span> expireTimeMS: <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol"> = lockDuration</span></h5> </li> </ul> <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">&gt;</span></h4> </li> </ul> </section> <section class="tsd-panel tsd-member tsd-kind-function tsd-parent-kind-namespace"> <a name="lockname" class="tsd-anchor"></a> <h3>lock<wbr>Name</h3> <ul class="tsd-signatures tsd-kind-function tsd-parent-kind-namespace"> <li class="tsd-signature tsd-kind-icon">lock<wbr>Name<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span></li> </ul> <ul class="tsd-descriptions"> <li class="tsd-description"> <aside class="tsd-sources"> <ul> <li>Defined in <a href="https://github.com/actionhero/actionhero/blob/fd12b4f0/src/modules/cache.ts#L33">src/modules/cache.ts:33</a></li> </ul> </aside> <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">any</span></h4> </li> </ul> </section> <section class="tsd-panel tsd-member tsd-kind-function tsd-parent-kind-namespace"> <a name="locks" class="tsd-anchor"></a> <h3>locks</h3> <ul class="tsd-signatures tsd-kind-function tsd-parent-kind-namespace"> <li class="tsd-signature tsd-kind-icon">locks<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">Array</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span></li> </ul> <ul class="tsd-descriptions"> <li class="tsd-description"> <aside class="tsd-sources"> <ul> <li>Defined in <a href="https://github.com/actionhero/actionhero/blob/fd12b4f0/src/modules/cache.ts#L54">src/modules/cache.ts:54</a></li> </ul> </aside> <div class="tsd-comment tsd-typography"> <div class="lead"> <p>Returns all the locks in redis which are under this Actionhero namespace. Potentially slow.</p> </div> </div> <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">Array</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span></h4> </li> </ul> </section> <section class="tsd-panel tsd-member tsd-kind-function tsd-parent-kind-namespace"> <a name="overridelockname" class="tsd-anchor"></a> <h3>override<wbr>Lock<wbr>Name</h3> <ul class="tsd-signatures tsd-kind-function tsd-parent-kind-namespace"> <li class="tsd-signature tsd-kind-icon">override<wbr>Lock<wbr>Name<span class="tsd-signature-symbol">(</span>name<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li> </ul> <ul class="tsd-descriptions"> <li class="tsd-description"> <aside class="tsd-sources"> <ul> <li>Defined in <a href="https://github.com/actionhero/actionhero/blob/fd12b4f0/src/modules/cache.ts#L40">src/modules/cache.ts:40</a></li> </ul> </aside> <h4 class="tsd-parameters-title">Parameters</h4> <ul class="tsd-parameters"> <li> <h5>name: <span class="tsd-signature-type">string</span></h5> </li> </ul> <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4> </li> </ul> </section> <section class="tsd-panel tsd-member tsd-kind-function tsd-parent-kind-namespace"> <a name="pop" class="tsd-anchor"></a> <h3>pop</h3> <ul class="tsd-signatures tsd-kind-function tsd-parent-kind-namespace"> <li class="tsd-signature tsd-kind-icon">pop<span class="tsd-signature-symbol">(</span>key<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">&gt;</span></li> </ul> <ul class="tsd-descriptions"> <li class="tsd-description"> <aside class="tsd-sources"> <ul> <li>Defined in <a href="https://github.com/actionhero/actionhero/blob/fd12b4f0/src/modules/cache.ts#L277">src/modules/cache.ts:277</a></li> </ul> </aside> <div class="tsd-comment tsd-typography"> <div class="lead"> <p>Pop (get) an item to a shared queue/list in redis. Automatically handles <code>api.cache.redisPrefix</code></p> </div> </div> <h4 class="tsd-parameters-title">Parameters</h4> <ul class="tsd-parameters"> <li> <h5>key: <span class="tsd-signature-type">string</span></h5> </li> </ul> <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">&gt;</span></h4> </li> </ul> </section> <section class="tsd-panel tsd-member tsd-kind-function tsd-parent-kind-namespace"> <a name="push" class="tsd-anchor"></a> <h3>push</h3> <ul class="tsd-signatures tsd-kind-function tsd-parent-kind-namespace"> <li class="tsd-signature tsd-kind-icon">push<span class="tsd-signature-symbol">(</span>key<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, item<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">&gt;</span></li> </ul> <ul class="tsd-descriptions"> <li class="tsd-description"> <aside class="tsd-sources"> <ul> <li>Defined in <a href="https://github.com/actionhero/actionhero/blob/fd12b4f0/src/modules/cache.ts#L267">src/modules/cache.ts:267</a></li> </ul> </aside> <div class="tsd-comment tsd-typography"> <div class="lead"> <p>Push an item to a shared queue/list in redis. Automatically handles <code>api.cache.redisPrefix</code></p> </div> </div> <h4 class="tsd-parameters-title">Parameters</h4> <ul class="tsd-parameters"> <li> <h5>key: <span class="tsd-signature-type">string</span></h5> </li> <li> <h5>item: <span class="tsd-signature-type">any</span></h5> </li> </ul> <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">&gt;</span></h4> </li> </ul> </section> <section class="tsd-panel tsd-member tsd-kind-function tsd-parent-kind-namespace"> <a name="save" class="tsd-anchor"></a> <h3>save</h3> <ul class="tsd-signatures tsd-kind-function tsd-parent-kind-namespace"> <li class="tsd-signature tsd-kind-icon">save<span class="tsd-signature-symbol">(</span>key<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, value<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span>, expireTimeMS<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">&gt;</span></li> </ul> <ul class="tsd-descriptions"> <li class="tsd-description"> <aside class="tsd-sources"> <ul> <li>Defined in <a href="https://github.com/actionhero/actionhero/blob/fd12b4f0/src/modules/cache.ts#L233">src/modules/cache.ts:233</a></li> </ul> </aside> <div class="tsd-comment tsd-typography"> <div class="lead"> <p>Save an item in the cache. If an item is already in the cache with the same key, it will be overwritten. Throws an error if the object is already in the cache and is locked. Automatically handles <code>api.cache.redisPrefix</code></p> </div> </div> <h4 class="tsd-parameters-title">Parameters</h4> <ul class="tsd-parameters"> <li> <h5>key: <span class="tsd-signature-type">string</span></h5> </li> <li> <h5>value: <span class="tsd-signature-type">any</span></h5> </li> <li> <h5><span class="tsd-flag ts-flagOptional">Optional</span> expireTimeMS: <span class="tsd-signature-type">number</span></h5> </li> </ul> <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">&gt;</span></h4> </li> </ul> </section> <section class="tsd-panel tsd-member tsd-kind-function tsd-parent-kind-namespace"> <a name="size" class="tsd-anchor"></a> <h3>size</h3> <ul class="tsd-signatures tsd-kind-function tsd-parent-kind-namespace"> <li class="tsd-signature tsd-kind-icon">size<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">&gt;</span></li> </ul> <ul class="tsd-descriptions"> <li class="tsd-description"> <aside class="tsd-sources"> <ul> <li>Defined in <a href="https://github.com/actionhero/actionhero/blob/fd12b4f0/src/modules/cache.ts#L61">src/modules/cache.ts:61</a></li> </ul> </aside> <div class="tsd-comment tsd-typography"> <div class="lead"> <p>Returns the number of keys in redis which are under this Actionhero namespace. Potentially very slow.</p> </div> </div> <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">&gt;</span></h4> </li> </ul> </section> <section class="tsd-panel tsd-member tsd-kind-function tsd-parent-kind-namespace"> <a name="unlock" class="tsd-anchor"></a> <h3>unlock</h3> <ul class="tsd-signatures tsd-kind-function tsd-parent-kind-namespace"> <li class="tsd-signature tsd-kind-icon">unlock<span class="tsd-signature-symbol">(</span>key<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">&gt;</span></li> </ul> <ul class="tsd-descriptions"> <li class="tsd-description"> <aside class="tsd-sources"> <ul> <li>Defined in <a href="https://github.com/actionhero/actionhero/blob/fd12b4f0/src/modules/cache.ts#L318">src/modules/cache.ts:318</a></li> </ul> </aside> <div class="tsd-comment tsd-typography"> <div class="lead"> <p>Unlock an item in redis (can be a list or a saved item) which was previously locked by this Actionhero process.</p> </div> </div> <h4 class="tsd-parameters-title">Parameters</h4> <ul class="tsd-parameters"> <li> <h5>key: <span class="tsd-signature-type">string</span></h5> </li> </ul> <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">&gt;</span></h4> </li> </ul> </section> </section> </div> <div class="col-4 col-menu menu-sticky-wrap menu-highlight"> <nav class="tsd-navigation primary"> <ul> <li class="globals "> <a href="../globals.html"><em>Globals</em></a> </li> <li class=" tsd-kind-namespace"> <a href="action.html">action</a> </li> <li class="current tsd-kind-namespace"> <a href="cache.html">cache</a> </li> <li class=" tsd-kind-namespace"> <a href="chatroom.html">chat<wbr>Room</a> </li> <li class=" tsd-kind-namespace"> <a href="i18n.html">i18n</a> </li> <li class=" tsd-kind-namespace"> <a href="redis.html">redis</a> </li> <li class=" tsd-kind-namespace"> <a href="route.html">route</a> </li> <li class=" tsd-kind-namespace"> <a href="spechelper.html">spec<wbr>Helper</a> </li> <li class=" tsd-kind-namespace"> <a href="task.html">task</a> </li> </ul> </nav> <nav class="tsd-navigation secondary menu-sticky"> <ul class="before-current"> <li class=" tsd-kind-interface tsd-parent-kind-namespace"> <a href="../interfaces/cache.cacheobject.html" class="tsd-kind-icon">Cache<wbr>Object</a> </li> <li class=" tsd-kind-interface tsd-parent-kind-namespace"> <a href="../interfaces/cache.cacheoptions.html" class="tsd-kind-icon">Cache<wbr>Options</a> </li> <li class=" tsd-kind-variable tsd-parent-kind-namespace"> <a href="cache.html#lockduration" class="tsd-kind-icon">lock<wbr>Duration</a> </li> <li class=" tsd-kind-variable tsd-parent-kind-namespace tsd-is-not-exported"> <a href="cache.html#locknameoverride" class="tsd-kind-icon">lock<wbr>Name<wbr>Override</a> </li> <li class=" tsd-kind-variable tsd-parent-kind-namespace"> <a href="cache.html#lockprefix" class="tsd-kind-icon">lock<wbr>Prefix</a> </li> <li class=" tsd-kind-variable tsd-parent-kind-namespace"> <a href="cache.html#lockretry" class="tsd-kind-icon">lock<wbr>Retry</a> </li> <li class=" tsd-kind-variable tsd-parent-kind-namespace"> <a href="cache.html#redisprefix" class="tsd-kind-icon">redis<wbr>Prefix</a> </li> <li class=" tsd-kind-function tsd-parent-kind-namespace"> <a href="cache.html#checklock" class="tsd-kind-icon">check<wbr>Lock</a> </li> <li class=" tsd-kind-function tsd-parent-kind-namespace"> <a href="cache.html#clear" class="tsd-kind-icon">clear</a> </li> <li class=" tsd-kind-function tsd-parent-kind-namespace"> <a href="cache.html#client" class="tsd-kind-icon">client</a> </li> <li class=" tsd-kind-function tsd-parent-kind-namespace"> <a href="cache.html#destroy" class="tsd-kind-icon">destroy</a> </li> <li class=" tsd-kind-function tsd-parent-kind-namespace"> <a href="cache.html#dumpread" class="tsd-kind-icon">dump<wbr>Read</a> </li> <li class=" tsd-kind-function tsd-parent-kind-namespace"> <a href="cache.html#dumpwrite" class="tsd-kind-icon">dump<wbr>Write</a> </li> <li class=" tsd-kind-function tsd-parent-kind-namespace"> <a href="cache.html#keys" class="tsd-kind-icon">keys</a> </li> <li class=" tsd-kind-function tsd-parent-kind-namespace"> <a href="cache.html#listlength" class="tsd-kind-icon">list<wbr>Length</a> </li> <li class=" tsd-kind-function tsd-parent-kind-namespace"> <a href="cache.html#load" class="tsd-kind-icon">load</a> </li> <li class=" tsd-kind-function tsd-parent-kind-namespace"> <a href="cache.html#lock" class="tsd-kind-icon">lock</a> </li> <li class=" tsd-kind-function tsd-parent-kind-namespace"> <a href="cache.html#lockname" class="tsd-kind-icon">lock<wbr>Name</a> </li> <li class=" tsd-kind-function tsd-parent-kind-namespace"> <a href="cache.html#locks" class="tsd-kind-icon">locks</a> </li> <li class=" tsd-kind-function tsd-parent-kind-namespace"> <a href="cache.html#overridelockname" class="tsd-kind-icon">override<wbr>Lock<wbr>Name</a> </li> <li class=" tsd-kind-function tsd-parent-kind-namespace"> <a href="cache.html#pop" class="tsd-kind-icon">pop</a> </li> <li class=" tsd-kind-function tsd-parent-kind-namespace"> <a href="cache.html#push" class="tsd-kind-icon">push</a> </li> <li class=" tsd-kind-function tsd-parent-kind-namespace"> <a href="cache.html#save" class="tsd-kind-icon">save</a> </li> <li class=" tsd-kind-function tsd-parent-kind-namespace"> <a href="cache.html#size" class="tsd-kind-icon">size</a> </li> <li class=" tsd-kind-function tsd-parent-kind-namespace"> <a href="cache.html#unlock" class="tsd-kind-icon">unlock</a> </li> </ul> </nav> </div> </div> </div> <footer class="with-border-bottom"> <div class="container"> <h2>Legend</h2> <div class="tsd-legend-group"> <ul class="tsd-legend"> <li class="tsd-kind-constructor tsd-parent-kind-class"><span class="tsd-kind-icon">Constructor</span></li> <li class="tsd-kind-property tsd-parent-kind-class"><span class="tsd-kind-icon">Property</span></li> <li class="tsd-kind-method tsd-parent-kind-class"><span class="tsd-kind-icon">Method</span></li> </ul> <ul class="tsd-legend"> <li class="tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><span class="tsd-kind-icon">Inherited property</span></li> <li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><span class="tsd-kind-icon">Inherited method</span></li> </ul> <ul class="tsd-legend"> <li class="tsd-kind-property tsd-parent-kind-interface"><span class="tsd-kind-icon">Property</span></li> </ul> <ul class="tsd-legend"> <li class="tsd-kind-method tsd-parent-kind-class tsd-is-private"><span class="tsd-kind-icon">Private method</span></li> </ul> <ul class="tsd-legend"> <li class="tsd-kind-method tsd-parent-kind-class tsd-is-static"><span class="tsd-kind-icon">Static method</span></li> </ul> </div> </div> </footer> <div class="container tsd-generator"> <p>Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p> </div> <div class="overlay"></div> <script src="../assets/js/main.js"></script> <script>if (location.protocol == 'file:') document.write('<script src="../assets/js/search.js"><' + '/script>');</script> </body> </html>