mm_redis 1.9.8 → 1.9.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +15 -0
- package/README.md +64 -25
- package/index.js +1832 -521
- package/package.json +2 -2
- package/test.js +20 -20
- package/test_hmset.js +91 -0
- package/compatibility_table.md +0 -103
- package/verify_compatibility.js +0 -175
package/LICENSE
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
ISC License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2024, 邱文武
|
|
4
|
+
|
|
5
|
+
Permission to use, copy, modify, and/or distribute this software for any
|
|
6
|
+
purpose with or without fee is hereby granted, provided that the above
|
|
7
|
+
copyright notice and this permission notice appear in all copies.
|
|
8
|
+
|
|
9
|
+
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
|
10
|
+
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
|
11
|
+
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
|
12
|
+
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
|
13
|
+
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
|
14
|
+
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
15
|
+
PERFORMANCE OF THIS SOFTWARE.
|
package/README.md
CHANGED
|
@@ -7,23 +7,23 @@ mm_redis是一个高效的Redis客户端封装库,提供了全面的Redis功
|
|
|
7
7
|
|
|
8
8
|
## 版本信息
|
|
9
9
|
|
|
10
|
-
- **当前版本**: 1.9.
|
|
11
|
-
- **更新日期**: 2024-12-
|
|
10
|
+
- **当前版本**: 1.9.9
|
|
11
|
+
- **更新日期**: 2024-12-22
|
|
12
12
|
- **作者**: 邱文武
|
|
13
13
|
- **NPM**: [https://www.npmjs.com/package/mm_redis](https://www.npmjs.com/package/mm_redis)
|
|
14
|
+
- **GitHub**: [https://gitee.com/qiuwenwu91/mm_redis](https://gitee.com/qiuwenwu91/mm_redis)
|
|
14
15
|
|
|
15
16
|
## 功能特性
|
|
16
17
|
|
|
17
|
-
-
|
|
18
|
-
-
|
|
19
|
-
-
|
|
20
|
-
-
|
|
21
|
-
-
|
|
22
|
-
-
|
|
23
|
-
-
|
|
24
|
-
-
|
|
25
|
-
-
|
|
26
|
-
- 支持数值增减操作
|
|
18
|
+
- **完整的连接池管理**:优化并发性能,支持连接复用和自动回收
|
|
19
|
+
- **Pipeline批量操作**:支持Redis Pipeline机制,大幅提升批量操作效率
|
|
20
|
+
- **全面的数据类型支持**:覆盖String、List、Hash、Set、Sorted Set等所有主要Redis数据类型
|
|
21
|
+
- **智能连接管理**:自动重连机制,使用指数退避策略,确保连接稳定可靠
|
|
22
|
+
- **健壮的错误处理**:全面的错误处理机制和详细的日志记录,便于问题排查
|
|
23
|
+
- **便捷的数据序列化**:自动JSON序列化/反序列化,无需手动转换数据格式
|
|
24
|
+
- **键空间隔离**:支持键前缀管理,实现多业务场景下的数据隔离
|
|
25
|
+
- **灵活的事件系统**:统一的事件机制,支持操作前后的事件监听和拦截
|
|
26
|
+
- **丰富的数值操作**:支持原子性的数值增减操作,适用于计数器等场景
|
|
27
27
|
|
|
28
28
|
## 安装
|
|
29
29
|
|
|
@@ -31,6 +31,11 @@ mm_redis是一个高效的Redis客户端封装库,提供了全面的Redis功
|
|
|
31
31
|
npm install mm_redis --save
|
|
32
32
|
```
|
|
33
33
|
|
|
34
|
+
## Node.js版本要求
|
|
35
|
+
|
|
36
|
+
- **最低支持版本**:Node.js 14.0.0
|
|
37
|
+
- **推荐版本**:Node.js 16.0.0及以上
|
|
38
|
+
|
|
34
39
|
## 配置引入方式
|
|
35
40
|
|
|
36
41
|
mm_redis支持多种配置引入方式:
|
|
@@ -74,6 +79,12 @@ redis.setConfig('./config.json');
|
|
|
74
79
|
```
|
|
75
80
|
## 变更日志
|
|
76
81
|
|
|
82
|
+
### v1.9.8 (2024-12-22)
|
|
83
|
+
- 更新文档,完善npm发布所需内容
|
|
84
|
+
- 添加GitHub仓库链接到文档
|
|
85
|
+
- 优化功能特性描述,增强文档可读性
|
|
86
|
+
- 添加Node.js版本要求说明
|
|
87
|
+
|
|
77
88
|
### v1.9.5 (2024-12-21)
|
|
78
89
|
- 修复hmset和hgetall方法的兼容性问题,确保与Redis客户端v5兼容
|
|
79
90
|
- 移除已废弃的hexists、hkeys和hvals方法,优化API设计
|
|
@@ -122,20 +133,20 @@ await redis.close();
|
|
|
122
133
|
|
|
123
134
|
```javascript
|
|
124
135
|
// 设置列表
|
|
125
|
-
await redis.
|
|
136
|
+
await redis.setForList('users', ['user1', 'user2', 'user3']);
|
|
126
137
|
|
|
127
138
|
// 添加元素到列表
|
|
128
139
|
await redis.list_push('users', 'user4');
|
|
129
140
|
|
|
130
141
|
// 获取列表
|
|
131
|
-
const users = await redis.
|
|
142
|
+
const users = await redis.getForList('users');
|
|
132
143
|
$.log.debug('[Redis] 用户列表:', users);
|
|
133
144
|
|
|
134
145
|
// 获取列表的部分元素
|
|
135
|
-
const partialUsers = await redis.
|
|
146
|
+
const partialUsers = await redis.getForList('users', 0, 2);
|
|
136
147
|
|
|
137
148
|
// 清空列表
|
|
138
|
-
await redis.
|
|
149
|
+
await redis.clearForList('users');
|
|
139
150
|
```
|
|
140
151
|
|
|
141
152
|
### Hash操作
|
|
@@ -279,9 +290,9 @@ redis.on('set_error', (data) => {
|
|
|
279
290
|
| addStr | addStr_before | addStr_after | addStr_error |
|
|
280
291
|
| setrange | setrange_before | setrange_after | setrange_error |
|
|
281
292
|
| clear | clear_before | clear_after | clear_error |
|
|
282
|
-
|
|
|
293
|
+
| setForList | setForList_before | setForList_after | setForList_error |
|
|
283
294
|
| list_push | list_push_before | list_push_after | list_push_error |
|
|
284
|
-
|
|
|
295
|
+
| clearForList | clearForList_before | clearForList_after | clearForList_error |
|
|
285
296
|
| mset | mset_before | mset_after | mset_error |
|
|
286
297
|
| mget | mget_before | mget_after | mget_error |
|
|
287
298
|
| hset | hset_before | hset_after | hset_error |
|
|
@@ -323,11 +334,11 @@ redis.on('set_error', (data) => {
|
|
|
323
334
|
|
|
324
335
|
### 列表操作
|
|
325
336
|
|
|
326
|
-
- `
|
|
337
|
+
- `setForList(key, value, seconds)`: 设置列表
|
|
327
338
|
- `list_push(key, value)`: 添加元素到列表
|
|
328
|
-
- `
|
|
329
|
-
- `
|
|
330
|
-
- `
|
|
339
|
+
- `getForList(key, start, end)`: 获取列表
|
|
340
|
+
- `hasForList(key, value)`: 判断列表中是否存在元素
|
|
341
|
+
- `clearForList(key, value)`: 清空列表或重置列表
|
|
331
342
|
|
|
332
343
|
### Hash操作
|
|
333
344
|
|
|
@@ -473,6 +484,34 @@ redis.on('set_error', (data) => {
|
|
|
473
484
|
- 完善错误处理
|
|
474
485
|
- 提升代码稳定性
|
|
475
486
|
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
487
|
+
## 贡献指南
|
|
488
|
+
|
|
489
|
+
我们欢迎社区贡献!如果你有兴趣为mm_redis项目做出贡献,请遵循以下步骤:
|
|
490
|
+
|
|
491
|
+
1. Fork本仓库
|
|
492
|
+
2. 创建你的功能分支 (`git checkout -b feature/amazing-feature`)
|
|
493
|
+
3. 提交你的变更 (`git commit -m 'Add some amazing feature'`)
|
|
494
|
+
4. 推送到分支 (`git push origin feature/amazing-feature`)
|
|
495
|
+
5. 打开一个Pull Request
|
|
496
|
+
|
|
497
|
+
请确保你的代码遵循项目的编码规范,并通过所有测试。
|
|
498
|
+
|
|
499
|
+
## 许可证
|
|
500
|
+
|
|
501
|
+
本项目采用ISC许可证 - 查看 [LICENSE](LICENSE) 文件了解详情
|
|
502
|
+
|
|
503
|
+
## 问题反馈
|
|
504
|
+
|
|
505
|
+
如果您在使用过程中遇到任何问题或有任何建议,请通过以下方式反馈:
|
|
506
|
+
|
|
507
|
+
- **GitHub Issues**: [https://gitee.com/qiuwenwu91/mm_redis/issues](https://gitee.com/qiuwenwu91/mm_redis/issues)
|
|
508
|
+
- **NPM**: [https://www.npmjs.com/package/mm_redis](https://www.npmjs.com/package/mm_redis)
|
|
509
|
+
|
|
510
|
+
## 鸣谢
|
|
511
|
+
|
|
512
|
+
感谢所有为本项目做出贡献的开发者和用户!
|
|
513
|
+
|
|
514
|
+
## 相关链接
|
|
515
|
+
|
|
516
|
+
- **Redis官方文档**: [https://redis.io/documentation](https://redis.io/documentation)
|
|
517
|
+
- **Node Redis客户端**: [https://github.com/redis/node-redis](https://github.com/redis/node-redis)
|