The embodiment of this application provides a data caching method, device, computer device and storage medium. The method includes: acquiring the data to be cached in the business scenario; determining the corresponding serialization mode of the data to be cached according to the business scenario and the characteristics of the data to be cached; determining the corresponding caching strategy of the data to be cached according to the business scenario; configuring the serialization mode and caching strategy; and receiving the caching instruction, serialization according to the configuration. The data to be cached is stored in the cached database according to the configured caching strategy. The embodiment of the application improves the efficiency of serialization, data caching and data query, thereby improving the user's experience.
【技术实现步骤摘要】
数据缓存方法、装置、计算机设备及存储介质
本申请涉及数据处理
,尤其涉及一种数据缓存方法、装置、计算机设备及存储介质。
技术介绍
在数据库技术中,有一项重要的技术是对缓存的使用。在数据库中,同一用户可能多次执行相同的查询语句或者不同用户可能执行相同的查询语句。为了提高查询效率,可以将用户的查询结果放入缓存中。当用户下一次再执行相同查询或者下一个用户执行相同查询时,就可以直接从缓存中获取数据,而不用到硬盘/数据库中的数据文件中去读取数据,也可以省去相关解析的工作。因为内存的运行速度要比硬盘/数据快的多。为此通过缓存机制,可以提高查询的效率。而对于Redis(RemoteDictionaryServer,远程数据服务)缓存数据库,缓存数据时需要将其序列化,然后再进行缓存。目前一般使用较多的是默认的序列化方式,即Java(JDK,JavaDevelopmentKit)的序列化方式,这种序列化方式的效率比较低,在反序列化的时候表现较差,从而导致用户的体验较差。
技术实现思路
本申请实施例提供一种数据缓存方法、装置、计算机设备及存储介质,可提高序列化效率和数据缓存以及数据查询的效率。第一方面,本申请实施例提供了一种数据缓存方法,该方法包括:获取业务场景的待缓存数据;根据所述业务场景和所述待缓存数据的特征确定所述待缓存数据所对应的序列化方式;确定所述待缓存数据所对应的缓存策略;配置序列化方式和缓存策略;当接收到缓存指令,根据配置后的序列化方式将所述待缓存数据,按照配置后的缓存策略保存至缓存数据库中。第二方面,本申请实施例提供了一种数据缓存装置,该装置包括用于执行上述 ...
【技术保护点】
1.一种数据缓存方法,其特征在于,所述方法包括:获取业务场景的待缓存数据;根据所述业务场景和所述待缓存数据的特征确定所述待缓存数据所对应的序列化方式;根据所述业务场景确定所述待缓存数据所对应的缓存策略;配置序列化方式和缓存策略;当接收到缓存指令,根据配置后的序列化方式将所述待缓存数据,按照配置后的缓存策略保存至缓存数据库中。
【技术特征摘要】
1.一种数据缓存方法,其特征在于,所述方法包括:获取业务场景的待缓存数据;根据所述业务场景和所述待缓存数据的特征确定所述待缓存数据所对应的序列化方式;根据所述业务场景确定所述待缓存数据所对应的缓存策略;配置序列化方式和缓存策略;当接收到缓存指令,根据配置后的序列化方式将所述待缓存数据,按照配置后的缓存策略保存至缓存数据库中。2.根据权利要求1所述的方法,其特征在于,所述根据所述业务场景和所述待缓存数据的特征确定所述待缓存数据所对应的序列化方式,包括:获取所述业务场景中的待缓存数据对象,其中,所述待缓存数据对象为所述待缓存数据所对应的对象;判断是否可以通过非Java序列化方式将所述待缓存数据对象进行序列化;若确定可以通过非Java序列化方式将所述待缓存数据对象进行序列化,获取计算出的所述待缓存数据对象的大小以及预估出的所述待缓存数据对象在所述业务场景中的访问频率;根据所述待缓存数据对象的大小、所述待缓存数据对象在所述业务场景中的访问频率确定所述待缓存数据的序列化方式;若确定不可以通过非Java序列化方式将所述待缓存数据对象进行序列化,确定所述待缓存数据的序列化方式为Java序列化方式。3.根据权利要求1所述的方法,其特征在于,所述根据所述业务场景确定所述待缓存数据所对应的缓存策略,包括:获取计算出的所述待缓存数据对象的大小以及预估出的所述待缓存数据对象在所述业务场景中的访问频率;根据所述待缓存数据对象的大小、所述待缓存数据对象在所述业务场景中的访问频率确定所述待缓存数据的缓存策略。4.根据权利要求2-3任一项所述的方法,其特征在于,计算所述待缓存数据对象的大小,包括:获取待缓存数据对象中各个属性的属性信息;计算各个属性的属性信息所占用的字节数;根据各个属性的属性信息所占用的字节数计算所述待缓存数据对象所占用的字节数,将所述待缓存数据对象所占用的字节数作为所述待缓存数据对象的大...
【专利技术属性】
技术研发人员:苏渊博,
申请(专利权)人:平安科技深圳有限公司,
类型:发明
国别省市:广东,44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。