Quantcast
Channel: Node.jsタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 8691

Node.js の gRPC で Redis のデータを削除 (Delete)

$
0
0

設定ファイル、サーバープログラム、クライアントプログラムの3つが必要です。

設定ファイル

redis_delete.proto
こちらと同じ
Python の gRPC で Redis のデータを削除 (Delete)

サーバープログラム

redis_delete_server.js
#! /usr/bin/node
// ---------------------------------------------------------------//  redis_delete_server.js////                  Feb/08/2020// ---------------------------------------------------------------varPROTO_PATH='redis_delete.proto'vargrpc=require('grpc')varprotoLoader=require('@grpc/proto-loader')varpackageDefinition=protoLoader.loadSync(PROTO_PATH,{keepCase:true,longs:String,enums:String,defaults:true,oneofs:true});varredis_delete_proto=grpc.loadPackageDefinition(packageDefinition).redis_delete// ---------------------------------------------------------------functionredis_delete_proc(key_in){constredis=require("redis")constclient=redis.createClient(6379,'localhost')client.on("error",function(err){console.log("Redis connection error to "+client.host+":"+client.port+" - "+err)})client.del(key_in)client.quit()}// ---------------------------------------------------------------functionRedisDelete(call,callback){console.error("*** RedisDelete ***")constkey_in=call.request.keyconststr_out='RedisDelete '+call.request.keyconsole.error(str_out)redis_delete_proc(key_in)callback(null,{key:call.request.key});}// ---------------------------------------------------------------functionmain(){varserver=newgrpc.Server()server.addService(redis_delete_proto.Greeter.service,{RedisDelete:RedisDelete})server.bind('0.0.0.0:50051',grpc.ServerCredentials.createInsecure())server.start()}// ---------------------------------------------------------------main()// ---------------------------------------------------------------

クライアントプログラム

redis_delete_client.js
#! /usr/bin/node
// ---------------------------------------------------------------//  redis_delete_client.js////                      Feb/08/2020// ---------------------------------------------------------------varPROTO_PATH='redis_delete.proto'vargrpc=require('grpc');varprotoLoader=require('@grpc/proto-loader');varpackageDefinition=protoLoader.loadSync(PROTO_PATH,{keepCase:true,longs:String,enums:String,defaults:true,oneofs:true});varredis_delete_proto=grpc.loadPackageDefinition(packageDefinition).redis_delete// ---------------------------------------------------------------functionmain(){varclient=newredis_delete_proto.Greeter('localhost:50051',grpc.credentials.createInsecure())varkey_in=process.argv[2]client.RedisDelete({key:key_in},function(err,response){console.log('key:',response.key)})}// ---------------------------------------------------------------main()// ---------------------------------------------------------------

サーバープログラムの起動

export NODE_PATH=/usr/lib/node_modules
./redis_delete_server.js

クライアントプログラムの実行

$ export NODE_PATH=/usr/lib/node_modules
$ ./redis_delete_client.js t1855
key: t1855

Viewing all articles
Browse latest Browse all 8691

Trending Articles