mm_redis 1.4.1 → 1.5.0

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.
Files changed (5) hide show
  1. package/README.md +298 -0
  2. package/index.js +2024 -376
  3. package/package.json +33 -32
  4. package/test.js +83 -56
  5. package/test2.js +0 -22
package/package.json CHANGED
@@ -1,32 +1,33 @@
1
- {
2
- "name": "mm_redis",
3
- "version": "1.4.1",
4
- "description": "这是超级美眉redis缓存帮助类",
5
- "main": "index.js",
6
- "scripts": {
7
- "test": "node test.js"
8
- },
9
- "repository": {
10
- "type": "git",
11
- "url": "git+https://github.com/qiuwenwu/mm_redis.git"
12
- },
13
- "keywords": [
14
- "string",
15
- "array",
16
- "object",
17
- "get",
18
- "set",
19
- "prototype",
20
- "redis"
21
- ],
22
- "author": "邱文武",
23
- "license": "ISC",
24
- "bugs": {
25
- "url": "https://github.com/qiuwenwu/mm_redis/issues"
26
- },
27
- "homepage": "https://github.com/qiuwenwu/mm_redis#readme",
28
- "dependencies": {
29
- "mm_expand": "^1.7.0",
30
- "redis": "^2.8.0"
31
- }
32
- }
1
+ {
2
+ "name": "mm_redis",
3
+ "version": "1.5.0",
4
+ "description": "这是超级美眉redis缓存帮助类",
5
+ "main": "index.js",
6
+ "scripts": {
7
+ "test": "node test.js",
8
+ "dev": "nodemon test.js"
9
+ },
10
+ "repository": {
11
+ "type": "git",
12
+ "url": "git+https://gitee.com/qiuwenwu91/mm_redis.git"
13
+ },
14
+ "keywords": [
15
+ "string",
16
+ "array",
17
+ "object",
18
+ "get",
19
+ "set",
20
+ "prototype",
21
+ "redis"
22
+ ],
23
+ "author": "邱文武",
24
+ "license": "ISC",
25
+ "bugs": {
26
+ "url": "https://gitee.com/qiuwenwu91/mm_redis/issues"
27
+ },
28
+ "homepage": "https://gitee.com/qiuwenwu91/mm_redis#readme",
29
+ "dependencies": {
30
+ "mm_logs": "^1.5.2",
31
+ "redis": "^4.7.0"
32
+ }
33
+ }
package/test.js CHANGED
@@ -1,62 +1,89 @@
1
1
  const Redis = require('./index.js').Redis;
2
2
 
3
3
  async function test() {
4
- var bl, num, arr = [];
5
- var rs = new Redis();
6
- var config = './config.json'.loadJson(__dirname);
7
- rs.setConfig(config);
8
- rs.open();
9
- // await rs.set("a", "张三", 10);
10
- // await rs.set("a_c", "张三", 10);
11
- // await rs.set("b", "李四", 10);
12
- //
13
- // await rs.set("c", "王五", 10);
14
- // await rs.set("d", "十五", 10);
15
- bl = await rs.set("age", 10, 10);
16
- console.log("修改" + bl);
4
+ try {
5
+ var bl, num, arr = [];
6
+ var rs = new Redis();
7
+ var config = './config.json'.loadJson(__dirname);
8
+ rs.setConfig(config);
9
+ await rs.open();
10
+
11
+ // 测试基本的set和get操作
12
+ $.log.debug('[Redis] 测试1: 设置和获取对象');
13
+ await rs.set("uuid_123456", {
14
+ name: "李四",
15
+ age: 18
16
+ });
17
17
 
18
- //bl = await rs.del("d");
19
- bl = await rs.add("d", "十五", 10);
20
- console.log("添加" + bl);
21
-
22
- // var num = await rs.addInt("age", 11);
23
- // console.log(num);
24
- //
25
- // msg = await rs.setrange("a", 0, "asd");
26
- // var len = await rs.addStr("a", "丰");
27
- // console.log("追加文本" + len);
28
- //
29
- // var bl = await rs.has("a");
30
- // console.log("是否存在" + bl);
31
-
32
- bl = await rs.list_clear("arr", ['第三', '第四', '第w']); // 清空数组,并重新增加成员
33
- console.log("清空数组" + bl);
34
-
35
- num = await rs.list_set("arr", ['第一', '第二'], 10);
36
- console.log("设置数组" + num);
37
-
38
- time = await rs.ttl("arr");
39
- console.log(time);
40
- bl = await rs.ttl("arr", -11);
41
- console.log(bl);
42
- time = await rs.ttl("arr");
43
- console.log(time);
44
-
45
- // var bl = await rs.list_has("arr", '第一');
46
- // console.log(bl);
47
- // await rs.sort("arr");
48
- var ar = await rs.list_get("arr");
49
- console.log(ar);
18
+ var user = await rs.get("uuid_123456");
19
+ $.log.debug('[Redis] 测试输出', user);
20
+
21
+ // 测试过期时间
22
+ $.log.debug('[Redis] \n测试2: 设置过期时间');
23
+ await rs.set("temp_key", "临时值", 5);
24
+ var ttl = await rs.ttl("temp_key");
25
+ $.log.debug('[Redis] 过期时间:', ttl);
26
+
27
+ // 测试数值增加
28
+ $.log.debug('[Redis] \n测试3: 数值增加');
29
+ await rs.set("counter", 10);
30
+ var newCount = await rs.addInt("counter", 5);
31
+ $.log.debug('[Redis] 增加后的值:', newCount);
32
+
33
+ // 测试列表操作
34
+ $.log.debug('[Redis] \n测试4: 列表操作');
35
+ await rs.list_set("test_list", ["item1", "item2", "item3"]);
36
+ var list = await rs.list_get("test_list");
37
+ $.log.debug('[Redis] 列表内容:', list);
38
+
39
+ // 测试键前缀
40
+ $.log.debug('[Redis] \n测试5: 键前缀支持');
41
+ rs.config.prefix = "test_";
42
+ await rs.set("prefixed_key", "带前缀的值");
43
+ var prefixedValue = await rs.get("prefixed_key");
44
+ $.log.debug('[Redis] 带前缀的值:', prefixedValue);
45
+
46
+ // 测试批量操作
47
+ $.log.debug('[Redis] \n测试6: 批量操作');
48
+ rs.config.prefix = "";
49
+ await rs.mset({
50
+ "batch1": "值1",
51
+ "batch2": "值2",
52
+ "batch3": {name: "测试对象"}
53
+ });
54
+ var batchResult = await rs.mget(["batch1", "batch2", "batch3"]);
55
+ $.log.debug('[Redis] 批量获取结果:', batchResult);
56
+
57
+ // 测试删除操作
58
+ $.log.debug('[Redis] \n测试7: 删除操作');
59
+ var delResult = await rs.del(["batch1", "batch2", "batch3"]);
60
+ $.log.debug('[Redis] 删除结果:', delResult);
61
+
62
+ // 测试是否存在
63
+ $.log.debug('[Redis] \n测试8: 检查键是否存在');
64
+ var exists = await rs.has("batch1");
65
+ $.log.debug('[Redis] batch1是否存在:', exists);
66
+
67
+ // 清理测试数据
68
+ $.log.debug('[Redis] \n清理测试数据...');
69
+ await rs.del(["uuid_123456", "temp_key", "counter", "test_list", "test_prefixed_key"]);
70
+
71
+ // 关闭连接
72
+ $.log.debug('[Redis] \n关闭连接...');
73
+ bl = await rs.close();
74
+ $.log.debug('[Redis] 关闭连接结果:', bl);
75
+
76
+ $.log.debug('[Redis] \n所有测试完成!');
77
+ } catch (error) {
78
+ $.log.error('[Redis] 测试过程中出现错误:', error);
79
+ }
80
+ }
50
81
 
51
- //console.log("取值" + JSON.stringify(arr));
82
+ test().catch(err => {
83
+ $.log.error('[Redis] 未捕获的错误:', err);
84
+ process.exit(1);
85
+ });
52
86
 
53
- //rs.del('a');
54
- // ret = await rs.clear(); // 清空缓存
55
- // console.log(ret);
56
- // var ret = await rs.getrange("a", 1, 3);
57
- // var arr = await rs.keys("a*");
58
- // console.log("取值" + arr);
59
- var bl = rs.close();
60
- console.log(bl);
61
- }
62
- test();
87
+ setTimeout(() => {
88
+ process.exit(0);
89
+ }, 5000);
package/test2.js DELETED
@@ -1,22 +0,0 @@
1
- const Redis = require('./index.js').Redis;
2
-
3
- async function test() {
4
- var rs = new Redis();
5
- var config = './config.json'.loadJson(__dirname);
6
- rs.setConfig(config);
7
- rs.open();
8
- rs.unsubscribe('test');
9
- // 添加订阅
10
- rs.subscribe('test', function(message) {
11
- console.log('来自订阅的消息', message);
12
- });
13
-
14
- setTimeout(function(){
15
- // 发布订阅消息
16
- rs.publish('test', '你好吗?' + Math.random(), function(error, result) {
17
- console.log(error, result);
18
- });
19
- },3000)
20
- }
21
-
22
- test();