redis如何做多字段排序

时间:2022-12-06 01:09

redis如何做多字段排序

redis做多字段排序的示例:

在redis编辑器中添加以下代码:

package com.example.demo;

import com.example.demo.common.Constant;

import com.example.demo.mapper.QuestionAnswerHistoryMapper;

import com.example.demo.model.QuestionAnswerHistory;

import com.example.demo.service.QuestionAnswerHistoryService;

import com.example.demo.thread.BaseTest;

import org.apache.commons.lang3.RandomUtils;

import org.junit.Test;

import org.springframework.beans.factory.annotation.Autowired;

import java.math.BigDecimal;

import java.util.List;

/**

* @author wzx

* @time 2019/6/16

*/

public class QuestionAnswerHistoryTest extends BaseTest {

@Autowired

private QuestionAnswerHistoryMapper historyMapper;

@Autowired

private QuestionAnswerHistoryService historyService;

@Test

public void test() {

for (int i = 1; i < 101; i++) {

QuestionAnswerHistory history = new QuestionAnswerHistory();

history.setUserId((long) i);

history.setAnswerFinish(true);

BigDecimal bigDecimal = BigDecimal.valueOf(RandomUtils.nextDouble(0, 1))

.setScale(2, BigDecimal.ROUND_HALF_UP);

history.setCorrectRate(bigDecimal.doubleValue());

history.setTimeConsumed(RandomUtils.nextInt(15, 50));

history.setTimeConsumedMillisecond(RandomUtils.nextInt(0, 1000));

history.setStatus(Constant.GenerictStatus.NORMAL);

historyMapper.insert(history);

}

}

@Test

public void queryRanking() {

Listranking = historyService.getRanking();

for (QuestionAnswerHistory history : ranking) {

System.out.println(history.getUserId() + "\t" + history.getCorrectRate() + "\t" + history.getTimeConsumed() +

"\t" + history.getTimeConsumedMillisecond());

}

}

@Test

public void updateRank() {

Long userId = 25L;

//生成新的答题记录

QuestionAnswerHistory history = new QuestionAnswerHistory();

history.setUserId(userId);

history.setAnswerFinish(true);

BigDecimal bigDecimal = BigDecimal.valueOf(RandomUtils.nextDouble(0, 1))

.setScale(2, BigDecimal.ROUND_HALF_UP);

history.setCorrectRate(bigDecimal.doubleValue());

history.setTimeConsumed(RandomUtils.nextInt(15, 50));

history.setTimeConsumedMillisecond(RandomUtils.nextInt(0, 1000));

history.setStatus(Constant.GenerictStatus.NORMAL);

historyService.updateRank(history);

}

}

输入结果:

id 正确率 耗时

74 0.94 38 151

37 0.93 16 802

97 0.92 31 475

63 0.92 36 74

35 0.92 39 516

85 0.92 39 525

17 0.9 19 821

55 0.9 35 268

64 0.89 37 39

19 0.88 43 350

49 0.86 25 373

78 0.86 42 296

76 0.84 19 399

21 0.84 38 365

54 0.83 26 7

70 0.79 30 213

20 0.78 18 112

46 0.78 24 789

27 0.76 23 195

33 0.76 29 414

7 0.75 20 661

标签:
随便看看
本类推荐
本类排行
热门标签

我国国家通讯社行不行啊细狗新年贺词祝福语2023年祝福语新年新年贺词新年贺词祝福语居家抗病毒小药箱除夕高速免费吗2022年除夕高速免费吗春联春联句子大全春联句子大全七字年夜饭十二道菜年夜饭十二道菜单年夜饭吃什么年夜饭吃什么菜吃年夜饭的寓意年夜饭黑芝麻菊花茶晒菊花茶腌腊肉送妈妈生日礼物汉白玉送闺蜜水钻送女人礼物爸爸生日送礼物送老公