返回顶部
首页 > 资讯 > 精选 >redis如何做多字段排序
  • 413
分享到

redis如何做多字段排序

2024-04-02 19:04:59 413人浏览 安东尼
摘要

Redis做多字段排序的示例:在redis编辑器中添加以下代码:package com.example.demo;import com.example.demo.common.Constant;import com.example.demo

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;

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

--结束END--

本文标题: redis如何做多字段排序

本文链接: https://lsjlt.com/news/116473.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • redis如何做多字段排序
    redis做多字段排序的示例:在redis编辑器中添加以下代码:package com.example.demo;import com.example.demo.common.Constant;import com.example.demo...
    99+
    2024-04-02
  • mysql如何多个字段排序
    mysql中实现多字段排序的方法首先,在命令行中执行命令启动mysql服务;service mysql startmysql服务启动后,在命令行中输入mysql的用户名和密码登录到mysql;mysql -u root&...
    99+
    2024-04-02
  • JSON 数字排序多字段排序介绍
    复制代码 代码如下: //排序数组 function SortBy(field, reverse, primer) { reverse = (reverse) -1 : 1; re...
    99+
    2022-11-15
    JSON 数字排序 多字段排序
  • redis如何做到二维排序
    redis做到二维排序的方法:可以利用SortedSet实现二维排序,在SortedSet中可以通过ZRANGE命令实现升序排列,而降序排列是需要通过命令ZREVRANGE实现,用法示例如下:假设有5个app的下载量和最后更新时间分别如下:...
    99+
    2024-04-02
  • 快排实现仿order by多字段排序
    class OrderBy(object): def __init__(self, sequence, *condition, **extra_condition): """ 排序初始化条件 ...
    99+
    2023-01-30
    多字 order
  • java8 stream多字段排序的实现
    很多情况下sql不好解决的多表查询,临时表分组,排序,尽量用java8新特性stream进行处理 使用java8新特性,下面先来点基础的 List<类> list; ...
    99+
    2024-04-02
  • Java 字段 Stream 排序
    这篇博客简单记录下 Java 字段 Stream 排序常用方式,欢迎阅读斧正。 用到的类如下: public class OrderTest { private String channelCo...
    99+
    2023-09-26
    java stream 排序
  • oracle如何根据指定字段顺序排序
    要根据指定字段顺序对查询结果进行排序,可以使用ORDER BY子句。在Oracle中,可以使用以下语法来根据指定字段顺序排序: SE...
    99+
    2024-04-30
    oracle
  • mysql操作入门(四)-----数据排序(升序、降序、多字段排序)
    已知emp表的内容为 1.升序排序 语法:select 字段名1,字段名2,字段名3 from 表名 (where 条件)order by (字段); 举例:将工资进行升序排序 也可以升序排列字符串,顺序是按照第一...
    99+
    2023-09-17
    mysql 数据库 sql
  • sql中怎么实现多条件多字段排序
    本篇文章为大家展示了sql中怎么实现多条件多字段排序,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。语句:复制代码 代码如下: select * from ...
    99+
    2024-04-02
  • java8 stream的多字段排序实现(踩坑)
    关于java8 的stream排序用法这里不做多说,这里介绍下曾经在多字段排序时遇到过的一个坑。 需求:需要根据id去分组,然后取出每组中行号最大的一个对象值。 想到可以利用stre...
    99+
    2024-04-02
  • Java Stream流对多个字段进行排序
    谈起Java 8,不少熟悉它的人,都会知道有一个对我们帮助很大的新特性,没错,就是我们在项目中经常用到的stream,它对我们处理数据的过程中提供了很多的便利,而这边文章主要讲述stream的便利之一...
    99+
    2023-09-03
    java stream流对多字段进行排序
  • oracle多个字段排序规则是什么
    在Oracle中,多个字段的排序规则是根据字段的顺序进行排序的。即先按照第一个字段进行排序,如果第一个字段的值相同,则根据第二个字段...
    99+
    2023-09-09
    oracle
  • mysql多字段排序无效怎么解决
    当多字段排序无效时,可能是由于排序字段的顺序或数据类型不正确所导致的。以下是一些解决方法: 确保字段的顺序正确:在使用多字段排序...
    99+
    2024-04-09
    mysql
  • sql多字段排序的方法是什么
    在SQL中,可以使用ORDER BY子句来对多个字段进行排序。可以按照多个字段的优先级进行排序,例如: SELECT col...
    99+
    2024-04-30
    sql
  • element Table表格组件多字段(多列)排序方法
    目录需求:遇到的问题:解决:需求: element表格多列排序,点击日期的排序,然后再点击姓名的排序,将两个排序字段传给后端排序 遇到的问题: element的Table组件只支持...
    99+
    2024-04-02
  • mysql按照两个或多个字段排序【转】
    如何让mysql按照两个或多个字段排序  错误方式: order   by   last_time   and   id   desc  这种方式两个字段都是降序的(and隔开哪个,第二个参数不起作用。)   正确方式: ord...
    99+
    2021-11-05
    mysql按照两个或多个字段排序【转】
  • redis多字段怎么存
    redis多字段的存储示例:存以下一个数据:mail valueabc@xxx.com val_1bcd@xxx.com val_2cde@xxx.com val_3def@xxx.com val_4方法:Set mail:abc@xxx....
    99+
    2024-04-02
  • mysql多字段排序优化的方法是什么
    在 MySQL 中,可以通过使用多字段排序来优化查询性能。以下是一些优化方法: 确保查询中的字段添加了合适的索引。在多字段排序中,...
    99+
    2024-04-09
    mysql
  • PHP 数组多字段排序的技巧与优化
    在 php 中,可以使用内置函数和优化技术实现多字段排序:使用 usort() 函数和自定义比较函数,基于多个字段排序数组。使用匿名函数简化代码,实现多字段排序。使用第三方库(如 sor...
    99+
    2024-04-27
    php 多字段排序
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作