2016 - 2024

感恩一路有你

千万数据redis分页查询 redis怎么做分页?

浏览量:2026 时间:2021-03-16 03:23:04 作者:admin

redis怎么做分页?

简介:实现用户信息的分页查询

1。实现思想:list键存储用户ID,用于分页查询,用于同时查询用户总数。关键是人格。Hset users以以下格式保存用户详细信息:key-->person:userid值-->idAdd user[Java]view plain copy static jedis jedis=new jedis(“192.168.0.144”)static void saveuser(){string id=new random()。Nextint(10000)“”map

普通分页一般是直接找出分页缓存,逐页放入缓存,但这种缓存方法有很多缺点。如果无法及时更新缓存,则一旦数据发生更改,所有以前的分页缓存都将无效。比如,在微博这样的场景中,微博下有排名靠前的次数。这在传统的分页中很难处理。最近一个想法又出现了另一个。数据缓存在redis中,ID为键,数据ID和排序得分保存在redis的skipplist(Zset)中,在查找数据时,从redis的skipplist中提取相应的分页数据,得到ID列表。使用multiget一次从redis获取ID列表中的所有数据。如果有缺少某个ID的数据,则从数据库中搜索返回给用户,并按ID将搜索到的数据缓存到redis中,最后一步可以给出一些提示:例如,如果缺少某个ID数据,则先直接返回给用户,然后前端使用Ajax请求丢失的ID数据,然后动态刷新。

如何查看redis日志?

在程序中完成分页逻辑,然后每个页面的数据都可以存储在redis中

在正常配置下,MySQL只能承载2000万数据(同时读写,表中有大的文本字段,单个服务器)。现在已经超过1亿,而且还在增加,建议按以下方式处理:

1子表。它可以按时间或一定的规则进行拆分,以便尽可能地查询子表中的数据库。这是最有效的方法。特别是写,放入一个新表,并定期同步。如果记录不断更新,最好将写入的数据放在redis中,并定期同步表3的大文本字段,将它们分隔成一个新的独立表。对于较大的文本字段,可以使用NoSQL数据库

4优化体系结构,或者优化SQL查询,避免联合表查询,尽量不要使用count(*)、in、recursion等性能消耗语句

5使用内存缓存,或者在前端读取时增加缓存数据库。重复读取时,直接从缓存中读取。

以上是一种低成本的管理方法,基本上几个服务器就可以做到,但是管理起来有点麻烦。

当然,如果总体数据量特别大,并且您不关心投资成本,请使用集群或tidb

千万数据redis分页查询 redis 做分页有必要吗 redis实现对动态数据的分页

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。