Commit 7613081 1 parent d0024dd commit 7613081 Copy full SHA for 7613081
File tree 2 files changed +35
-1
lines changed
2 files changed +35
-1
lines changed Original file line number Diff line number Diff line change 3
3
"type" : " module" ,
4
4
"private" : true ,
5
5
"scripts" : {
6
- "start" : " cross-env NODE_NO_WARNINGS=1 node --loader ts-node/esm src/index.ts"
6
+ "start" : " cross-env NODE_NO_WARNINGS=1 node --loader ts-node/esm src/index.ts" ,
7
+ "start-server" : " cross-env NODE_NO_WARNINGS=1 node --loader ts-node/esm src/server.ts"
7
8
},
8
9
"dependencies" : {
9
10
"@aws-sdk/client-dynamodb" : " ^3.658.1" ,
Original file line number Diff line number Diff line change
1
+ import { createServer } from 'node:http'
2
+ import { setTimeout } from 'node:timers/promises'
3
+ import { BentoCache , bentostore } from 'bentocache'
4
+ import { redisDriver } from 'bentocache/drivers/redis'
5
+
6
+ const bento = new BentoCache ( {
7
+ default : 'redis' ,
8
+ stores : {
9
+ redis : bentostore ( ) . useL2Layer ( redisDriver ( { connection : { host : '127.0.0.1' , port : 6379 } } ) ) ,
10
+ } ,
11
+ } )
12
+
13
+ function getCachedValue ( ) {
14
+ return bento . getOrSet ( {
15
+ key : 'foo' ,
16
+ factory : async ( ) => {
17
+ await setTimeout ( 1000 )
18
+ return 'bar'
19
+ } ,
20
+ ttl : '4s' ,
21
+ } )
22
+ }
23
+
24
+ const server = createServer ( async ( _req , res ) => {
25
+ res . writeHead ( 200 , { 'Content-Type' : 'application/json' } )
26
+
27
+ const value = await getCachedValue ( )
28
+ res . end ( JSON . stringify ( value ) )
29
+ } )
30
+
31
+ server . listen ( 8042 , ( ) => {
32
+ console . log ( 'Listening on http://localhost:8042' )
33
+ } )
You can’t perform that action at this time.
0 commit comments