news 2026/5/19 12:41:42

redis分页查询

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
redis分页查询

redis不仅可以存普通文本,还可以存入List,这里就整理了下用redis做分页查询的功能。首先定义一个redis工具类,这里只贴出了需要的方法。

public class RedisUtils { private JedisPool pool; public RedisUtils() { if (pool == null) { JedisPoolConfig config = new JedisPoolConfig(); config.setMaxIdle(10); config.setTestOnBorrow(true); pool = new JedisPool(config, 127.0.0.1, 6379, 100000); } } /** * <p> * 通过key向list尾部添加字符串 * </p> * * @param key * @param strs * 可以使一个string 也可以使string数组 * @return 返回list的value个数 */ public Long rpush(String key, String... strs) { Jedis jedis = null; Long res = null; try { jedis = pool.getResource(); res = jedis.rpush(key, strs); } catch (Exception e) { pool.returnBrokenResource(jedis); e.printStackTrace(); } finally { returnResource(pool, jedis); } return res; } /** * 获取key当前页的list * @param key * @param curr * @param pageSize * @return */ public List<String> page(String key, int curr, int pageSize){ Jedis jedis = null; String res = null; List<String> lrange = null; try { jedis = pool.getResource(); lrange = jedis.lrange(key, (curr - 1) * pageSize, curr * pageSize); } catch (Exception e) { pool.returnBrokenResource(jedis); e.printStackTrace(); } finally { returnResource(pool, jedis); } return lrange; } /** * 获取key的总条数 * @param key * @return */ public long count(String key){ Jedis jedis = null; long total = 0L; try { jedis = pool.getResource(); total = jedis.llen(key); } catch (Exception e) { pool.returnBrokenResource(jedis); e.printStackTrace(); } finally { returnResource(pool, jedis); } return total; } }

接下来是应用层的调用

//这里演示存入redis的操作 public static void main(String[] args) { RedisUtils redisUtils = new RedisUtils(); for(int i=0;i<1000;i++){ HashMap<String, Object> map = new HashMap<>(); map.put("key_"+i, "value_"+i); //存入redis redisUtils.rpush("key", map.toString()); } } //这里演示读取redis数据的操作 public static void main(String[] args) { RedisUtils redisUtils = new RedisUtils(); //获取当前页的数据,1代表当前页 10代表每页条数 List<String> list = redisUtils.page("key", 1, 10); //获取总条数 long count = redisUtils.count("key"); }

redis分页查询效率很高,对于不需要持久化的数据可以使用此方案。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/11 14:40:32

HY-MT1.5-7B实战教程:解释性翻译场景优化,GPU利用率提升50%

HY-MT1.5-7B实战教程&#xff1a;解释性翻译场景优化&#xff0c;GPU利用率提升50% 1. 引言 随着全球化进程的加速&#xff0c;高质量、多语言互译能力已成为自然语言处理&#xff08;NLP&#xff09;领域的重要需求。特别是在跨文化沟通、技术文档本地化和混合语言内容生成等…

作者头像 李华
网站建设 2026/5/13 7:44:02

redis 配置

#ip地址 redis.hostName172.20.1.205 #端口号 redis.port6379 #如果有密码 redis.password123456 #客户端超时时间单位是毫秒 默认是2000 redis.timeout10000 #最大空闲数 redis.maxIdle300 #连接池的最大数据库连接数。设为0表示无限制,如果是jedis 2.4以后用redis.maxTotal #…

作者头像 李华
网站建设 2026/5/17 4:07:35

Keil新建工程全流程梳理:适合初学者的理解方式

从零构建嵌入式开发工程&#xff1a;Keil 新建项目的实战指南 你有没有经历过这样的场景&#xff1f; 刚打开 Keil&#xff0c;信心满满地准备写第一行代码&#xff0c;结果新建完工程一编译&#xff0c;满屏红色报错—— undefined symbol Reset_Handler 、 cannot open s…

作者头像 李华
网站建设 2026/5/17 9:58:22

基于Transformer架构的电影评论情感分类算法优化研究(源码+万字报告+讲解)(支持资料、图片参考_相关定制)

摘要 随着人工智能技术的飞速发展&#xff0c;基于深度学习的模型在各种文本分类任务中已经超越了基于经典机器学习的方法&#xff0c;包括情感分析、新闻分类、问答和自然语言推理。文本分类的发展为自动化分析人类各种评论情感指标的操作带来了极大的方便和卓越的体验。鉴于T…

作者头像 李华