【技术实现步骤摘要】
一种分页查询数据的方法和装置
本专利技术涉及数据处理
,尤其涉及一种分页查询数据的方法、装置和系统。
技术介绍
Redis是一个key-value数据结构存储系统,支持的数据结构包括string字符串、list链表、set集合、zset有序集合和hash散列。在实际业务中,经常会将一些数据缓存到Redis中,当数据量比较大时,分页缓存数据可以缓解数据库的压力。在接口被调用时,服务端会根据传入参数对每一页数据用Redis进行缓存,当接口再次被调用时直接从缓存中返回数据,而不用查询数据库,这样可以提高接口性能。如果接口列表数据发生变化,当接口被调用时,服务端则忽略缓存,直接从数据库中查询数据并更新缓存。在大数据高并发情况下,终端向服务器发送分页数据请求时,就需要根据实际情况来判断分页接口是否应用当前缓存。判断接口是否应用当前缓存通常有两种方式,一种方式是每页设置相同的缓存过期时间,过期时则缓存失效,从数据库查询数据。这种方式在列表数据发生变化时,可能由于缓存没有过期,导致新增数据无法实时反映在列表中。由于每页调用时 ...
【技术保护点】
1.一种分页查询数据的方法,适于在分布式系统中执行,其中,所述分布式系统包括相互耦接的数据库服务器、缓存服务器和应用服务器,所述应用服务器适于接收客户端调用应用程序接口时分页查询数据的请求参数,所述缓存服务器适于从缓存中获取数据,所述数据库服务器适于从数据库中获取数据,所述缓存中预先设置数据结构为set集合的分页标志键,所述方法包括:/n获取分页查询数据的请求参数;/n基于请求参数,生成分页标志值;/n获取数据库的二进制日志,以判断所述数据库中的数据是否发生变化;/n将所述分页标志值写入所述分页标志键对应的集合中,并接收返回值,其中,当数据库中的数据发生变化时,则清空所述分 ...
【技术特征摘要】
1.一种分页查询数据的方法,适于在分布式系统中执行,其中,所述分布式系统包括相互耦接的数据库服务器、缓存服务器和应用服务器,所述应用服务器适于接收客户端调用应用程序接口时分页查询数据的请求参数,所述缓存服务器适于从缓存中获取数据,所述数据库服务器适于从数据库中获取数据,所述缓存中预先设置数据结构为set集合的分页标志键,所述方法包括:
获取分页查询数据的请求参数;
基于请求参数,生成分页标志值;
获取数据库的二进制日志,以判断所述数据库中的数据是否发生变化;
将所述分页标志值写入所述分页标志键对应的集合中,并接收返回值,其中,当数据库中的数据发生变化时,则清空所述分页标志键对应的集合,以便更新所述返回值;以及
基于所述返回值,从缓存或数据库中分页获取查询数据。
2.如权利要求1所述的方法,其中,所述请求参数包括当前页码和每页显示的数据量。
3.如权利要求2所述的方法,其中,所述当数据库中的数据发生变化时,则清空所述分页标志键对应的集合的步骤包括:
当分页查询数据所在的数据库表中数据发生变化时,则删除所述分页标志键对应的集合中所有的元素。
4.如权利要求1所述的方法,其中,所述二进制日志适于记录数据库的操作信息,所述操作信息包括数据库中数据的...
【专利技术属性】
技术研发人员:韩天伟,李荣尊,
申请(专利权)人:天津车之家数据信息技术有限公司,
类型:发明
国别省市:天津;12
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。