下面列出了怎么用org.springframework.data.redis.core.DefaultTypedTuple的API类实例代码及写法,或者点击链接到github查看源代码。
private List<TypedTuple<RqueueMessage>> readFromZset(
String name, int pageNumber, int itemPerPage) {
long start = pageNumber * (long) itemPerPage;
long end = start + itemPerPage - 1;
return rqueueMessageTemplate.readFromZset(name, start, end).stream()
.map(e -> new DefaultTypedTuple<>(e, null))
.collect(Collectors.toList());
}
private List<TypedTuple<RqueueMessage>> readFromList(
String name, int pageNumber, int itemPerPage) {
long start = pageNumber * (long) itemPerPage;
long end = start + itemPerPage - 1;
return rqueueMessageTemplate.readFromList(name, start, end).stream()
.map(e -> new DefaultTypedTuple<>(e, null))
.collect(Collectors.toList());
}
@Test
public void viewDataZset() {
Set<TypedTuple<Object>> objects = new HashSet<>();
objects.add(new DefaultTypedTuple<>("Test", 100.0));
objects.add(
new DefaultTypedTuple<>(
RqueueMessageFactory.buildMessage(null, "jobs", null, null), 200.0));
List<List<Serializable>> rows = new ArrayList<>();
for (TypedTuple<Object> typedTuple : objects) {
List<Serializable> row = new ArrayList<>();
row.add(String.valueOf(typedTuple.getValue()));
row.add(typedTuple.getScore());
rows.add(row);
}
DataViewResponse expectedResponse = new DataViewResponse();
List<String> headers = new ArrayList<>();
headers.add("Item");
headers.add("Score");
expectedResponse.setHeaders(headers);
expectedResponse.setRows(rows);
doReturn(objects).when(stringRqueueRedisTemplate).zrangeWithScore("jobs", 0, 9);
DataViewResponse response = rqueueQDetailService.viewData("jobs", DataType.ZSET, null, 0, 10);
assertEquals(expectedResponse, response);
}
@Override
public void add(List<DelayJob> delayJobs) {
String bucketName = getCurrentBucketName();
BoundZSetOperations<String, String> bucket = getBucket(bucketName);
Set<ZSetOperations.TypedTuple<String>> delayJobSet = delayJobs.stream()
.map(delayJob -> new DefaultTypedTuple<>(delayJob.toSimple(), (double) delayJob.getDelayTime()))
.collect(Collectors.toSet());
bucket.add(delayJobSet);
}
@Test
public void testTypedTuple() {
Set<DefaultTypedTuple<Integer>> typedTupleSet = new HashSet<>();
ArrayList<Integer> source = newArrayList(1, 2, 3, 4, 5, 6);
for (int i = 0; i < source.size(); i++) {
DefaultTypedTuple<Integer> typedTuple = new DefaultTypedTuple<>(source.get(i), i + 100.0);
typedTupleSet.add(typedTuple);
}
BoundZSetOperations myzset = redisTemplate.boundZSetOps("myzset");
myzset.add(typedTupleSet);
System.out.println(myzset.range(0, -1));
}