一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

数据查询方法、装置、电子设备及存储介质与流程

2022-11-19 06:25:52 来源:中国专利 TAG:


1.本公开涉及数据查询技术领域,尤其涉及一种数据查询方法、装置、电子设备及存储介质。


背景技术:

2.在第一用户对第二用户投票场景中,第一用户通过做任务获取一定的票数,然后选择一定的票数对任意的第二用户进行投票,在第一用户点击查看排行榜时,需要实时展示以下内容:前m位第二用户的排名以及第一用户在投过票的第二用户下的排名。
3.相关技术中,在基于第一用户的查询请求查询数据时,每接收到一个第一用户的查询请求就需要从数据库中查询相应的数据,导致访问数据库的频率较高,影响查询性能。


技术实现要素:

4.本公开提供一种数据查询方法、装置、电子设备及存储介质,以至少解决相关技术中访问数据库的频率高、影响查询性能的问题。本公开的技术方案如下:
5.根据本公开实施例的第一方面,提供一种数据查询方法,包括:
6.接收数据查询请求,所述数据查询请求用于请求用户排序数据的关联数据;
7.根据缓存中的数据,确定所述用户排序数据的关联数据,所述缓存中的数据是定时从数据库中获取并存储至所述缓存中的,所述数据库存储有用于进行用户数据排序的相关数据;
8.将所述关联数据返回至用户终端。
9.可选的,所述用户终端为第一用户终端,所述数据查询请求为对当前第一用户标识在每个第二用户标识下所对应排名的查询请求,所述当前第一用户标识为所述第一用户终端对应的第一用户标识;
10.所述根据缓存中的数据,确定所述用户排序数据的关联数据之前,还包括:
11.通过定时任务定时从所述数据库中获取每个第二用户标识对应的第一用户标识列表,所述第一用户标识列表包括基于投票数据排序后的前预设数量的第一用户标识;
12.将所述每个第二用户标识对应的第一用户标识列表存储至所述缓存中。
13.可选的,所述根据缓存中的数据,确定所述用户排序数据的关联数据,包括:
14.从所述缓存中获取所述每个第二用户标识对应的第一用户标识列表;
15.从所述每个第二用户标识对应的第一用户标识列表中分别查询所述当前第一用户标识所对应的排名,作为所述关联数据。
16.可选的,所述从所述每个第二用户标识对应的第一用户标识列表中分别查询所述当前第一用户标识所对应的排名,包括:
17.分别在每个第二用户标识对应的第一用户标识列表中查询所述当前第一用户标识,将所述当前第一用户标识在所述第一用户标识列表中的索引值确定为所述当前第一用户标识所对应的排名。
18.可选的,所述数据查询请求为对第二用户排序数据的查询请求;
19.所述根据缓存中的数据,确定所述用户排序数据的关联数据之前,还包括:
20.定时从所述数据库中获取多个第二用户标识对应的得票数据;
21.将所述多个第二用户标识对应的得票数据存储至缓存中。
22.可选的,所述根据缓存中的数据,确定所述用户排序数据的关联数据,包括:
23.从所述缓存中获取所述多个第二用户标识对应的得票数据;
24.根据所述得票数据生成所述多个第二用户标识对应的第二用户排序数据,将所述第二用户排序数据作为所述关联数据。
25.可选的,所述根据缓存中的数据,确定所述用户排序数据的关联数据,包括:
26.从所述缓存中获取所述多个第二用户标识对应的得票数据,并将所述多个第二用户标识对应的得票数据作为所述关联数据,所述关联数据用于指示所述用户终端根据所述得票数据生成所述多个第二用户标识对应的第二用户排序数据。
27.根据本公开实施例的第二方面,提供一种数据查询装置,包括:
28.查询请求接收模块,被配置为执行接收数据查询请求,所述数据查询请求用于请求用户排序数据的关联数据;
29.关联数据获取模块,被配置为执行根据缓存中的数据,确定所述用户排序数据的关联数据,所述缓存中的数据是定时从数据库中获取并存储至所述缓存中的,所述数据库存储有用于进行用户数据排序的相关数据;
30.关联数据返回模块,被配置为执行将所述关联数据返回至用户终端。
31.可选的,所述用户终端为第一用户终端,所述数据查询请求为对当前第一用户标识在每个第二用户标识下所对应排名的查询请求,所述当前第一用户标识为所述第一用户终端对应的第一用户标识;
32.所述装置还包括:
33.用户列表获取模块,被配置为执行通过定时任务定时从所述数据库中获取每个第二用户标识对应的第一用户标识列表,所述第一用户标识列表包括基于投票数据排序后的前预设数量的第一用户标识;
34.用户列表缓存模块,被配置为执行将所述每个第二用户标识对应的第一用户标识列表存储至所述缓存中。
35.可选的,所述关联数据获取模块包括:
36.用户列表获取单元,被配置为执行从所述缓存中获取所述每个第二用户标识对应的第一用户标识列表;
37.关联数据确定单元,被配置为执行从所述每个第二用户标识对应的第一用户标识列表中分别查询所述当前第一用户标识所对应的排名,作为所述关联数据。
38.可选的,所述关联数据确定单元被配置执行:
39.分别在每个第二用户标识对应的第一用户标识列表中查询所述当前第一用户标识,将所述当前第一用户标识在所述第一用户标识列表中的索引值确定为所述当前第一用户标识所对应的排名。
40.可选的,所述数据查询请求为对第二用户排序数据的查询请求;
41.所述装置还包括:
42.得票数据获取模块,被配置为执行定时从所述数据库中获取多个第二用户标识对应的得票数据;
43.得票数据缓存模块,被配置为执行将所述多个第二用户标识对应的得票数据存储至缓存中。
44.可选的,所述关联数据获取模块被配置为执行:
45.从所述缓存中获取所述多个第二用户标识对应的得票数据;
46.根据所述得票数据生成所述多个第二用户标识对应的第二用户排序数据,将所述第二用户排序数据作为所述关联数据。
47.可选的,所述关联数据获取模块被配置为执行:
48.从所述缓存中获取所述多个第二用户标识对应的得票数据,并将所述多个第二用户标识对应的得票数据作为所述关联数据,所述关联数据用于指示所述用户终端根据所述得票数据生成所述多个第二用户标识对应的第二用户排序数据。
49.根据本公开实施例的第三方面,提供一种电子设备,包括:
50.处理器;
51.用于存储所述处理器可执行指令的存储器;
52.其中,所述处理器被配置为执行所述指令,以实现如第一方面所述的数据查询方法。
53.根据本公开实施例的第四方面,提供一种计算机可读存储介质,当所述计算机存储介质中的指令由电子设备的处理器执行时,使得所述电子设备能够执行如第一方面所述的数据查询方法。
54.根据本公开实施例的第五方面,提供一种计算机程序产品,包括计算机程序或计算机指令,所述计算机程序或计算机指令被处理器执行时实现第一方面所述的数据查询方法。
55.本公开的实施例提供的技术方案至少带来以下有益效果:
56.本公开实施例通过在接收到数据查询请求后,根据缓存中的数据确定用户排序数据的关联数据,缓存中的数据是定时从数据库中获取并存储至缓存中的,并将确定的关联数据返回至用户终端,由于缓存中的数据是通过定时任务定时从数据库中获取并存储至缓存中的,这样在接收到多个用户终端的数据查询请求时,只需要从缓存中查询即可得到相应的关联数据,也就是通过定时查询只需要从数据库中查询一次就可以对多个用户终端的数据查询请求进行响应,减少了访问数据库的频率,提升了查询性能。
57.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
58.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
59.图1是根据一示例性实施例示出的一种数据查询方法的流程图;
60.图2是根据一示例性实施例示出的一种数据查询方法的流程图;
61.图3是相关技术中在查询第二用户排序数据时的交互流程图;
62.图4是本公开实施例中在查询第二用户排序数据时的交互流程图;
63.图5是根据一示例性实施例示出的一种数据查询方法的流程图;
64.图6是相关技术中在查询第一用户标识在每个第二用户标识下的排名时的交互流程图;
65.图7是本公开实施例中在查询第一用户标识在每个第二用户标识下的排名时的交互流程图;
66.图8是根据一示例性实施例示出的一种数据查询装置的框图;
67.图9是根据一示例性实施例示出的一种电子设备的框图。
具体实施方式
68.为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
69.需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
70.图1是根据一示例性实施例示出的一种数据查询方法的流程图,如图1所示,该数据查询方法用于对用户排序数据的关联数据的查询场景中,该数据查询方法可以用于服务器等电子设备中,包括以下步骤。
71.在步骤s11中,接收数据查询请求,所述数据查询请求用于请求用户排序数据的关联数据。
72.所述数据查询请求是用户终端发送来的,用户终端可以是第一用户使用的终端,也可以是第二用户使用的终端,第一用户可以是普通用户,即可以对第二用户进行投票的用户。第二用户是接受投票的用户,例如可以是主播用户。所述用户排序数据的关联数据可以是第二用户排序数据,也可以是当前的第一用户标识在第二用户排序数据中每个第二用户标识下的排名。第二用户排序数据是基于第二用户标识对应的得票数据组成的排序数据,第二用户标识为第二用户的标识。
73.用户想要查看用户排序数据的关联数据时,可以操作用户终端向服务器发送数据查询请求,服务器可以接收到用户终端发送的数据查询请求。
74.在步骤s12中,根据缓存中的数据,确定所述用户排序数据的关联数据,所述缓存中的数据是定时从数据库中获取并存储至所述缓存中的,所述数据库存储有用于进行用户数据排序的相关数据。
75.其中,所述用户数据可以是用户的投票数据,或者也可以是用户的得票数据。
76.服务器可以定时从数据库中查询用于进行用户数据排序的相关数据,并将查询到的数据存储至缓存中,定时时间可以是较短的时间,这样可以保证缓存中的数据是最新数据。在接收到用户终端发送的数据查询请求时,可以从缓存中获取用户排序数据的关联数据,这样如果在定时时间内接收到多个用户终端发送的数据查询请求,都可以从缓存中查
询对应的关联数据,而不必从数据库中获取对应的数据,减少了访问数据库的频率,可以提升查询性能。
77.所述数据库可以是redis(remote dictionary server,远程字典服务)数据库,即通过redis数据库来保存第一用户对第二用户的投票数据以及第二用户获得的得票数据等数据。
78.在第一用户对第二用户投票场景中,第一用户通过做任务获取一定的票数,然后选择一定的票数对任意的第二用户进行投票,在第一用户点击查看用户排序数据时,需要实时展示以下内容:前n位第二用户的得票数据、前m位第二用户的排名、第一用户对第二用户的投票数据、第一用户在投过票的第二用户下的排名(可以显示前1000名)、第一用户剩余的可投票数,其中,前n位第二用户的得票数据、第一用户对第二用户的投票数据、第一用户剩余的可投票数是与计数相关的数据,前m位第二用户的排名、第一用户在投过票的第二用户下的排名是用户排序数据相关的数据。
79.使用redis在存储计数相关的数据时,使用redis的string数据结构,其中key(键)为userid_type,value(值)为票数,其中userid为用户标识,type用于区分用户投票维度,即区分第一用户和第二用户,可以约定为:type为1时userid_type表示第一用户剩余票数,type为2时userid_type表示第二用户获取票数。
80.使用redis在存储用户排序数据相关的数据时,使用redis的有序集合(zset)数据结构,其中key为anchorid,mermber为userid,score为票数,其中anchorid为第二用户标识,userid为第一用户标识,userid对应的score表示第一用户对该第二用户的投票数据。
81.在第一用户a对第二用户b投n票时,需要做如下操作:第一用户a剩余票数-n(decrby userid_type1 n);第二用户b获取票数 n(incrby anchorid_type2 n);第一用户a对第二用户b投票数据 n(zincrby anchorid n userid)。
82.在定时查询数据时,查询m位第二用户的得票数据时,可以使用redis查询:mget anchorid1 anchorid2

anchoridm,得到第二用户的得票数据;查询m位第二用户的排名时,即查询第二用户排序数据时,基于得到的每位第二用户的得票数据,进行sort排序即可得到;查询第一用户在投过票的第二用户下的排名时,使用redis查询:zrank anchorid userid,返回有序集合中第一用户标识对应的索引。
83.查询第一用户对每位第二用户的投票数据,以及查询第一用户的可投票数,可以基于第一用户的请求进行查询,不需要基于定时任务进行查询。查询第一用户对每位第二用户的投票数据时,可以使用redis查询:zscore anchorid userid,返回有序集合中的分数值;在查询第一用户的可投票数时,使用redis查询:get userid_type1,查询即可得到。
84.在步骤s13中,将所述关联数据返回至用户终端。
85.在获取到用户排序数据的关联数据后,可以将关联数据返回至发送所述数据查询请求的用户终端。
86.本示例性实施例提供的数据查询方法,通过在接收到数据查询请求后,根据缓存中的数据确定用户排序数据的关联数据,缓存中的数据是定时从数据库中获取并存储至缓存中的,并将确定的关联数据返回至用户终端,由于缓存中的数据是定时从数据库中获取并存储至缓存中的,这样在接收到多个用户终端的数据查询请求时,只需要从缓存中查询即可得到相应的关联数据,也就是通过定时查询只需要从数据库中查询一次就可以对多个
用户终端的数据查询请求进行响应,减少了访问数据库的频率,提升了查询性能。
87.图2是根据一示例性实施例示出的一种数据查询方法的流程图,该数据查询方法用于在数据查询请求为对第二用户排序数据的查询请求的查询场景中。图3是相关技术中在查询第二用户排序数据时的交互流程图,如图3所示,userid1,userid2,

,useridn这n个用户终端在查询第二用户排序数据时,服务器每接收到一个用户终端发送的数据查询请求,就需要访问redis数据库获取m个第二用户标识对应的得票数据,n个用户终端进行请求时,需要访问n次数据库获取相同的数据,访问数据库的频率较高。本示例性实施例通过定时查询可以只需要访问一次数据库就可以对多个用户终端进行响应。如图2所示,该数据查询方法包括以下步骤。
88.在步骤s21中,定时从数据库中获取多个第二用户标识对应的得票数据。
89.定时查询数据库,从数据库中获取多个第二用户标识对应的得票数据,例如定时从数据库中获取m个第二用户标识对应的得票数据。
90.在步骤s22中,将所述多个第二用户标识对应的得票数据存储至缓存中。
91.在获取到多个第二用户标识对应的得票数据后,可以将多个第二用户标识对应的得票数据存储至缓存中。
92.其中,所述缓存可以为本地缓存(localcache)。通过本地缓存来缓存多个第二用户标识对应的得票数据时,本地缓存可以定时请求数据库获取最新值,这是由localcache机制所决定的,在n位第一用户中每位第一用户查询m位第二用户的得票数据时,只需在本地缓存中获取从redis访问得到的最新值即可,而本地缓存只是占用一小部分内存,查询数据库的数量级从o(n)降为o(1),大大减轻了数据库的访问压力。
93.在步骤s23中,接收数据查询请求,所述数据查询请求用于请求用户排序数据的关联数据。
94.在步骤s24中,根据缓存中的数据,确定所述用户排序数据的关联数据,所述缓存中的数据是定时从数据库中获取并存储至所述缓存中的,所述数据库存储有用于进行用户数据排序的相关数据。
95.在接收到数据查询请求时,根据缓存中的多个第二用户标识对应的得票数据,来确定用户排序数据的关联数据,可以对多个第二用户标识对应的得票数据进行排序,得到第二用户排序数据,将第二用户排序数据作为关联数据,或者,还可以直接将多个第二用户标识对应的得票数据作为关联数据,由用户终端基于多个第二用户标识对应的得票数据进行排序,得到第二用户排序数据。
96.在一个示例性实施例中,所述根据缓存中的数据,确定所述用户排序数据的关联数据,包括:从所述缓存中获取所述多个第二用户标识对应的得票数据;根据所述得票数据生成所述多个第二用户标识对应的第二用户排序数据,将所述第二用户排序数据作为所述关联数据。
97.在接收到数据查询请求时,从缓存中获取多个第二用户标识对应的得票数据,按照得票数据从大到小的顺序,对多个第二用户标识进行排序,排序后的第二用户标识和对应的得票数据组成多个第二用户标识对应的第二用户排序数据,该第二用户排序数据就是所述数据查询请求所请求的关联数据。
98.通过从缓存中获取多个第二用户标识对应的得票数据,并根据得票数据生成第二
用户排序数据,不必再去数据库进行查询,减少了访问数据库的次数,而且可以直接将第二用户排序数据返回至用户终端。
99.在另一个示例性实施例中,所述根据缓存中的数据,确定所述用户排序数据的关联数据,包括:从所述缓存中获取所述多个第二用户标识对应的得票数据,并将所述多个第二用户标识对应的得票数据作为所述关联数据,所述关联数据用于指示所述用户终端根据所述得票数据生成所述多个第二用户标识对应的第二用户排序数据。
100.在接收到数据查询请求时,从缓存中获取多个第二用户标识对应的得票数据,并将多个第二用户标识对应的得票数据作为关联数据,可以将该关联数据发送至用户终端,用户终端接收到该关联数据后,按照得票数据从大到小的顺序,对多个第二用户标识进行排序,得到第二用户排序数据。
101.通过从缓存中获取多个第二用户标识对应的得票数据,并将多个第二用户标识对应的得票数据作为关联数据,从缓存中即可获取到数据查询请求所请求的数据,不必再去数据库进行查询,减少了访问数据库的次数。
102.在步骤s25中,将所述关联数据返回至用户终端。
103.图4是本公开实施例中在查询第二用户排序数据时的交互流程图,如图4所示,服务器中的本地缓存可以定时请求数据库,获取m个第二用户标识对应的得票数据,并进行缓存,在接收到n个用户终端对第二用户排序数据的查询请求时,可以直接从缓存中获取第二用户排序数据,并返回至每个用户终端,也就是在有n个用户终端请求第二用户排序数据时,只需要访问一次数据库,就可以对n个用户终端进行响应,减少了访问数据库的频率,降低了数据库的压力。
104.本示例性实施例提供的数据查询方法,通过在数据查询请求为对第二用户排序数据的查询请求时,可以定时从数据库中获取多个第二用户标识对应的得票数据,并将多个第二用户标识对应的得票数据存储至缓存中中,在接收到用户终端发送的数据查询请求时,可以根据缓存中缓存的多个第二用户标识对应的得票数据,确定第二用户排序数据的关联数据,并返回至用户终端,从而在有多个用户终端请求第二用户排序数据时,只需要访问一次数据库就可以对多个用户终端进行响应,减少了访问数据库的频率,降低了数据库的压力,提升了查询性能。
105.图5是根据一示例性实施例示出的一种数据查询方法的流程图,该数据查询方法用于查询当前第一用户标识在每个第二用户标识下所对应的排名的场景中。图6是相关技术中在查询第一用户标识在每个第二用户标识下的排名时的交互流程图,如图6所示,以第一用户标识维度查看,对每一个第二用户标识来说,在第二用户标识下的第一用户标识排名,需要一次查询,在有m个第二用户标识时,需要查询m次,也就是每个第一用户终端请求查询一次,需要请求redis数据库m次,导致redis数据库的访问量较大,多个第一用户终端请求时,需要更多次的访问redis数据库。本示例性实施例通过定时查询可以基于每个第二用户标识访问一次数据库就可以对多个第一用户终端进行响应。如图5所示,该数据查询方法包括以下步骤。
106.在步骤s51中,通过定时任务定时从数据库中获取每个第二用户标识对应的第一用户标识列表,所述第一用户标识列表包括基于投票数据排序后的前预设数量的第一用户标识。
107.其中,所述第一用户标识列表是多个第一用户标识与投票数据的对应关系所组成的列表。所述预设数量可以是预先设置的值,例如可以为1000。
108.第一用户对第二用户进行排序时,第二用户的数量是固定的,也就是第二用户标识及数量是固定的,一般会有多个第二用户标识,通过定时任务进行查询时,由于还没有接收到第一用户终端的查询请求,不确定会有哪个第一用户终端进行请求,这时可以从数据库中查询每个第二用户标识对应的第一用户标识列表,从而可以得到各个第一用户标识所对应的投票数据,以便于对不同的第一用户终端进行响应。
109.通过定时任务定时触发进行数据查询,实现了一次请求可以得到每个第二用户标识对应的第一用户标识列表,可以减少访问数据库的频率。
110.在步骤s52中,将所述每个第二用户标识对应的第一用户标识列表存储至所述缓存中。
111.其中,所述缓存可以为redis数据库。
112.在缓存中,可以通过有序集合的数据结构来保存每个第二用户标识对应的第一用户标识列表,即通过链值对的形式进行存储。若使用redis数据库进行缓存,可以使用redis的有序集合(zset)数据结构来保存每个第二用户标识对应的第一用户标识列表,其中,key为第二用户标识,mermber为第一用户标识,score为该第一用户标识对该第二用户标识的投票数据。可以使用命令:mset第二用户标识1第一用户标识列表1第二用户标识2第一用户标识列表2
……
第二用户标识n第一用户标识列表n,对每个第二用户标识对应的第一用户标识列表进行缓存。
113.通过redis数据库来缓存每个第二用户标识对应的第一用户标识列表,可以供不同的服务器设备来进行查询,进一步减少访问原有的数据库的频率。
114.在步骤s53中,接收数据查询请求,所述数据查询请求用于请求用户排序数据的关联数据。
115.其中,所述数据查询请求是第一用户终端发送的,所述数据查询请求为对当前第一用户标识在每个第二用户标识下所对应排名的查询请求,所述当前第一用户标识为所述第一用户终端对应的第一用户标识。
116.在步骤s54中,从缓存中获取所述每个第二用户标识对应的第一用户标识列表。
117.在接收到第一用户终端发送的数据查询请求,且所述数据查询请求为对当前第一用户标识在所述第二用户排行榜中每个第二用户标识下所对应排名的查询请求时,可以从缓存中获取每个第二用户标识对应的第一用户标识列表。
118.在步骤s55中,从所述每个第二用户标识对应的第一用户标识列表中分别查询所述当前第一用户标识所对应的排名,作为所述关联数据。
119.在每个第二用户标识对应的第一用户标识列表中分别查询当前第一用户标识所对应的排名,得到当前第一用户标识在每个第二用户标识下的排名,将当前第一用户标识在每个第二用户标识下的排名作为所述关联数据。
120.在一个示例性实施例中,所述从所述每个第二用户标识对应的第一用户标识列表中分别查询所述当前第一用户标识所对应的排名,包括:分别在每个第二用户标识对应的第一用户标识列表中查询所述当前第一用户标识,将所述当前第一用户标识在所述第一用户标识列表中的索引值确定为所述当前第一用户标识所对应的排名。
121.分别在每个第二用户标识对应的第一用户标识列表中查询当前第一用户标识,获取当前第一用户标识在第一用户标识列表中的索引值,将该索引值确定为当前第一用户标识所对应的排名。由于在第一用户标识列表中第一用户标识是按照投票数据从大到小的顺序进行排列的,所以第一用户标识列表中的索引值就代表第一用户标识所对应的排名,这样获取的排名较为准确,而且计算量低。
122.在步骤s56中,将所述关联数据返回至第一用户终端。
123.图7是本公开实施例中在查询第一用户标识在每个第二用户标识下的排名时的交互流程图,如图7所示,服务器中通过定时任务定时触发查询,以获取每个第二用户标识对应的第一用户标识列表,在有m个第二用户标识时,分别从数据库中查询每个第二用户标识对应的第一用户标识列表,将m个第二用户标识对应的第一用户标识列表存储至缓存中,之后接收到第一用户终端的数据查询请求时,可以直接在缓存中获取当前第一用户标识在每个第二用户标识下的排名。通过异步请求,加一层缓存操作,在接收到第一用户终端的数据查询请求时,只需要一次读取缓存,并将获取排名功能在内存中完成,平均每个第一用户终端的请求只需一次对缓存(redis数据)的io读取,使数据库的访问量减少了m倍。
124.本示例性实施例提供的数据查询方法,通过在数据查询请求为当前第一用户标识在每个第二用户标识所对应排名的查询请求时,可以通过定时任务定时从数据库中获取每个第二用户标识对应的第一用户标识列表,将每个第二用户标识对应的第一用户标识列表存储至缓存中,这样为后续的数据查询提供了查询依据,不需要访问数据库,基于缓存中的数据即可对每个第一用户标识的请求进行响应,这样在接收到第一用户终端的数据查询请求时,可以从缓存中查询当前第一用户标识所对应的排名,并返回至第一用户终端,从而在有多个第一用户终端请求在每个第二用户标识下的排名时,只需要从缓存中进行查询就可以对多个第一用户终端进行响应,减少了访问数据库的频率,降低了数据库的压力,提升了查询性能。
125.图8是根据一示例性实施例示出的一种数据查询装置的框图。参照图8,该装置包括查询请求接收模块81、关联数据获取模块82和关联数据返回模块83。
126.该查询请求接收模块81被配置为执行接收数据查询请求,所述数据查询请求用于请求用户排序数据的关联数据;
127.该关联数据获取模块82被配置为执行根据缓存中的数据,确定所述用户排序数据的关联数据,所述缓存中的数据是定时从数据库中获取并存储至所述缓存中的,所述数据库存储有用于进行用户数据排序的相关数据;
128.该关联数据返回模块83被配置为执行将所述关联数据返回至用户终端。
129.可选的,所述用户终端为第一用户终端,所述数据查询请求为对当前第一用户标识在每个第二用户标识下所对应排名的查询请求,所述当前第一用户标识为所述第一用户终端对应的第一用户标识;
130.所述装置还包括:
131.用户列表获取模块,被配置为执行通过定时任务定时从所述数据库中获取每个第二用户标识对应的第一用户标识列表,所述第一用户标识列表包括基于投票数据排序后的前预设数量的第一用户标识;
132.用户列表缓存模块,被配置为执行将所述每个第二用户标识对应的第一用户标识
列表存储至所述缓存中。
133.可选的,所述关联数据获取模块包括:
134.用户列表获取单元,被配置为执行从所述缓存中获取所述每个第二用户标识对应的第一用户标识列表;
135.关联数据确定单元,被配置为执行从所述每个第二用户标识对应的第一用户标识列表中分别查询所述当前第一用户标识所对应的排名,作为所述关联数据。
136.可选的,所述关联数据确定单元被配置执行:
137.分别在每个第二用户标识对应的第一用户标识列表中查询所述当前第一用户标识,将所述当前第一用户标识在所述第一用户标识列表中的索引值确定为所述当前第一用户标识所对应的排名。
138.可选的,所述数据查询请求为对第二用户排序数据的查询请求;
139.所述装置还包括:
140.得票数据获取模块,被配置为执行定时从所述数据库中获取多个第二用户标识对应的得票数据;
141.得票数据缓存模块,被配置为执行将所述多个第二用户标识对应的得票数据存储至缓存中。
142.可选的,所述关联数据获取模块被配置为执行:
143.从所述缓存中获取所述多个第二用户标识对应的得票数据;
144.根据所述得票数据生成所述多个第二用户标识对应的第二用户排序数据,将所述第二用户排序数据作为所述关联数据。
145.可选的,所述关联数据获取模块被配置为执行:
146.从所述缓存中获取所述多个第二用户标识对应的得票数据,并将所述多个第二用户标识对应的得票数据作为所述关联数据,所述关联数据用于指示所述用户终端根据所述得票数据生成所述多个第二用户标识对应的第二用户排序数据。
147.关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
148.图9是根据一示例性实施例示出的一种电子设备的框图。例如,电子设备900可以被提供为一服务器。参照图9,电子设备900包括处理组件922,其进一步包括一个或多个处理器,以及由存储器932所代表的存储器资源,用于存储可由处理组件922执行的指令,例如应用程序。存储器932中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件922被配置为执行指令,以执行上述的数据查询方法。
149.电子设备900还可以包括一个电源组件926被配置为执行电子设备900的电源管理,一个有线或无线网络接口950被配置为将电子设备900连接到网络,和一个输入输出(i/o)接口958。电子设备900可以操作基于存储在存储器932的操作系统,例如windows servertm,mac os xtm,unixtm,linuxtm,freebsdtm或类似。
150.在示例性实施例中,还提供了一种包括指令的计算机可读存储介质,例如包括指令的存储器932,上述指令可由电子设备900的处理组件922执行以完成上述数据查询方法。可选地,计算机可读存储介质可以是rom、随机存取存储器(ram)、cd-rom、磁带、软盘和光数据存储设备等。
151.在示例性实施例中,还提供一种计算机程序产品,包括计算机程序或计算机指令,所述计算机程序或计算机指令被处理器执行时实现上述的数据查询方法。
152.本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本技术旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
153.应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献