TestRedisController.java
3.38 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
package com.yoho.search.restapi.tools;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.yoho.core.redis.cluster.operations.serializer.RedisKeyBuilder;
import com.yoho.search.cache.CacheInMinute;
import com.yoho.search.cache.beans.SimpleRedisComponent;
import com.yoho.search.cache.impls.SearchRedis;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import java.util.*;
@Controller
public class TestRedisController {
@Autowired
private SearchRedis searchRedis;
@Autowired
private SimpleRedisComponent simpleRedisComponent;
@RequestMapping(value = "/testRedis/bitset")
@ResponseBody
public Map<String, Object> testBitset() {
long begin = System.currentTimeMillis();
for (int i = 0; i < 10000; i++) {
BitSet bitSet = new BitSet(100000);
for (int j = 0; j < 10000; j++) {
bitSet.set(j);
}
bitSet.set(100000);
RedisKeyBuilder redisKeyBuilder = new RedisKeyBuilder();
redisKeyBuilder.appendFixed("RedisBitSet:").appendVar(System.currentTimeMillis());
redisKeyBuilder.appendFixed(":").appendVar((int) (Math.random() * 1000));
searchRedis.setBitSet(redisKeyBuilder, bitSet, 100);
}
Map result = new HashMap<>();
result.put("code", 200);
result.put("messgae", "success");
result.put("cost", System.currentTimeMillis() - begin);
return result;
}
@RequestMapping(value = "/testRedis/simpleRedisComponent")
@ResponseBody
public Map<String, Object> simpleRedisComponent() {
Map<String, Object> result = new HashMap<>();
//测试Integer型
RedisKeyBuilder testInteger = RedisKeyBuilder.newInstance().appendFixed("testInteger");
addAndTest(result, testInteger,100);
//测试String型
RedisKeyBuilder testString = RedisKeyBuilder.newInstance().appendFixed("testString");
addAndTest(result, testString,"111111");
//测试JSONObject型
RedisKeyBuilder testJSONObject = RedisKeyBuilder.newInstance().appendFixed("testJSONObject");
JSONObject jsonObject = new JSONObject();
jsonObject.put("1","1");
addAndTest(result, testJSONObject,jsonObject);
//测试JSONArray型
RedisKeyBuilder testJSONArray = RedisKeyBuilder.newInstance().appendFixed("testJSONArray");
JSONArray jsonArray = new JSONArray();
jsonArray.add(jsonObject);
jsonArray.add(jsonObject);
addAndTest(result, testJSONArray,jsonArray);
//测试List类型
RedisKeyBuilder testList = RedisKeyBuilder.newInstance().appendFixed("testList");
List<JSONObject> list = new ArrayList<JSONObject>();
list.add(jsonObject);
list.add(jsonObject);
addAndTest(result, testList,list);
return result;
}
private void addAndTest(Map<String, Object> result ,RedisKeyBuilder key,Object value){
simpleRedisComponent.addValueToRedis(key,value, CacheInMinute.Minute_1);
result.put(key.toString(),simpleRedisComponent.getValueFromRedis(key,value.getClass()));
}
}