错误描述:在Nest.js中使用Sock.IO连接Redis适配器中,出现了连接失败的操作; 之前的错误代码: redis-io.adapter.ts:
main.ts:
解决问题后的代码: redis-io.adapter.ts:
main.ts:
通过给redis-io.adapter.ts的constructor中添加一个参数INestApplication来解决问题
var Client = require ( 'strong-pubsub' ) ;
var Adapter = require ( 'strong-pubsub-
redis
' ) ;
var client = new Client ( { host : 'http://my.message-broker.com' , port : 3000 } , Adapter ) ;
client . publish ( 'my topic' , 'my message' ) ;
"dependencies" : {
"node-
redis
-adapter" : "git://github.com/ria-com/node-
redis
-adapter.git" ,
然后
使用
添加到您的配置文件:
module.exports = {
redis
: {
port: 6379,
host: '12
7.0
.0.1',
database: 3
并
使用
:
var
redis
= require ( 'node-
redis
-adapter' ) ;
redis
. get ( 'someKey' , function ( err , value ) {
/* some code her
npm install @svtslv/
nestjs
-io
redis
io
redis
npm install -D @types/io
redis
您也可以
使用
交互式CLI
npx
nestjs
-modules
docker run -p 6379:6379
redis
Redis
Module.forRoot(选项,
连接
?)
import { Module } from '@
nestjs
/common' ;
import {
Redis
Module } from '@svtslv/
nestjs
-io
redis
' ;
import { AppController } from './app.controller' ;
@ Module ( {
imports : [
Redis
Module
$ xcode-select --install
xcode-select: error: command line tools are already installed,
use "Software Update" to install updates
# 提示已经安装的话,就重置
$ xcode-select --reset.
需求:因为开发环境的
redis
通常为单机版,而生产环境的
redis
为集群版。所以能不能只需配置文件修改就能实现代码
中
兼容单机版和集群版。
1、定义一个接口继承JedisCommands(Common interface for sharded and non-sharded Jedis)
public interface JedisClient extends JedisCommands {...
截止发稿日期,
nest
socket
使用
的包、及其版本 @
nestjs
/platform-socket.io (7.6.5)
此包内部依赖于 { “socket.io”: “2.3.0” }
个人在客户端
使用
的是最新版本包 socket.io-client(3.0.5)
socket.io 官方明确指出,2.0 <—> 3.0 的(客户端/服务端)不能互联,参加文档:
https://socket.io
redis
支持对 list,set 和 zset 元素的排序,排序的时间复杂度是 O(N+M*log(M))。(N 是集合大小,M 为返回元素的数量)
sort key [BY pattern] [LIMIT offset count] [GET pattern [GET pattern ...]] [ASC|DESC] [ALPHA] [STORE destination]
[BY pattern]:sort 命令默认
使用
集合元素进行排序,可以通过 “BY pattern”
使用
外...