You've already forked node-redis
mirror of
https://github.com/redis/node-redis.git
synced 2025-08-07 13:22:56 +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.
|
||||
|
||||
| File Name | Description |
|
||||
| ------------------------ | ----------------------------------------------------------------------------- |
|
||||
|--------------------------|--------------------------------------|
|
||||
| `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 |
|
||||
|
||||
## 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