【技术实现步骤摘要】
数据库查询方法、装置和系统
[0001]本专利技术涉及Redis实时缓存系统
,特别是涉及一种数据库查询方法、装置和系统。
技术介绍
[0002]随着互联网的快速普及,数据规模和用户数量快速增加,用户对时延的要求也越来越高。传统的关系型数据库所面临的压力越来越大,需要进一步提高MySQL等关系型数据库的读写能力、降低时延。由于Redis只能存储key
‑
value型数据,因此每次查询都需要给出key值来获取单条数据,导致其无法像关系型数据库那样快速进行索引查询。而通常多数查询都是带有条件的索引查询,如果这些查询只能通过数据库处理,需要在使用MySQL和Redis之间进行切换,那么依然会有较大延迟。
技术实现思路
[0003]基于此,有必要针对MySQL和Redis之间进行切换导致系统具有较大延迟的问题,提供一种数据库查询方法和数据库查询系统。
[0004]一种数据库查询方法,包括获取目标数据库的修改日志,所述修改日志包括当所述目标数据库中的数据发生修改时生成的数据信息;解析所述 ...
【技术保护点】
【技术特征摘要】
1.一种数据库查询方法,其特征在于,包括:获取目标数据库的修改日志,所述修改日志包括当所述目标数据库中的数据发生修改时生成的数据信息;解析所述修改日志,对所述修改日志解析后的数据进行筛选,得到需要在本地缓存数据库进行缓存的数据更新信息;将所述数据更新信息发送至缓存消息队列;依次从所述缓存消息队列中读取数据更新信息,根据读取的数据更新信息对本地缓存数据库中的缓存数据和索引数据进行更新;接收目标数据库的查询语句,基于所述查询语句对所述本地缓存数据库中的索引数据和缓存数据进行查询,获得查询结果。2.根据权利要求1所述的数据库查询方法,其特征在于,所述缓存数据为key
‑
value型数据,其中,key值包括数据库名、表名、主键字段,value值包括所述索引数据的json值或hash值。3.根据权利要求1或2所述的数据库查询方法,其特征在于,所述接收目标数据库的查询语句,基于所述查询语句对所述本地缓存数据库中的索引数据和缓存数据进行查询,获得查询结果包括:接收目标数据库的查询语句,对所述查询语句进行解析,获取查询条件;根据所述查询条件生成执行语句;根据所述执行语句,对所述本地缓存数据库中的索引数据和缓存数据进行查询,获得查询结果。4.根据权利要求2所述的数据库查询方法,其特征在于,所述数据更新信息包括缓存更新信息和索引更新字段,所述根据读取的数据更新信息对本地缓存数据库中的缓存数据和索引数据进行更新包括:根据所述数据更新信息获取缓存更新信息和索引更新字段;根据所述缓存更新信息对本地缓存数据库中的缓存数据进行更新;根据所述索引更新字段对本地缓存数据库的索引数据进行更新。5.根据权利要求4所述的数据库查询方法,其特征在于,所述索引数据包括索引记录表,所述索引记录表用于记录各个索引方式所对应的索引表,根据所述索引更新字段对本地缓存数据库的索引数据进行更新包括:在所述索引记录表中确定与所述索引更新字段相关联的索引表;根据所述索引更新字段对所述本地缓存数据库中所述相关联的索引表进行更新。6.根据权利要求1所述的数据库查询方法,其特征在于,在根据读取的数据更新信息对本地缓存数据库中的缓存数据和索引数据...
【专利技术属性】
技术研发人员:罗喜为,古毅伟,吴德柱,
申请(专利权)人:上海浦东发展银行股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。