System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及缓存计数的,尤其是涉及一种基于saas系统的缓存同步方法及系统。
技术介绍
1、在saas程序开发中,我们经常会使用redis来缓存计数,用于快速进行计数操作和了解未清信息数据。为了保证缓存数据的一致,我们通常会让微服务器来访问同一个redis服务。
2、针对上述中的相关技术,本申请发现以下问题:在微服务器场景下,响应请求的可能是两个不同的微服务器,两个微服务器之间无法互相加锁,因此当我们使用相同账号,分别在不同的微服务器,同时去查看某一篇文章时,则有可能出现未清信息的数量减二的现象,从而导致redis缓存计数不准确。
技术实现思路
1、本申请为了在saas场景下,提高redis缓存计数的准确度,提供了一种基于saas系统的缓存同步方法及系统。
2、第一方面,本申请提供的一种基于saas系统的缓存同步方法,采用如下的技术方案:
3、一种基于saas系统的缓存同步方法,具体包括以下步骤:
4、进行resid缓存计数,得到第一计数值,并判定所述第一计数值是否异常,所述第一计数值为未清信息的数量;
5、若所述第一计数值异常,则生成异常已清数据,所述异常已清数据包括n个第一已清信息,每个所述第一已清信息对应有一个微服务器,n为自然数,n≥1;
6、对n个第一已清信息的内容进行读取,将内容相同的第一已清信息标记为第一异常信息,所述第一异常信息对应有m个微服务器,m为自然数,m≥1;
7、将m个微服务
8、在本地微服务器进行完计数重载之后,解除对其他微服务器的禁止,并获取计数重载后生成的第二计数值。
9、通过采用上述技术方案,首先,进行resid缓存计数,并判定得到的第一计数值是否异常,所述第一计数值为未清信息的数量,若异常,则生成异常已清数据,所述异常已清数据包括n个第一已清信息,每个所述第一已清信息对应有一个微服务器,n为自然数,n≥1,然后,对n个第一已清信息的内容进行读取,将内容相同的第一已清信息标记为第一异常信息,所述第一异常信息对应有m个微服务器,m为自然数,m≥1,最后,将m个微服务器中最先查看所述第一已清信息的微服务器作为本地微服务器,并通过本地微服务器对所述异常已清数据进行计数重载,并禁止其他微服务器进行计数重载,并在本地微服务器进行完计数重载之后,解除对其他微服务器的禁止,并获取计数重载后生成的第二计数值。
10、通过本地微服务器在进行计数重载过程中,禁止其他微服务器进行计数重载来避免人们在使用相同账号,分别在不同的微服务器中,同时去查看某一篇文章时,出现未清信息数据的数量减二的现象,从而提高在saas场景下,redis缓存计数的准确度。
11、可选的,所述进行resid缓存计数,具体包括以下步骤:
12、获取预设的关系型数据库,所述关系型数据库包括信息总数据,所述信息总数据包括所述未清信息和已清信息;
13、对所述信息总数据进行redis缓存计数。
14、通过采用上述技术方案,获取预设的关系型数据库中实时变化的信息总数据,并实时对所述信息总数据进行redis缓存计数,有助于保证所述信息总数据的准确性。
15、可选的,一种基于saas系统的缓存同步方法,还包括以下步骤:
16、在所述关系型数据库中,若所述未清信息的数量减少若干个,则所述已清信息的数量对应的增加若干个,若所述未清信息的数量增加若干个,则所述已清信息的数量保持不变。
17、通过采用上述技术方案,阐明了未清信息与已清信息的增减关系。
18、可选的,在获取所述关系型数据库之前,还包括以下步骤:
19、创建唯一键值,所述唯一键值用于标记所述已清信息对应的微服务器的数量、记录进行所述计数重载的开始时间和记录进行所述计数重载的微服务器的相关信息。
20、通过采用上述技术方案,创建用于标记所述已清信息对应的微服务器的数量、记录进行所述计数重载的开始时间和记录进行所述计数重载的微服务器的相关信息的唯一键值。
21、可选的,所述计数重载,具体包括以下步骤:
22、将所有内容相同的第一已清信息仅作为一个第一已清信息进行统计,并对所述异常已清数据进行重新统计,得到正常已清数据;
23、根据所述正常已清数据,在所述关系型数据库中,对所述信息总数据重新进行redis缓存计数。
24、通过采用上述技术方案,通过进行所述计数重载,对所述信息总数据重新进行redis缓存计数。
25、可选的,所述计数重载还包括设置本地检测间隔时间,所述判定resid缓存计数是否异常之后,还包括以下步骤:
26、当时间达到设置的所述本地检测间隔时间时,判定在所述本地检测间隔时间内是否进行过计数重载;
27、若在所述本地检测间隔时间内进行过计数重载,则不需要进行本地检测,并获取在所述本地检测间隔时间内,最后一次进行计数重载的时间,并从所述最后一次进行计数重载的时间开始,按所述本地检测间隔时间,计算进行下一次本地检测的剩余时间;
28、若在所述本地检测间隔时间内未进行过计数重载,则需要进行本地检测。
29、通过采用上述技术方案,首先,当时间达到设置的所述本地检测间隔时间时,判定在所述本地检测间隔时间内是否进行过所述计数重载,接着,若在所述本地检测间隔时间内进行过所述计数重载,则不需要进行所述计数重载,并获取在所述本地检测间隔时间内,最后一次进行所述计数重载的时间,并从所述最后一次进行所述计数重载的时间开始,按所述本地检测间隔时间,计算进行下一次本地检测的剩余时间,并结束本次本地检测,若在所述本地检测间隔时间内未进行过所述计数重载,则需要进行所述计数重载。
30、设置本地检测,有助于在一定时间内将关系数据库中的数量在不停变化的信息总数据的进行重新统计并更新,保障redis缓存计数的良好运行状态爱,避免数据无序堆积的现象发生。
31、可选的,所述需要进行本地检测之后,具体包括以下步骤:
32、在所述关系型数据库中,对所述已清信息进行计数重载,并禁止其他微服务器进行计数重载;
33、在进行完计数重载之后,解除对其他微服务器的禁止,并获取计数重载后生成的第三计数值。
34、通过采用上述技术方案,在需要进行本地检测后,进行本地检测。
35、第二方面,本申请提供的一种基于saas系统的缓存同步系统,采用如下的技术方案:
36、一种基于saas系统的缓存同步系统,包括执行模块、异常判定模块、异常数据生成模块、异常读取模块和计数重载模块;
37、所述执行模块用于执行resid缓存计数,得到第一计数值,所述第一计数值为未清信息的本文档来自技高网...
【技术保护点】
1.一种基于Saas系统的缓存同步方法,其特征在于,具体包括以下步骤:
2.根据权利要求1所述的一种基于Saas系统的缓存同步方法,其特征在于,所述进行Resid缓存计数,具体包括以下步骤:
3.根据权利要求2所述的一种基于Saas系统的缓存同步方法,其特征在于,还包括以下步骤:
4.根据权利要求2所述的一种基于Saas系统的缓存同步方法,其特征在于,在获取所述关系型数据库之前,还包括以下步骤:
5.根据权利要求2所述的一种基于Saas系统的缓存同步方法,其特征在于,所述计数重载,具体包括以下步骤:
6.根据权利要求5所述的一种基于Saas系统的缓存同步方法,其特征在于,所述计数重载还包括设置本地检测间隔时间,所述判定Resid缓存计数是否异常之后,还包括以下步骤:
7.根据权利要求6所述的一种基于Saas系统的缓存同步方法,其特征在于,所述需要进行本地检测之后,具体包括以下步骤:
8.一种基于Saas系统的缓存同步系统,其特征在于,包括执行模块(1)、异常判定模块(2)、异常数据生成模块(3)、
9.一种智能终端,其特征在于,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器进行时实现如权利要求1-7所述的一种基于Saas系统的缓存同步方法。
10.一种计算机可读存储介质,其特征在于,包括可读存储介质及存储在所述可读存储介质上运行的计算机程序,所述计算机程序由处理器加载并进行以实现如权利要求1-7所述的一种基于Saas系统的缓存同步方法。
...【技术特征摘要】
1.一种基于saas系统的缓存同步方法,其特征在于,具体包括以下步骤:
2.根据权利要求1所述的一种基于saas系统的缓存同步方法,其特征在于,所述进行resid缓存计数,具体包括以下步骤:
3.根据权利要求2所述的一种基于saas系统的缓存同步方法,其特征在于,还包括以下步骤:
4.根据权利要求2所述的一种基于saas系统的缓存同步方法,其特征在于,在获取所述关系型数据库之前,还包括以下步骤:
5.根据权利要求2所述的一种基于saas系统的缓存同步方法,其特征在于,所述计数重载,具体包括以下步骤:
6.根据权利要求5所述的一种基于saas系统的缓存同步方法,其特征在于,所述计数重载还包括设置本地检测间隔时间,所述判定resid缓存计数是否异常之后,还包括以下步...
【专利技术属性】
技术研发人员:黄伟,朱坚,王玮,
申请(专利权)人:苏州市普实软件有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。