You've already forked node-redis
mirror of
https://github.com/redis/node-redis.git
synced 2025-08-06 02:15:48 +03:00
Add(examples): Create an example for blPop & lPush (#1696)
* Add(examples): Create an example for blPop & lPush Signed-off-by: Aditya Rastogi <adit.rastogi2014@gmail.com> * Update(examples): fix case, add timeout, update readme Signed-off-by: Aditya Rastogi <adit.rastogi2014@gmail.com> Closes #1693.
This commit is contained in:
@@ -3,8 +3,9 @@
|
|||||||
This folder contains example scripts showing how to use Node Redis in different scenarios.
|
This folder contains example scripts showing how to use Node Redis in different scenarios.
|
||||||
|
|
||||||
| File Name | Description |
|
| File Name | Description |
|
||||||
| ------------------------ | ----------------------------------------------------------------------------- |
|
|--------------------------|--------------------------------------|
|
||||||
| `connect-as-acl-user.js` | Connect to Redis 6 using an ACL user |
|
| `connect-as-acl-user.js` | Connect to Redis 6 using an ACL user |
|
||||||
|
| `blocking-list-pop.js` | Block until an element is pushed to a list |
|
||||||
| `lua-multi-incr.js` | Define a custom lua script that allows you to perform INCRBY on multiple keys |
|
| `lua-multi-incr.js` | Define a custom lua script that allows you to perform INCRBY on multiple keys |
|
||||||
|
|
||||||
## Contributing
|
## Contributing
|
||||||
|
32
examples/blocking-list-pop.js
Normal file
32
examples/blocking-list-pop.js
Normal file
@@ -0,0 +1,32 @@
|
|||||||
|
// This example shows how to use the blocking LPUSH command.
|
||||||
|
|
||||||
|
// This code shows how to run with isolation the blPop Command to block the script while waiting for a value to be pushed to the list.
|
||||||
|
// The script will be blocked until the LPUSH command is executed.
|
||||||
|
// After which we log the list and quit the client.
|
||||||
|
|
||||||
|
import { createClient, commandOptions } from 'redis';
|
||||||
|
|
||||||
|
async function blockingListPop() {
|
||||||
|
const client = createClient();
|
||||||
|
|
||||||
|
await client.connect();
|
||||||
|
|
||||||
|
const keyName = 'keyName';
|
||||||
|
|
||||||
|
const blpopPromise = client.blPop(
|
||||||
|
commandOptions({ isolated: true }),
|
||||||
|
keyName,
|
||||||
|
0
|
||||||
|
);
|
||||||
|
|
||||||
|
await client.lPush(keyName, 'value');
|
||||||
|
|
||||||
|
await blpopPromise;
|
||||||
|
|
||||||
|
console.log('blpopPromise resolved');
|
||||||
|
console.log(keyName);
|
||||||
|
|
||||||
|
await client.quit();
|
||||||
|
}
|
||||||
|
|
||||||
|
blockingListPop();
|
Reference in New Issue
Block a user