执行 npx babel-node src/config/test.js 报错
来源:4-2 Redis实战应用配置—get&set方法
unbreakable_全栈
2021-12-04 19:48:27
--------------------------

RedisConfig.js
// import redis from 'redis'
// import { promisifyAll } from 'bluebird'
// import config from './index'
// // import log4js from '@/config/Log4j'
// // const logger = log4js.getLogger('out')
// const options = {
// host: config.REDIS.host,
// port: config.REDIS.port,
// password: config.REDIS.password,
// no_ready_check: true,
// detect_buffers: true,
// retry_strategy: function (options) {
// if (options.error && options.error.code === 'ECONNREFUSED') {
// // End reconnecting on a specific error and flush all commands with
// // a individual error
// return new Error('The server refused the connection')
// }
// if (options.total_retry_time > 1000 * 60 * 60) {
// // End reconnecting after a specific timeout and flush all commands
// // with a individual error
// return new Error('Retry time exhausted')
// }
// if (options.attempt > 10) {
// // End reconnecting with built in error
// console.log('already tried 10 times!')
// return undefined
// }
// // reconnect after
// return Math.min(options.attempt * 100, 3000)
// }
// }
// // const client = redis. createClient(options)
// let client = promisifyAll(redis.createClient(options))
// client.on('error', (err) => {
// console.log('Redis Client Error:' + err)
// })
// const setValue = (key, value, time) => {
// if (!client.connected) {
// client = promisifyAll(redis.createClient(options))
// }
// if (typeof value === 'undefined' || value == null || value === '') {
// return
// }
// if (typeof value === 'string') {
// if (typeof time !== 'undefined') {
// client.set(key, value, 'EX', time, (err, result) => {
// console.log('client.set -> err', err)
// })
// // client.set(key, value);
// // client.expire(key, time);
// } else {
// client.set(key, value)
// }
// } else if (typeof value === 'object') {
// // { key1: value1, key2: value2}
// // Object.keys(value) => [key1, key2]
// Object.keys(value).forEach((item) => {
// })
// }
// // client.quit()
// }
// // const {promisify} = require('util');
// // const getAsync = promisify(client.get).bind(client);
// const getValue = (key) => {
// if (!client.connected) {
// client = promisifyAll(redis.createClient(options))
// }
// return client.getAsync(key)
// }
// const getHValue = (key) => {
// // v8 Promisify method use util, must node > 8
// // return promisify(client.hgetall).bind(client)(key)
// // bluebird async
// return client.hgetallAsync(key)
// }
// const delValue = (key) => {
// client.del(key, (err, res) => {
// if (res === 1) {
// console.log('delete successfully')
// } else {
// console.log('delete redis key error:' + err)
// }
// })
// }
// export { client, setValue, getValue, getHValue, delValue }
/**
*
*/
import redis from 'redis'
const options = {
host: '192.168.43.254', //虚拟机IP地址 可能是 我自己不确定
port: 15001,
password: '123456',
detect_buffers: true,
retry_strategy: function (options) {
if (options.error && options.error.code === 'ECONNREFUSED') {
// End reconnecting on a specific error and flush all commands with
// a individual error
return new Error('The server refused the connection')
}
if (options.total_retry_time > 1000 * 60 * 60) {
// End reconnecting after a specific timeout and flush all commands
// with a individual error
return new Error('Retry time exhausted')
}
if (options.attempt > 10) {
// End reconnecting with built in error
return undefined
}
// reconnect after
return Math.min(options.attempt * 100, 3000)
}
}
const client = redis.createClient(options)
const setValue = (key, value) => {
return client.set(key, value)
}
const {promisify} = require('util');
const getAsync = promisify(client.get).bind(client);
const getValue = (key) => {
return getAsync(key)
}
export {
client,
setValue,
getValue
}
----------------------
test.js
import {getValue, setValue} from './RedisConfig'
setValue('imooc', 'imooc message from redis client')
getValue('imooc').then((res) => {
console.log('getValue => ', res)
})1回答
Brian
2021-12-09
从截图上看看不出来什么错误。
可以检查你自己的redis的版本:
https://git.imooc.com/class-130/api-start/src/master/package.json#L46
相似问题