1
0
mirror of https://github.com/redis/node-redis.git synced 2025-12-11 09:22:35 +03:00
This commit is contained in:
documentation-bot
2025-09-01 09:08:04 +00:00
parent 971773cf3c
commit 646ae2ab04

View File

@@ -107,7 +107,7 @@ connection. However, there was no way to use the pool without a "main"
<a id="md:pubsub" class="tsd-anchor"></a><h3><a href="#md:pubsub">Pub/Sub</a></h3><p>See the <a href="https://github.com/redis/node-redis/blob/master/docs/pub-sub.md">Pub/Sub overview</a>.</p> <a id="md:pubsub" class="tsd-anchor"></a><h3><a href="#md:pubsub">Pub/Sub</a></h3><p>See the <a href="https://github.com/redis/node-redis/blob/master/docs/pub-sub.md">Pub/Sub overview</a>.</p>
<a id="md:scan-iterator" class="tsd-anchor"></a><h3><a href="#md:scan-iterator">Scan Iterator</a></h3><p><a href="https://redis.io/commands/scan"><code>SCAN</code></a> results can be looped over <a id="md:scan-iterator" class="tsd-anchor"></a><h3><a href="#md:scan-iterator">Scan Iterator</a></h3><p><a href="https://redis.io/commands/scan"><code>SCAN</code></a> results can be looped over
using <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol/asyncIterator">async iterators</a>:</p> using <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol/asyncIterator">async iterators</a>:</p>
<pre><code class="language-typescript"><span class="hl-5">for</span><span class="hl-1"> </span><span class="hl-5">await</span><span class="hl-1"> (</span><span class="hl-3">const</span><span class="hl-1"> </span><span class="hl-7">key</span><span class="hl-1"> </span><span class="hl-3">of</span><span class="hl-1"> </span><span class="hl-6">client</span><span class="hl-1">.</span><span class="hl-0">scanIterator</span><span class="hl-1">()) {</span><br/><span class="hl-1"> </span><span class="hl-8">// use the key!</span><br/><span class="hl-1"> </span><span class="hl-5">await</span><span class="hl-1"> </span><span class="hl-6">client</span><span class="hl-1">.</span><span class="hl-0">get</span><span class="hl-1">(</span><span class="hl-6">key</span><span class="hl-1">);</span><br/><span class="hl-1">}</span> <pre><code class="language-typescript"><span class="hl-5">for</span><span class="hl-1"> </span><span class="hl-5">await</span><span class="hl-1"> (</span><span class="hl-3">const</span><span class="hl-1"> </span><span class="hl-7">keys</span><span class="hl-1"> </span><span class="hl-3">of</span><span class="hl-1"> </span><span class="hl-6">client</span><span class="hl-1">.</span><span class="hl-0">scanIterator</span><span class="hl-1">()) {</span><br/><span class="hl-1"> </span><span class="hl-6">console</span><span class="hl-1">.</span><span class="hl-0">log</span><span class="hl-1">(</span><span class="hl-6">keys</span><span class="hl-1">, </span><span class="hl-5">await</span><span class="hl-1"> </span><span class="hl-6">client</span><span class="hl-1">.</span><span class="hl-0">mGet</span><span class="hl-1">(</span><span class="hl-6">keys</span><span class="hl-1">));</span><br/><span class="hl-1">}</span>
</code><button>Copy</button></pre> </code><button>Copy</button></pre>
<p>This works with <code>HSCAN</code>, <code>SSCAN</code>, and <code>ZSCAN</code> too:</p> <p>This works with <code>HSCAN</code>, <code>SSCAN</code>, and <code>ZSCAN</code> too:</p>
<pre><code class="language-typescript"><span class="hl-5">for</span><span class="hl-1"> </span><span class="hl-5">await</span><span class="hl-1"> (</span><span class="hl-3">const</span><span class="hl-1"> { </span><span class="hl-7">field</span><span class="hl-1">, </span><span class="hl-7">value</span><span class="hl-1"> } </span><span class="hl-3">of</span><span class="hl-1"> </span><span class="hl-6">client</span><span class="hl-1">.</span><span class="hl-0">hScanIterator</span><span class="hl-1">(</span><span class="hl-2">&quot;hash&quot;</span><span class="hl-1">)) {</span><br/><span class="hl-1">}</span><br/><span class="hl-5">for</span><span class="hl-1"> </span><span class="hl-5">await</span><span class="hl-1"> (</span><span class="hl-3">const</span><span class="hl-1"> </span><span class="hl-7">member</span><span class="hl-1"> </span><span class="hl-3">of</span><span class="hl-1"> </span><span class="hl-6">client</span><span class="hl-1">.</span><span class="hl-0">sScanIterator</span><span class="hl-1">(</span><span class="hl-2">&quot;set&quot;</span><span class="hl-1">)) {</span><br/><span class="hl-1">}</span><br/><span class="hl-5">for</span><span class="hl-1"> </span><span class="hl-5">await</span><span class="hl-1"> (</span><span class="hl-3">const</span><span class="hl-1"> { </span><span class="hl-7">score</span><span class="hl-1">, </span><span class="hl-7">value</span><span class="hl-1"> } </span><span class="hl-3">of</span><span class="hl-1"> </span><span class="hl-6">client</span><span class="hl-1">.</span><span class="hl-0">zScanIterator</span><span class="hl-1">(</span><span class="hl-2">&quot;sorted-set&quot;</span><span class="hl-1">)) {</span><br/><span class="hl-1">}</span> <pre><code class="language-typescript"><span class="hl-5">for</span><span class="hl-1"> </span><span class="hl-5">await</span><span class="hl-1"> (</span><span class="hl-3">const</span><span class="hl-1"> { </span><span class="hl-7">field</span><span class="hl-1">, </span><span class="hl-7">value</span><span class="hl-1"> } </span><span class="hl-3">of</span><span class="hl-1"> </span><span class="hl-6">client</span><span class="hl-1">.</span><span class="hl-0">hScanIterator</span><span class="hl-1">(</span><span class="hl-2">&quot;hash&quot;</span><span class="hl-1">)) {</span><br/><span class="hl-1">}</span><br/><span class="hl-5">for</span><span class="hl-1"> </span><span class="hl-5">await</span><span class="hl-1"> (</span><span class="hl-3">const</span><span class="hl-1"> </span><span class="hl-7">member</span><span class="hl-1"> </span><span class="hl-3">of</span><span class="hl-1"> </span><span class="hl-6">client</span><span class="hl-1">.</span><span class="hl-0">sScanIterator</span><span class="hl-1">(</span><span class="hl-2">&quot;set&quot;</span><span class="hl-1">)) {</span><br/><span class="hl-1">}</span><br/><span class="hl-5">for</span><span class="hl-1"> </span><span class="hl-5">await</span><span class="hl-1"> (</span><span class="hl-3">const</span><span class="hl-1"> { </span><span class="hl-7">score</span><span class="hl-1">, </span><span class="hl-7">value</span><span class="hl-1"> } </span><span class="hl-3">of</span><span class="hl-1"> </span><span class="hl-6">client</span><span class="hl-1">.</span><span class="hl-0">zScanIterator</span><span class="hl-1">(</span><span class="hl-2">&quot;sorted-set&quot;</span><span class="hl-1">)) {</span><br/><span class="hl-1">}</span>