gemercheung 3 лет назад
Родитель
Сommit
0c3f2cd329

+ 1 - 1
package.json

@@ -34,7 +34,7 @@
     "buffer": "^6.0.3",
     "js-yaml": "^4.1.0",
     "multistream": "^4.1.0",
-    "nestjs-redis": "^1.3.3",
+    "nestjs-redis": "git+https://github.com/GyanendroKh/nestjs-redis.git#nest8-fix",
     "node-datachannel": "^0.3.2",
     "redis": "^4",
     "reflect-metadata": "^0.1.13",

+ 2 - 1
src/app.module.ts

@@ -5,7 +5,7 @@ import { AppService } from './app.service';
 import { MetaGateway } from './meta.gateway';
 import { RoomModule } from './room/room.module';
 import { SceneModule } from './scene/scene.module';
-// import { RedisModule } from './redis/redis.module';
+import { CacheModule } from './cache/cache.module';
 import configuration from './config/configuration';
 
 @Module({
@@ -13,6 +13,7 @@ import configuration from './config/configuration';
     ConfigModule.forRoot({ isGlobal: true, load: [configuration] }),
     RoomModule,
     SceneModule,
+    CacheModule,
   ],
   controllers: [AppController],
   providers: [AppService, MetaGateway],

+ 11 - 0
src/cache/cache.module.ts

@@ -0,0 +1,11 @@
+import { Module } from '@nestjs/common';
+import { CacheService } from './cache.service';
+import { RedisModule } from 'nestjs-redis';
+import configuration from 'src/config/configuration';
+
+@Module({
+  imports: [RedisModule.register(configuration().redis)],
+  providers: [CacheService],
+  exports: [CacheService],
+})
+export class CacheModule { }

+ 3 - 5
src/redis/redis.service.ts

@@ -1,12 +1,10 @@
 import { Injectable, OnModuleInit } from '@nestjs/common';
-// import { ClientRedis, Client } from '@nestjs/microservices';
-// import { redisClientOptions } from './redis.options';
-import { RedisService as CacheService } from 'nestjs-redis';
+import { RedisService } from 'nestjs-redis';
 
 @Injectable()
-export class RedisService implements OnModuleInit {
+export class CacheService implements OnModuleInit {
   public client;
-  constructor(private redisService: CacheService) {}
+  constructor(private redisService: RedisService) {}
   async onModuleInit() {
     console.log('redis init');
     try {

+ 0 - 20
src/redis/redis.module.ts

@@ -1,20 +0,0 @@
-import { Module } from '@nestjs/common';
-// import { ClientsModule, Transport } from '@nestjs/microservices';
-import { RedisService } from './redis.service';
-import { RedisModule as CacheModule } from 'nestjs-redis';
-import configuration from 'src/config/configuration';
-
-// const options = {
-//   port: 6379,
-//   host: '192.168.0.47', // 远程调试需要设置bindip 为0.0.0.0 并且设置密码
-//   password: '', // 非远程不需要密码
-//   decode_responses: true,
-//   db: 9,
-// };
-console.log('redis-config', configuration().redis);
-@Module({
-  imports: [CacheModule.register(configuration().redis)],
-  providers: [RedisService],
-  exports: [RedisService],
-})
-export class RedisModule {}

+ 0 - 12
src/redis/redis.options.ts.bk

@@ -1,12 +0,0 @@
-import { Transport, ClientOptions } from '@nestjs/microservices';
-
-export const redisClientOptions: ClientOptions = {
-  transport: Transport.REDIS,
-  options: {
-    // url: process.env.GRPC_URL,
-    // url: 'redis://:redis9394@127.0.0.1:6379/',
-    url: process.env.REDIS_URL,
-    retryAttempts: 20,
-    retryDelay: 2,
-  },
-};

+ 7 - 5
src/scene/scene.module.ts

@@ -1,11 +1,13 @@
 import { Module } from '@nestjs/common';
 import { SceneService } from './scene.service';
-// import { RedisModule } from '../redis/redis.module';
-// import { RedisService } from '../redis/redis.service'
+import { CacheModule } from '../cache/cache.module';
+import { CacheService } from '../cache/cache.service';
+// import { RedisService } from '../redis/redis.service';
+
 @Module({
-  imports: [],
+  imports: [CacheModule],
   controllers: [],
-  providers: [SceneService],
+  providers: [SceneService, CacheService],
   exports: [SceneService],
 })
-export class SceneModule {}
+export class SceneModule { }

+ 14 - 16
src/scene/scene.service.ts

@@ -5,15 +5,16 @@ import { Logger } from '@nestjs/common';
 import { DataChannel } from 'node-datachannel';
 import * as path from 'path';
 import { statSync, createReadStream, readFileSync } from 'fs';
-// import multistream from 'multistream';
 import { Readable } from 'stream';
 import { BehaviorSubject } from 'rxjs';
 import * as streamBuffers from 'stream-buffers';
 import { ActionType } from './actionType';
+import { CacheService } from 'src/cache/cache.service';
+
 
 @Injectable()
 export class SceneService implements OnModuleInit {
-  // constructor(private redisService: RedisService) {}
+  constructor(private cacheService: CacheService) { }
   @Client(grpcClientOptions) private readonly client: ClientGrpc;
   private sceneGrpcService: SceneGrpcService;
 
@@ -48,6 +49,7 @@ export class SceneService implements OnModuleInit {
       // const requestData: InitRequest = {
       //   appId: params.appId
       // }
+
       this.logger.log('init', request);
       const rpcRequest: InitRequest = params;
       const initReply = this.sceneGrpcService.init(rpcRequest);
@@ -110,7 +112,11 @@ export class SceneService implements OnModuleInit {
       this.frameCnt += 1;
       try {
         // console.log()
-        // const data = this.redisService.get('test');
+        const data = await this.cacheService.get(
+          'updateFrameMetadata:2f60ea15cbd5a2',
+        );
+        console.log('test-data', data);
+
         if (this.frameCnt === 1) {
           this.pushTheFirstFrame();
         }
@@ -248,13 +254,13 @@ export class SceneService implements OnModuleInit {
     // const steamTotalSize = metaData.length + steamStat.size;
     const clipBuffer = readFileSync(testClipPath);
     // console.log('clipBuffer', clipBuffer);
-    const fullBufferList = Buffer.concat([coordBuff, clipBuffer]);
+    // const fullBufferList = Buffer.concat([coordBuff, clipBuffer]);
 
     // const steam = createReadStream(clipPath, {
     //   highWaterMark: chunk_size - block,
     // });
 
-    console.log('fullBufferList', fullBufferList);
+    // console.log('fullBufferList', fullBufferList);
 
     // const steam1 = createReadStream(fullBufferList.toString(), {
     //   highWaterMark: chunk_size - block,
@@ -265,19 +271,11 @@ export class SceneService implements OnModuleInit {
     });
     steam.put(coordBuff);
     steam.put(clipBuffer);
-    // steam1.on('data', (data: Buffer) => {
-    //   console.log('steam1', data)
-    // });
-    // console.log('steam1', steam1);
-
-    // const steam = Readable.from(fullBufferList, {
-    //   highWaterMark: chunk_size - block,
-    // });
 
     let steamByteLength = 0;
 
     steam.on('data', (data: Buffer) => {
-      console.log('data', data, data.byteLength);
+      // console.log('data', data, data.byteLength);
       // console.log('data-size', data);
       const blockBuffStart = Buffer.alloc(block);
 
@@ -308,8 +306,8 @@ export class SceneService implements OnModuleInit {
 
       // 32 bit slot
       // statusPack.setUint32(12, buff.byteLength);
-      console.log('metaLen', coordBuff.byteLength);
-      console.log('metaLen', clipBuffer.byteLength);
+      // console.log('metaLen', coordBuff.byteLength);
+      // console.log('metaLen', clipBuffer.byteLength);
 
       framePack.setUint32(0, 1437227610);
       framePack.setUint32(12, coordBuff.byteLength); // metaLen

+ 2 - 3
yarn.lock

@@ -4110,10 +4110,9 @@ neo-async@^2.6.2:
   resolved "https://registry.npmmirror.com/neo-async/-/neo-async-2.6.2.tgz"
   integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==
 
-nestjs-redis@^1.3.3:
+"nestjs-redis@git+https://github.com/GyanendroKh/nestjs-redis.git#nest8-fix":
   version "1.3.3"
-  resolved "https://registry.npmmirror.com/nestjs-redis/-/nestjs-redis-1.3.3.tgz#9b285653bbe3af92cf7ecd1e2225b8bf2df32ad2"
-  integrity sha512-YLvWtVKP38Uica7pL8T955jPi0MFmJ4+Wj3R/IHbLpsdCJkdA9wtfO9NoUpiZpM1aO1dEGcOBoStvgb0Uy7MGA==
+  resolved "git+https://github.com/GyanendroKh/nestjs-redis.git#0b1f99ac8ec0c7f2ae64f8cd30b32b7ad324cfaf"
   dependencies:
     "@nestjs/common" "^7.4.4"
     "@nestjs/core" "^7.4.4"