1
1
package com .redis .cluster ;
2
2
3
- import com .redis .cluster .repo .redis .StudentRedisRepo ;
4
3
import org .junit .Test ;
5
4
import org .junit .runner .RunWith ;
6
- import org .slf4j .Logger ;
7
- import org .slf4j .LoggerFactory ;
8
5
import org .springframework .beans .factory .annotation .Autowired ;
9
6
import org .springframework .boot .test .context .SpringBootTest ;
10
7
import org .springframework .data .geo .Point ;
20
17
@ SpringBootTest
21
18
public class ReactiveRedisClusterTest {
22
19
23
- private Logger log = LoggerFactory .getLogger (this .getClass ());
24
-
25
-
26
20
@ Autowired
27
21
private RedisTemplate <String , String > redisTemplate ;
28
22
29
23
@ Autowired
30
24
private ReactiveRedisTemplate <String , String > reactiveRedisTemplate ;
31
25
32
- @ Autowired
33
- private StudentRedisRepo redisRepo ;
34
-
35
26
/**
36
27
* 문자 데이터 구조 처리
37
28
*/
@@ -40,7 +31,7 @@ public void opsValue() {
40
31
ReactiveValueOperations <String , String > valueOps = reactiveRedisTemplate .opsForValue ();
41
32
Set <String > cacheKeys = new HashSet <>();
42
33
Map <String , String > setDatas = new HashMap <>();
43
- for (int i = 0 ; i < 10 ; i ++) {
34
+ for (int i = 0 ; i < 100 ; i ++) {
44
35
String key = "value_" + i ;
45
36
cacheKeys .add (key );
46
37
setDatas .put (key , String .valueOf (i ));
@@ -54,7 +45,7 @@ public void opsValue() {
54
45
55
46
Mono <List <String >> values = valueOps .multiGet (cacheKeys );
56
47
StepVerifier .create (values )
57
- .expectNextMatches (x -> x .size () == 10 ).verifyComplete ();
48
+ .expectNextMatches (x -> x .size () == 100 ).verifyComplete ();
58
49
}
59
50
60
51
/**
@@ -116,8 +107,8 @@ public void opsSet() {
116
107
StepVerifier .create (setOps .add (cacheKey , String .valueOf (i ))).expectNext (1L ).verifyComplete ();
117
108
118
109
StepVerifier .create (reactiveRedisTemplate .type (cacheKey )).expectNext (DataType .SET ).verifyComplete ();
119
- StepVerifier .create (setOps .size (cacheKey )).expectNext (10L );
120
- StepVerifier .create (setOps .isMember (cacheKey , "5" )).expectNext (true );
110
+ StepVerifier .create (setOps .size (cacheKey )).expectNext (10L ). verifyComplete () ;
111
+ StepVerifier .create (setOps .isMember (cacheKey , "5" )).expectNext (true ). verifyComplete () ;
121
112
}
122
113
123
114
/**
@@ -144,24 +135,25 @@ public void opsSortedSet() {
144
135
* Geo 데이터 구조 처리 - 좌표 정보 처리, 타입은 zset으로 저장.
145
136
*/
146
137
@ Test
147
- public void opsGeo () throws Exception {
148
- GeoOperations <String , String > geoOpsSync = redisTemplate .opsForGeo ();
138
+ public void opsGeo () {
149
139
ReactiveGeoOperations <String , String > geoOps = reactiveRedisTemplate .opsForGeo ();
150
140
String [] cities = {"서울" , "부산" };
151
- String [] gu = {"강남구" , "서초구" , "관악구" , "동작구" , "마포구" , "사하구" , "해운대구" , "영도구" , "동래구" , "수영구" };
141
+ String [][] gu = {{ "강남구" , "서초구" , "관악구" , "동작구" , "마포구" }, { "사하구" , "해운대구" , "영도구" , "동래구" , "수영구" } };
152
142
String cacheKey = "valueGeo" ;
153
143
154
144
// previous key delete - sync
155
145
redisTemplate .delete (cacheKey );
156
146
147
+ Map <String , Point > memberCoordiateMap = new HashMap <>();
157
148
for (int x = 0 ; x < cities .length ; x ++) {
158
- for (int y = 0 ; y < gu . length / 2 ; y ++) {
159
- geoOpsSync . add ( cacheKey , new Point (x , y ), gu [ x * y ] );
149
+ for (int y = 0 ; y < 5 ; y ++) {
150
+ memberCoordiateMap . put ( gu [ x ][ y ] , new Point (x , y ));
160
151
}
161
152
}
162
153
// async
154
+ StepVerifier .create (geoOps .add (cacheKey , memberCoordiateMap )).expectNext (10L ).verifyComplete ();
163
155
StepVerifier .create (geoOps .distance (cacheKey , "강남구" , "동작구" )).expectNextMatches (x -> x .getValue () == 333678.8605 ).verifyComplete ();
164
- StepVerifier .create (geoOps .position (cacheKey , "동작구" )).expectNextMatches (x -> x .getX () == 0.9999999403953552 && x .getY () == 3.0000009121501066 ).verifyComplete ();
156
+ StepVerifier .create (geoOps .position (cacheKey , "동작구" )).expectNextMatches (x -> x .getX () == 0.000003 && x .getY () == 3.000001 ).verifyComplete ();
165
157
}
166
158
167
159
/**
0 commit comments