CN112100092A - 一种信息缓存方法、装置、设备及介质 - Google Patents
一种信息缓存方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN112100092A CN112100092A CN201910528577.2A CN201910528577A CN112100092A CN 112100092 A CN112100092 A CN 112100092A CN 201910528577 A CN201910528577 A CN 201910528577A CN 112100092 A CN112100092 A CN 112100092A
- Authority
- CN
- China
- Prior art keywords
- channel
- identifier
- information record
- access
- information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 49
- 238000004590 computer program Methods 0.000 claims description 7
- 230000004044 response Effects 0.000 abstract description 17
- 230000000694 effects Effects 0.000 abstract description 4
- 238000010586 diagram Methods 0.000 description 8
- 230000003287 optical effect Effects 0.000 description 6
- 230000001960 triggered effect Effects 0.000 description 6
- 238000011144 upstream manufacturing Methods 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000000977 initiatory effect Effects 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例公开了一种信息缓存方法、装置、设备及介质,所述方法包括:接收来自访问渠道的信息访问请求,信息访问请求包括访问渠道的渠道标识以及访问对象的对象标识;根据渠道标识与对象标识生成访问对象的查询标识,将查询标识与缓存中的至少一个存储标识进行匹配;若缓存中不存在与查询标识相匹配的存储标识,则请求获取与查询标识对应的渠道信息记录,渠道信息记录为访问对象在渠道标识对应的渠道下的信息记录;若渠道信息记录为空值,则将查询标识与空值对应存储在缓存中,达到了在接收到通过不同渠道发送的高频次的信息访问请求时,节省各请求的响应信息在内存中的占用空间的效果,降低了服务器缓存被占满的风险,提高了***的稳定性。
Description
技术领域
本发明实施例涉及计算机技术领域,尤其涉及一种信息缓存方法、装置、设备及介质。
背景技术
随着网络的快速发展,通过网络查询感兴趣的物品已被人们广泛使用。如何在能够快速、准确的响应用户对物品的访问请求的基础上保证***的稳定性已经成为一个亟待解决的技术问题。
现有技术中,为了减轻***的压力,将请求返回的数据存在缓存中一段时间,减轻了对数据库的压力,也提高了***的性能。图1是现有技术中后台***的缓存结构示意图。如图1所示,后台***接收请求110,先查询缓存120,当缓存120中没有相应的信息时,再查询数据库130。图2是现有技术中响应用户发起的访问请求的流程图,如图2所示,当检测到访问请求时,执行S210,开始响应,执行S220查询缓存中是否有相应的数据,如果没有与访问请求对应的响应数据,则执行S230,从数据库中查询对应的响应数据,然后执行S240,将响应数据回写至缓存中,然后执行S250,将响应数据返回至发起访问请求的终端,如果缓存中有与访问请求对应的响应数据,则直接将响应数据返回至发起访问请求的终端,至此,执行S260,响应结束。
在实现本发明的过程中,发明人发现现有技术中至少存在以下技术问题:随着应用程序的更新,用户可以通过不同的渠道对物品进行访问,并且不同的渠道所对应的物品信息可能不同。若通过现有的缓存方式,将不同渠道来源的访问请求均缓存一份特定的数据。当接收到大量的访问请求时,***会对各请求对应的物品信息均进行缓存,容易导致服务器缓存被占满,导致***不可用。若仅在缓存中存储物品的固定信息,不存储由于渠道来源不同而不同的物品信息,当接收到不同渠道发送的访问请求时,均需要从数据库以及调用上游接口获取物品信息,容易造成请求延迟。
发明内容
本发明实施例提供了一种信息缓存方法、装置、设备及介质,以实现减少存储信息的占用空间,降低服务器缓存被占满的风险,提高***的稳定性。
第一方面,本发明实施例提供了一种信息缓存方法,包括:
接收来自访问渠道的信息访问请求,所述信息访问请求包括所述访问渠道的渠道标识以及访问对象的对象标识;
根据所述渠道标识与所述对象标识生成所述访问对象的查询标识,将所述查询标识与缓存中的至少一个存储标识进行匹配;
若所述缓存中不存在与所述查询标识相匹配的存储标识,则请求获取与所述查询标识对应的渠道信息记录,所述渠道信息记录为所述访问对象在所述渠道标识对应的渠道下的信息记录;
若所述渠道信息记录为空值,则将所述查询标识与空值对应存储在缓存中。
第二方面,本发明实施例还提供了一种信息缓存装置,包括:
访问请求获取模块,用于接收来自访问渠道的信息访问请求,所述信息访问请求包括所述访问渠道的渠道标识以及访问对象的对象标识;
查询标识匹配模块,用于根据所述渠道标识与所述对象标识生成所述访问对象的查询标识,将所述查询标识与缓存中的至少一个存储标识进行匹配;
渠道信息获取模块,用于若所述缓存中不存在与所述查询标识相匹配的目标存储标识,则请求获取与所述查询标识对应的渠道信息记录,所述渠道信息记录为所述访问对象在所述渠道标识对应的渠道下的信息记录;
渠道信息存储模块,用于若所述渠道信息记录为空值,则将所述查询标识与空值对应存储在缓存中。
第三方面,本发明实施例还提供了一种计算机设备,所述设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本发明任意实施例所提供的信息缓存方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明任意实施例所提供的信息缓存方法。
本发明实施例通过接收来自访问渠道的信息访问请求,信息访问请求包括访问渠道的渠道标识以及访问对象的对象标识;根据渠道标识与对象标识生成访问对象的查询标识,将查询标识与缓存中的至少一个存储标识进行匹配;若缓存中不存在与查询标识相匹配的存储标识,则请求获取与查询标识对应的渠道信息记录,渠道信息记录为访问对象在渠道标识对应的渠道下的信息记录;若渠道信息记录为空值,则将查询标识与空值对应存储在缓存中,达到了在接收到连续的通过不同渠道发送的高频次的信息访问请求时,节省各访问请求的响应信息在内存中的占用空间的技术效果,降低了服务器缓存被占满的风险,提高了***的稳定性。
附图说明
图1是现有技术中后台***的缓存结构示意图;
图2是现有技术中响应用户发起的访问请求的流程图;
图3是本发明实施例一所提供的一种信息缓存方法的流程图;
图4是本发明实施例二所提供的一种信息缓存方法的流程图;
图5是本发明实施例三所提供的一种信息缓存方法的流程图;
图6是本发明实施例四所提供的一种信息缓存方法的流程图;
图7是本发明实施例五所提供的一种信息缓存装置的结构示意图;
图8是本发明实施例六所提供的计算机设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
实施例一
图3是本发明实施例一所提供的一种信息缓存方法的流程图。本实施例可适用于对访问对象的信息进行缓存时的情形。该方法可以由信息缓存装置执行,该信息缓存装置可以采用软件和/或硬件的方式实现,例如,该信息缓存装置可配置于计算机设备中。如图3所示,所述方法包括:
S310、接收来自访问渠道的信息访问请求,信息访问请求包括访问渠道的渠道标识以及访问对象的对象标识。
在本实施例中,信息访问请求可以为用户通过终端触发的,用于访问访问对象的请求。可选的,用户可以在终端上选择感兴趣的物品,执行点击操作,触发信息访问事件,终端检测到用户触发的信息访问事件,生成并发送相应的信息访问请求。在本实施例中,信息访问请求包括访问渠道的渠道标识以及访问对象的对象标识。可以理解的是,访问对象可以为实体物品,也可以为虚拟物品。
示例性的,当用户希望查看终端屏幕上展示的物品A的详细信息时,可以通过点击终端上物品A所在区域触发信息访问事件,终端检测到用户触发的信息访问事件,根据终端屏幕上展示页面的内容以及检测到的触屏位置确定访问对象的对象标识“1”,根据用户触发信息访问事件的渠道确定访问渠道的渠道标识“2”,并生成包含有对象标识以及渠道标识的信息访问请求,将信息访问请求发送至后台服务器,后台服务器再将信息访问请求发送至信息缓存装置。
在本实施例中,用户可以通过不同的渠道对访问对象进行访问。其中,用户通过不同的渠道对同一访问对象进行访问可以理解为用户通过点击同一访问对象位于不同的页面上的跳转链接而触发的信息访问事件。示例性的,当同一物品A在应用程序B的页面及应用程序C的页面上均设置有跳转链接,用户1通过设置在应用程序A的页面上的跳转链接对物品A进行访问,用户2通过设置在应用程序B的页面上的跳转链接对物品A进行访问,则用户1与用户2对物品A进行的访问为通过不同的渠道对物品A进行的访问。
S320、根据渠道标识与对象标识生成访问对象的查询标识,将查询标识与缓存中的至少一个存储标识进行匹配。
在本实施例中,为了查询访问对象在某一渠道下的信息,需要根据访问对象的访问渠道的渠道标识以及访问对象的对象标识形成访问对象的查询标识。
可选的,可以将对象标识以及渠道标识共同作为访问对象的查询标识,也可以对对象标识以及渠道标识进行处理(如运算、加密等方式),得到访问对象的查询标识。
在本发明的一种实施方式中,所述根据所述渠道标识与所述对象标识生成所述访问对象的查询标识,包括:将所述对象标识以及所述渠道标识进行首尾拼接,形成所述访问对象的查询标识。
可选的,可以将对象标识以及渠道标识进行首位拼接,形成访问对象的查询标识。首位拼接的方式操作简单,并且能够保证同一查询标识能够指向唯一的渠道以及唯一的访问对象,保证了信息的准确性,避免因查询标识的不准确而造成的访问对象的信息错误。示例性的,若访问对象的对象标识为“1”,渠道标识为“2”,则将对象标识与渠道标识首位拼接后得到访问对象的查询标识为“12”。
在本实施例中,确定信息访问请求对应的信息后,会将信息访问请求对应的查询标识以及与查询标识对应的信息对应存储在缓存中,以使在再次接收到通过相同渠道访问同一访问对象的访问请求时,从缓存中查询对应的信息记录。因此,在接收到信息访问请求时,先将访问对象的查询标识与缓存中存储的存储标识匹配,以查询缓存中是否有该查询标识对应的信息记录。
S330、若缓存中不存在与查询标识相匹配的存储标识,则请求获取与查询标识对应的渠道信息记录。
在本实施例中,若缓存中不存在与存储标识匹配的存储标识,则需要向信息服务器发送请求,通过信息服务器获取与查询标识对应的渠道信息记录。其中,渠道信息记录为访问对象在渠道标识对应的渠道下的信息记录。
可以理解的是,针对每个访问对象,该访问对象通过不同渠道被访问时所展示的信息可能不同,但并非该访问对象在每一渠道下都有其特定的渠道信息。示例性的,存在渠道1、渠道2、渠道3,物品A可能在渠道1、渠道2、渠道3中均存在相应的渠道信息;或者,物品A可能在渠道1、渠道2中存在相应的渠道信息,但在渠道3中并不存在相应的渠道信息。
相应的,在信息服务器中,存储有访问对象在各渠道下的渠道信息记录。考虑到渠道数量较多,并且渠道具有不固定性(如某一渠道在当前存在且可用,经过一时间段之后该渠道变为不可用渠道),可选的,针对每个访问对象,信息服务器中仅存储有具有特定的渠道信息的渠道标识、对象标识以及信息之间的对应关系,以及在非渠道下,对象标识与信息的对应关系。
在本发明的一种实施方式中,信息缓存装置可以将对象标识以及渠道标识发送至信息服务器,信息服务器根据对象标识和渠道标识确定访问对象的查询标识,获取查询标识对应的渠道信息记录,并将渠道信息记录发送至信息缓存装置。
若信息服务器中不能匹配到与查询标识匹配的渠道信息记录,则判定该对象标识对应的访问对象在该渠道标识对应的渠道下不存在特定的渠道信息,将空值返回至信息缓存装置,并将对象标识以及与对象标识对应的固定信息记录发送至信息缓存装置。
若信息服务器中能够匹配到与查询标识匹配的渠道信息记录,则将匹配到的渠道信息记录发送至信息缓存装置。
S340、若渠道信息记录为空值,则将查询标识与空值对应存储在缓存中。
在本实施例中,若信息服务器返回的渠道信息记录为空,则判定该对象标识对应的访问对象在该渠道标识对应的渠道下不存在特定的渠道信息,将查询标识与空值对应存储在缓存中。
示例性的,若访问对象的对象标识为“1”,渠道标识为“2”,查询标识为“12”,通过信息服务器获取的访问对象在渠道标识2对应的渠道下的渠道信息记录为空,则将查询标识“12”与空值(NULL)对应存储在缓存中。
相对于现有技术中的,当不存在查询标识对应的渠道信息记录时,将查询标识与固定信息记录存储在缓存中的缓存方式,本发明实施例中针对无效的渠道数据做空值标记,将查询标识与空值对应存储在缓存中,能够在接收到连续的通过不同渠道发送的高频词的访问请求时,大大降低大量访问请求对应的响应信息在缓存中所占用的内存。
本发明实施例通过接收来自访问渠道的信息访问请求,信息访问请求包括访问渠道的渠道标识以及访问对象的对象标识;根据渠道标识与对象标识生成访问对象的查询标识,将查询标识与缓存中的至少一个存储标识进行匹配;若缓存中不存在与查询标识相匹配的存储标识,则请求获取与查询标识对应的渠道信息记录,渠道信息记录为访问对象在渠道标识对应的渠道下的信息记录;若渠道信息记录为空值,则将查询标识与空值对应存储在缓存中,达到了在接收到连续的通过不同渠道发送的高频次的信息访问请求时,节省各访问请求的响应信息在内存中的占用空间的技术效果,降低了服务器缓存被占满的风险,提高了***的稳定性。
实施例二
图4是本发明实施例二所提供的一种信息缓存方法的流程图。本实施例在上述实施例的基础上进行进一步地优化。如图4所示,所述方法包括:
S410、接收来自访问渠道的信息访问请求,信息访问请求包括访问渠道的渠道标识以及访问对象的对象标识。
S420、根据渠道标识与对象标识生成访问对象的查询标识,将查询标识与缓存中的至少一个存储标识进行匹配。
S430、若缓存中不存在与查询标识相匹配的存储标识,则请求获取与查询标识对应的渠道信息记录。
S440、若渠道信息记录为空值,则将查询标识与空值对应存储在缓存中,并获取对象标识对应的固定信息记录,将对象标识与固定信息记录存储在缓存中。
在本实施例中,固定信息记录为所述访问对象在非渠道下的信息记录。若访问对象的查询标识对应的渠道信息记录为空值,还需要获取访问对象的固定信息记录,并将访问对象的对象标识与访问对象的固定信息记录对应存储在缓存中,以使再次接收到同一访问请求时,能够从缓存中获取访问对象的固定信息记录,避免了当查询标识无效,在缓存中查询到与查询标识对应的信息记录为空时,能够通过信息服务器获取访问对象的固定信息记录。不仅通过设置空值标记的方式使得有效的数据缓存只会缓存一份,同时保证了透传入参无效(访问对象不存在对应的渠道信息记录)时能够有一份正常的数据缓存能够返回,保证了***的可用性,提高了用户体验。
示例性的,若访问对象的对象标识为“1”,渠道标识为“2”,查询标识为“12”,通过信息服务器获取的访问对象在渠道标识2对应的渠道下的渠道信息记录为空,且获得了通过信息服务器获取的访问对象的固定信息记录“F”,则在将查询标识“12”与空值(NULL)对应存储在缓存中的基础上,再将对象标识“1”与固定信息记录“F”对应存储在缓存中。
S450、将固定信息记录作为查询标识对应的目标信息记录,并将目标信息记录返回至客户端。
在本实施例中,若根据访问对象的查询标识在缓存中未能查询到相匹配的目标信息记录,且通过信息服务器查询的访问对象在渠道标识对应的渠道下的渠道信息记录为空,则将访问对象的固定信息记录作为查询标识对应的目标信息记录,并将目标信息记录返回至客户端。
示例性的,若客户端通过渠道2发起的信息访问请求中,访问对象在渠道标识2对应的渠道下的渠道信息记录为空,通过信息服务器获得了访问对象的固定信息记录“F”,则将信息记录“F”发送至客户端。
在本实施例中,对S440和S450执行顺序不做限定。即可以先执行S440中的将查询标识与空值、对象标识与固定信息记录对应存储在缓存中的操作,再执行S450中的将固定信息记录作为目标信息记录发送至客户端的操作;也可以先执行S450中的将固定信息记录作为目标信息记录发送至客户端的操作,再执行S440中的将查询标识与空值、对象标识与固定信息记录对应存储在缓存中的操作。
本发明实施例的技术方案,在上述实施例的基础上增加了若渠道信息记录为空值,则将固定信息记录与访问标识对应存储在缓存中,并将固定信息记录作为查询标识对应的目标信息记录,将目标信息记录返回至客户端的操作,通过在渠道信息记录为空时,将访问对象的固定信息记录返回至客户端,使得查询标识无效时,能够响应一份正常的无渠道数据,保证了***的可用性。
在上述方案的基础上,还包括;
若通过信息服务器获取的渠道信息记录不为空,则将查询标识与渠道信息记录对应存储在缓存中,并将渠道信息记录作为查询标识对应的目标信息记录,并将目标信息记录返回至客户端。
在本实施例的一种实施方式中,若根据访问对象的查询标识在缓存中未能查询到相匹配的目标信息记录,但通过信息服务器查询的访问对象在渠道标识对应的渠道下的渠道信息记录不为空,则说明访问对象在渠道标识对应的渠道下有特定的渠道信息,则将渠道信息记录作为访问对象的目标信息记录,并将目标信息记录作为响应信息返回至客户端。
示例性的,若客户端通过渠道1发起的信息访问请求中,访问对象在渠道标识1对应的渠道下的渠道信息记录为“H”,不为空,则将信息记录“H”作为信息访问请求的响应信息返回至客户端。
实施例三
图5是本发明实施例三所提供的一种信息缓存方法的流程图。本实施例在上述实施例的基础上进行进一步地优化。如图5所示,所述方法包括:
S510、接收来自访问渠道的信息访问请求,信息访问请求包括访问渠道的渠道标识以及访问对象的对象标识。
S520、根据渠道标识与对象标识生成访问对象的查询标识,将查询标识与缓存中的至少一个存储标识进行匹配。
S530、若缓存中存在与查询标识相匹配的存储标识,则获取与存储标识对应的渠道信息记录,并根据渠道信息记录确定与查询标识对应的目标信息记录,并将目标信息记录返回至客户端。
在本实施例中,对缓存中存在与查询标识匹配的存储标识时,信息访问请求的响应过程进行了具体化。可选的,若缓存中存在与查询标识匹配的存储标识,则可以直接在缓存中获取访问对象的目标信息记录,无需通过信息服务器获取。
可选的,将查询标识与缓存中的存储标识相匹配,获取与查询标识匹配的存储标识对应的渠道信息记录。可以理解的是,通过本发明实施例中所提供的信息缓存方法,当查询标识对应的物品在渠道标识对应的渠道下不存在特定的渠道信息时,缓存中存储的相应的渠道信息记录为空值。因此,需要根据存储标识对应的渠道信息记录是否为空值,确定与查询标识对应的目标信息记录。
在本发明的一种实施方式中,所述根据所述渠道信息记录确定与所述查询标识对应的目标信息记录,包括:
若所述渠道信息记录为空值,则获取所述缓存中与所述对象标识对应的固定信息记录,将所述固定信息记录作为所述目标信息记录;
若所述渠道信息记录不为空值,则将所述渠道信息记录作为所述目标信息记录。
在本实施例中,若渠道信息记录为空,则根据访问对象的对象标识获取缓存中存储的与对象标识对应的访问对象的固定信息记录,并将固定信息记录作为查询标识对应的目标信息记录;若渠道信息记录不为空,则将渠道信息记录作为查询标识对应的目标信息记录,使得在查询标识无效或有效的情况下,均能获得有效的数据。
示例性的,若访问对象的查询标识为“12”,缓存中与存储标识“12”对应的渠道信息记录为“NULL”,则获取缓存中与对象标识“1”对应的固定信息记录“F”作为查询标识“12”对应的目标信息记录。若缓存中与存储标识“12”对应的渠道信息记录为“G”,不为空,则将渠道信息记录“G”作为查询标识“12”对应的目标信息记录。
本发明实施例的技术方案,在上述实施例的基础上对缓存中存在与查询标识匹配的存储标识时,信息访问请求的响应过程进行了具体化。通过若缓存中存在与查询标识匹配的存储标识,根据存储标识对应的渠道信息记录确定查询标识对应的目标信息记录,使得在查询标识无效或有效的情况下,均能获得有效的数据,保证了***的可用性。
实施例四
图6是本发明实施例四所提供的一种信息缓存方法的流程图。本实施例在上述实施例的基础上提供了一种优选实施例,本实施例以渠道价为例,对信息缓存方法进行了具体化。在本实施例中渠道价为同一访问对象通过不同渠道访问时的特定价格,无渠道价为该访问对象通过非渠道访问时的固定价格。如图6所示,所述方法包括:
S601、开始。
S602、渠道KEY是否有缓存。
在本实施例中,当某个渠道来源请求访问本***的某件物品时,先根据渠道标识(渠道来源识别码)与这件物品的对象标识拼装成一个特定的渠道KEY,通过这种方式可以区分每一个渠道来源,然后判断缓存中是否存在这个新生成的渠道KEY。
如果缓存中存在渠道KEY,则执行S603;若缓存中不存在渠道KEY,则执行S605。
S603、是否是标记空值KEY。
如果缓存中存在渠道KEY,则判断渠道KEY是否为标记空值KEY。可选的,可以通过判断渠道KEY对应存储的数据是不是空值判定渠道KEY是否是标记空值KEY。若渠道KEY对应存储的数据是空值,则判定渠道KEY是标记空值KEY,执行S604,若渠道KEY对应存储的数据不是空值,则判定渠道KEY不是标记空值KEY,执行S610。
S604、取非渠道KEY中的数据。
若渠道KEY对应存储的信息是空值标记,则根据非渠道KEY(对象标识)获取非渠道KEY对应的数据返回。
S605、查询数据库和上游接口。
若缓存中不存在渠道KEY,则证明在最近一段时间内没有这个渠道对这件物品的请求访问,此时需要访问数据库和查询上游接口并更新缓存。
S606、是否有渠道价。
通过访问数据库以及上游接口的返回数据判断是否物品在该渠道下是否有渠道价。若该物品在该渠道下存在渠道价,则执行S607,若该物品在该渠道下不存在渠道价,则执行S608。
S607、组装结果后存入渠道KEY对应的缓存。
若该物品在该渠道下存在渠道价,则将渠道KEY以及渠道KEY对应的渠道价组装后写入该渠道KEY对应的缓存,然后执行S410,返回数据。当短时间内再有同一个渠道来源请求这个物品时,就可以直接返回这次存储的数据。
S608、渠道KEY存空值标记。
S609、非渠道KEY中存一份数据。
若该物品在该渠道下不存在渠道价,则在该渠道KEY对应的缓存里写入空值标记,同时在非渠道KEY对应的缓存中存一份无渠道价的数据,再执行S610,返回数据。当短时间内再有同一个渠道来源请求这个物品时,会先查看这个物品对应的渠道KEY里的数据,发现是空值标记后,跳转至非渠道KEY对应的数据中取不含渠道价的数据返回。
S610、返回数据。
将获取的数据返回至物品访问请求对应的终端。
S611、结束。
本实施例的技术方案,当获取不到渠道价时,在该渠道KEY的缓存里存空值标记,既能表明这个渠道对于当前物品是无效的,又只占用很小的内存空间,避免了内存被占满的可能性。另外,还需要在非渠道KEY中存一份非渠道的数据,避免不存储非渠道数据时,在接收到非渠道来源请求的时候,物品的非渠道数据无法缓存,导致每次请求都会访问数据库和上游接口,将给***带来巨大的隐患。本发明实施例解决了透传参数带来的缓存隐患,针对不同的渠道入参,不只是简单的缓存数据,而是根据渠道对于物品的有效性做出不同的缓存策略,既防止了内存被恶意访问数据占满,又保证了***的可用率,同时也保证了对数据库访问和上游接口调用量的稳定性。
实施例五
图7是本发明实施例五所提供的一种信息缓存装置的结构示意图。该信息缓存装置可以采用软件和/或硬件的方式实现,例如该信息缓存装置可以配置于计算机设备中。如图7所示,所述装置包括访问请求获取模块710、查询标识匹配模块720、渠道信息获取模块730和渠道信息存储模块740,其中:
访问请求获取模块710,用于接收来自访问渠道的信息访问请求,所述信息访问请求包括所述访问渠道的渠道标识以及访问对象的对象标识;
查询标识匹配模块720,用于根据所述渠道标识与所述对象标识生成所述访问对象的查询标识,将所述查询标识与缓存中的至少一个存储标识进行匹配;
渠道信息获取模块730,用于若所述缓存中不存在与所述查询标识相匹配的目标存储标识,则请求获取与所述查询标识对应的渠道信息记录,所述渠道信息记录为所述访问对象在所述渠道标识对应的渠道下的信息记录;
渠道信息存储模块740,用于若所述渠道信息记录为空值,则将所述查询标识与空值对应存储在缓存中。
本发明实施例通过访问请求获取模块接收来自访问渠道的信息访问请求;查询标识匹配模块根据渠道标识与对象标识生成访问对象的查询标识,将查询标识与缓存中的至少一个存储标识进行匹配;若缓存中不存在与查询标识相匹配的存储标识,则渠道信息获取模块请求获取与查询标识对应的渠道信息记录,渠道信息记录为访问对象在渠道标识对应的渠道下的信息记录;若渠道信息记录为空值,则渠道信息存储模块将查询标识与空值对应存储在缓存中,达到了在接收到连续的通过不同渠道发送的高频次的信息访问请求时,节省各访问请求的响应信息在内存中的占用空间的技术效果,降低了服务器缓存被占满的风险,提高了***的稳定性。
在上述方案的基础上,所述装置还包括固定信息存储模块,用于:
若所述渠道信息记录为空值,则获取所述对象标识对应的固定信息记录,并将所述对象标识与所述固定信息记录存储在缓存中,所述固定信息记录为所述访问对象在非渠道下的信息记录。
在上述方案的基础上,所述查询标识匹配模块720具体用于:
将所述对象标识以及所述渠道标识进行首尾拼接,形成所述访问对象的查询标识。
在上述方案的基础上,所述装置还包括目标信息发送模块,用于:
在请求获取与所述查询标识对应的渠道信息记录之后,若所述渠道信息记录为空,则将所述固定信息记录作为所述查询标识对应的目标信息记录,并将所述目标信息记录返回至客户端。
在上述方案的基础上,所述目标信息发送模块还用于:
若所述缓存中存在与所述查询标识相匹配的目标存储标识,则获取与所述存储标识对应的渠道信息记录,并根据所述渠道信息记录确定与所述查询标识对应的目标信息记录,并将所述目标信息记录返回至客户端。
在上述方案的基础上,所述目标信息发送模块具体用于:
若所述渠道信息记录为空值,则获取所述缓存中与所述对象标识对应的固定信息记录,将所述固定信息记录作为所述目标信息记录;
在上述方案的基础上,所述目标信息发送模块具体用于:
若所述渠道信息记录不为空值,则将所述渠道信息记录作为所述目标信息记录。
本发明实施例所提供的信息缓存装置可执行任意实施例所提供的信息缓存方法,具备执行方法相应的功能模块和有益效果。
实施例六
图8是本发明实施例六所提供的计算机设备的结构示意图。图8示出了适于用来实现本发明实施方式的示例性计算机设备812的框图。图8显示的计算机设备812仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图8所示,计算机设备812以通用计算设备的形式表现。计算机设备812的组件可以包括但不限于:一个或者多个处理器816,***存储器828,连接不同***组件(包括***存储器828和处理器816)的总线818。
总线818表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,***总线,图形加速端口,处理器816或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及***组件互连(PCI)总线。
计算机设备812典型地包括多种计算机***可读介质。这些介质可以是任何能够被计算机设备812访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
***存储器828可以包括易失性存储器形式的计算机***可读介质,例如随机存取存储器(RAM)830和/或高速缓存存储器832。计算机设备812可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机***存储介质。仅作为举例,存储装置834可以用于读写不可移动的、非易失性磁介质(图8未显示,通常称为“硬盘驱动器”)。尽管图8中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线818相连。存储器828可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
具有一组(至少一个)程序模块842的程序/实用工具840,可以存储在例如存储器828中,这样的程序模块842包括但不限于操作***、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块842通常执行本发明所描述的实施例中的功能和/或方法。
计算机设备812也可以与一个或多个外部设备814(例如键盘、指向设备、显示器824等)通信,还可与一个或者多个使得用户能与该计算机设备812交互的设备通信,和/或与使得该计算机设备812能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口822进行。并且,计算机设备812还可以通过网络适配器820与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器820通过总线818与计算机设备812的其它模块通信。应当明白,尽管图中未示出,可以结合计算机设备812使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID***、磁带驱动器以及数据备份存储***等。
处理器816通过运行存储在***存储器828中的程序,从而执行各种功能应用以及数据处理,例如实现本发明实施例所提供的信息缓存方法,该方法包括:
接收来自访问渠道的信息访问请求,所述信息访问请求包括所述访问渠道的渠道标识以及访问对象的对象标识;
根据所述渠道标识与所述对象标识生成所述访问对象的查询标识,将所述查询标识与缓存中的至少一个存储标识进行匹配;
若所述缓存中不存在与所述查询标识相匹配的存储标识,则请求获取与所述查询标识对应的渠道信息记录,所述渠道信息记录为所述访问对象在所述渠道标识对应的渠道下的信息记录;
若所述渠道信息记录为空值,则将所述查询标识与空值对应存储在缓存中。
当然,本领域技术人员可以理解,处理器还可以实现本发明任意实施例所提供的信息缓存方法的技术方案。
实施例七
本发明实施例七还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明实施例所提供的信息缓存方法,该方法包括:
接收来自访问渠道的信息访问请求,所述信息访问请求包括所述访问渠道的渠道标识以及访问对象的对象标识;
根据所述渠道标识与所述对象标识生成所述访问对象的查询标识,将所述查询标识与缓存中的至少一个存储标识进行匹配;
若所述缓存中不存在与所述查询标识相匹配的存储标识,则请求获取与所述查询标识对应的渠道信息记录,所述渠道信息记录为所述访问对象在所述渠道标识对应的渠道下的信息记录;
若所述渠道信息记录为空值,则将所述查询标识与空值对应存储在缓存中。
当然,本发明实施例所提供的一种计算机可读存储介质,其上存储的计算机程序不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的信息缓存方法中的相关操作。
本发明实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (10)
1.一种信息缓存方法,其特征在于,包括:
接收来自访问渠道的信息访问请求,所述信息访问请求包括所述访问渠道的渠道标识以及访问对象的对象标识;
根据所述渠道标识与所述对象标识生成所述访问对象的查询标识,将所述查询标识与缓存中的至少一个存储标识进行匹配;
若所述缓存中不存在与所述查询标识相匹配的存储标识,则请求获取与所述查询标识对应的渠道信息记录,所述渠道信息记录为所述访问对象在所述渠道标识对应的渠道下的信息记录;
若所述渠道信息记录为空值,则将所述查询标识与空值对应存储在缓存中。
2.根据权利要求1所述的方法,其特征在于,还包括:
若所述渠道信息记录为空值,则获取所述对象标识对应的固定信息记录,并将所述对象标识与所述固定信息记录存储在缓存中,所述固定信息记录为所述访问对象在非渠道下的信息记录。
3.根据权利要求1中的方法,其特征在于,所述根据所述渠道标识与所述对象标识生成所述访问对象的查询标识,包括:
将所述对象标识以及所述渠道标识进行首尾拼接,形成所述访问对象的查询标识。
4.根据权利要求2所述的方法,其特征在于,在请求获取与所述查询标识对应的渠道信息记录之后,还包括:
若所述渠道信息记录为空,则将所述固定信息记录作为所述查询标识对应的目标信息记录,并将所述目标信息记录返回至客户端。
5.根据权利要求1所述的方法,其特征在于,还包括:
若所述缓存中存在与所述查询标识相匹配的存储标识,则获取与所述存储标识对应的渠道信息记录,并根据所述渠道信息记录确定与所述查询标识对应的目标信息记录,并将所述目标信息记录返回至客户端。
6.根据权利要求5所述的方法,其特征在于,所述根据所述渠道信息记录确定与所述查询标识对应的目标信息记录,包括:
若所述渠道信息记录为空值,则获取所述缓存中与所述对象标识对应的固定信息记录,将所述固定信息记录作为所述目标信息记录。
7.根据权利要求5所述的方法,其特征在于,所述根据所述渠道信息记录确定与所述查询标识对应的目标信息记录,包括:
若所述渠道信息记录不为空值,则将所述渠道信息记录作为所述目标信息记录。
8.一种信息缓存装置,其特征在于,包括:
访问请求获取模块,用于接收来自访问渠道的信息访问请求,所述信息访问请求包括所述访问渠道的渠道标识以及访问对象的对象标识;
查询标识匹配模块,用于根据所述渠道标识与所述对象标识生成所述访问对象的查询标识,将所述查询标识与缓存中的至少一个存储标识进行匹配;
渠道信息获取模块,用于若所述缓存中不存在与所述查询标识相匹配的目标存储标识,则请求获取与所述查询标识对应的渠道信息记录,所述渠道信息记录为所述访问对象在所述渠道标识对应的渠道下的信息记录;
渠道信息存储模块,用于若所述渠道信息记录为空值,则将所述查询标识与空值对应存储在缓存中。
9.一种计算机设备,其特征在于,所述设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-7中任一所述的信息缓存方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-7中任一所述的信息缓存方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910528577.2A CN112100092B (zh) | 2019-06-18 | 2019-06-18 | 一种信息缓存方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910528577.2A CN112100092B (zh) | 2019-06-18 | 2019-06-18 | 一种信息缓存方法、装置、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112100092A true CN112100092A (zh) | 2020-12-18 |
CN112100092B CN112100092B (zh) | 2024-05-24 |
Family
ID=73748488
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910528577.2A Active CN112100092B (zh) | 2019-06-18 | 2019-06-18 | 一种信息缓存方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112100092B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113806651A (zh) * | 2021-09-18 | 2021-12-17 | 深圳市酷开网络科技股份有限公司 | 一种数据缓存方法、装置、服务器及存储介质 |
CN114726874A (zh) * | 2020-12-22 | 2022-07-08 | 广州探途天下科技有限公司 | 网络数据处理方法及网络设备 |
CN117056363A (zh) * | 2023-07-19 | 2023-11-14 | 广州三七极耀网络科技有限公司 | 数据缓存方法、***、设备以及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120117509A1 (en) * | 2010-11-05 | 2012-05-10 | Apple Inc. | Intelligent Data Caching |
US20140279035A1 (en) * | 2013-03-15 | 2014-09-18 | Victoria's Secret Stores Brand Management, Inc. | Systems and Methods for Cross-Channel Sales |
CN107229711A (zh) * | 2017-05-27 | 2017-10-03 | 北京小米移动软件有限公司 | 网页显示方法及装置 |
CN107665235A (zh) * | 2017-07-27 | 2018-02-06 | 上海壹账通金融科技有限公司 | 缓存处理方法、装置、计算机设备和存储介质 |
CN108052615A (zh) * | 2017-12-15 | 2018-05-18 | 泰康保险集团股份有限公司 | 访问请求的处理方法、装置、介质及电子设备 |
-
2019
- 2019-06-18 CN CN201910528577.2A patent/CN112100092B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120117509A1 (en) * | 2010-11-05 | 2012-05-10 | Apple Inc. | Intelligent Data Caching |
US20140279035A1 (en) * | 2013-03-15 | 2014-09-18 | Victoria's Secret Stores Brand Management, Inc. | Systems and Methods for Cross-Channel Sales |
CN107229711A (zh) * | 2017-05-27 | 2017-10-03 | 北京小米移动软件有限公司 | 网页显示方法及装置 |
CN107665235A (zh) * | 2017-07-27 | 2018-02-06 | 上海壹账通金融科技有限公司 | 缓存处理方法、装置、计算机设备和存储介质 |
CN108052615A (zh) * | 2017-12-15 | 2018-05-18 | 泰康保险集团股份有限公司 | 访问请求的处理方法、装置、介质及电子设备 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114726874A (zh) * | 2020-12-22 | 2022-07-08 | 广州探途天下科技有限公司 | 网络数据处理方法及网络设备 |
CN113806651A (zh) * | 2021-09-18 | 2021-12-17 | 深圳市酷开网络科技股份有限公司 | 一种数据缓存方法、装置、服务器及存储介质 |
CN113806651B (zh) * | 2021-09-18 | 2024-05-24 | 深圳市酷开网络科技股份有限公司 | 一种数据缓存方法、装置、服务器及存储介质 |
CN117056363A (zh) * | 2023-07-19 | 2023-11-14 | 广州三七极耀网络科技有限公司 | 数据缓存方法、***、设备以及存储介质 |
CN117056363B (zh) * | 2023-07-19 | 2024-03-19 | 广州三七极耀网络科技有限公司 | 数据缓存方法、***、设备以及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112100092B (zh) | 2024-05-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2019140828A1 (zh) | 电子装置、分布式***日志查询方法及存储介质 | |
KR101422859B1 (ko) | 문서의 오디언스-적정 버전을 제공하는 방법, 문서 서버, 및 컴퓨터 판독 가능 매체 | |
US9426200B2 (en) | Updating dynamic content in cached resources | |
US8185546B2 (en) | Enhanced control to users to populate a cache in a database system | |
CN111352902A (zh) | 日志处理方法、装置、终端设备及存储介质 | |
CN112100092B (zh) | 一种信息缓存方法、装置、设备及介质 | |
CN109885786B (zh) | 数据缓存处理方法、装置、电子设备及可读存储介质 | |
US11294973B2 (en) | Codeless information service for abstract retrieval of disparate data | |
CN110134869B (zh) | 一种信息推送方法、装置、设备和存储介质 | |
CN111737564B (zh) | 一种信息查询方法、装置、设备及介质 | |
CN110990346A (zh) | 基于区块链的文件数据处理方法、装置、设备及存储介质 | |
CN112612546A (zh) | 页面加载方法、装置、电子设备和存储介质 | |
CN108763524B (zh) | 电子装置、聊天数据处理方法和计算机可读存储介质 | |
CN114330272A (zh) | 一种病历模板生成方法、装置、电子设备及存储介质 | |
CN112965943A (zh) | 一种数据处理方法、装置、电子设备以及存储介质 | |
US9773034B1 (en) | Large-scale log index | |
CN112434062A (zh) | 准实时数据处理方法、装置、服务器及存储介质 | |
WO2014063595A1 (en) | Incorporating related searches by other users in a social network in a search request | |
CN112559914B (zh) | 指标数据显示方法及装置 | |
US10616291B2 (en) | Response caching | |
CN110716911A (zh) | 数据处理方法及装置、电子设备、存储介质 | |
CN110753136B (zh) | 域名解析方法、装置、设备及存储介质 | |
US9733871B1 (en) | Sharing virtual tape volumes between separate virtual tape libraries | |
CN113760988A (zh) | 一种无界流数据关联处理方法、装置、设备及存储介质 | |
CN112364268A (zh) | 资源获取方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |