UNPKG

mm_redis

Version:

高效的Redis客户端封装库,提供连接池管理、数据类型操作、错误处理和批量操作优化

91 lines (75 loc) 2.93 kB
// 直接测试Redis模块的hmset功能 // 修改导入方式,查看实际导出的内容 const redisModule = require('./index.js'); // 简单的测试日志函数 const log = (...args) => { $.log.debug(`[${new Date().toISOString()}]`, ...args); }; // 模拟$对象 global.$ = { log: { debug: (...args) => log('[DEBUG]', ...args), info: (...args) => log('[INFO]', ...args), warn: (...args) => log('[WARN]', ...args), error: (...args) => log('[ERROR]', ...args) } }; // 查看模块导出内容 log('模块导出内容:', Object.keys(redisModule)); const Redis = redisModule.Redis || redisModule.default || redisModule; log('使用的Redis构造函数:', Redis); // 创建测试函数 async function testRedisHmset() { log('开始测试Redis模块的hmset方法'); try { // 创建Redis实例(使用默认配置) const redis = new Redis({ host: 'localhost', port: 6379, // 其他必要配置 }); // 初始化 await redis.init(); log('Redis模块初始化完成'); // 测试数据 const testKey = 'test_hmset_key'; const testObj = { field1: 'v1', field2: 'v2', field3: { nested: 'value' } }; // 先删除测试键(如果存在) await redis.del(testKey); log(`已清理测试键: ${testKey}`); // 调用hmset方法 log(`调用hmset方法,键: ${testKey}, 对象:`, JSON.stringify(testObj)); const result = await redis.hmset(testKey, testObj); log(`hmset方法返回结果: ${result}`); // 验证结果 log(`验证设置结果...`); const field1Value = await redis.hget(testKey, 'field1'); const field2Value = await redis.hget(testKey, 'field2'); const field3Value = await redis.hget(testKey, 'field3'); const allFields = await redis.hgetall(testKey); log(`field1值: ${field1Value}`); log(`field2值: ${field2Value}`); log(`field3值: ${field3Value}`); log(`所有字段:`, JSON.stringify(allFields)); // 检查结果是否符合预期 const success = field1Value === 'v1' && field2Value === 'v2'; log(`测试${success ? '通过' : '失败'}`); // 清理 await redis.del(testKey); await redis.destroy(); log('测试完成,资源已清理'); return success; } catch (error) { log('测试过程中发生错误:', error); return false; } } // 运行测试 testRedisHmset().then(result => { log(`测试结束,总体结果: ${result ? '成功' : '失败'}`); process.exit(result ? 0 : 1); });