云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

全站加速_网站建设网站_促销

小七 141 0

简介

很长一段时间以来,我对共享记忆的想法着迷。它似乎解决了所有性能问题(至少与数据库相关),我试图找到任何合适的情况,在那里我可以应用(并了解)共享内存。然而,大多数情况下,这种情况很容易通过打开表缓冲来解决,或者只需创建一个内部内存缓冲区就可以解决任何性能问题,云服务器和服务器,并使其变得相当快。好吧,使用共享内存来尝试减少应用程序内存中数据的复制是一个有趣的提议,但它不够强大,无法让我在不会对性能产生明显影响的地方使用它。

但是,唉,最后我遇到了一个要求,共享内存是唯一的,适用于重大性能问题的解决方案。我发现的"问题"在solutionmanager7.2的class/TMWFLOW/CL\u CM\u CONFIG中,方法TRANSP\u TRACK\u CALCULATE\u SINGLE。我不是一个专家,但显然这检索到的信息,整个交通路线为您的景观。在我的公司,我们有一个中央开发系统,物联网技术与应用,为许多系统提供支持,每个系统都有多个客户机,由于我们讨论的是RFC连接,这需要花费很多时间。具体时间是多少?嗯,大概一分钟。每次开发人员想要创建一个传输请求时,他/她必须等待一分钟,直到它最终在开发系统中可用。都是因为每次都会重新创建运输路线。所以最后,在花了很长时间寻找共享内存的用例之后,我想…哦,天哪,这真的是共享内存的最佳情况。风景不会经常改变。我可以存储这些信息,例如,一天一次,保存它,并避免等待这一天的所有其他请求。

创建共享内存对象

共享内存对象是根据保罗哈代的书"ABAP到未来"创建的,但必须做很多调整,因为这不是一个典型的问题存储来自数据库的信息。首先我们从根类开始。很明显,我们需要一个用我们想要保存的数据键入的属性,我添加了一个属性来存储上次更新的日期。

根类的属性

我们基本上需要两个方法。一个读取数据,一个存储数据。当我们读取数据时,我们也会检查上次更改的时间,如果更改的时间太长,我们必须使共享内存对象无效。

读取数据的方法

保存数据的方法

代理类是这样生成的。

代理类生成

请注意,我们没有选择"事务区域"选项,大数据时代纪录片,因为这并不代表数据库表。

我现在将向您展示如何在根类中编写"BUILD"方法,尽管这通常是演示的最后一步。这里有趣的部分,与通常的共享内存应用程序不同的是,我们没有读取数据库信息,因此"BUILD"方法显然只需要创建/实例化共享内存对象的必要步骤,但到目前为止,还不会真正加载其中的任何数据。在我们的编码中,大数据市场,我们可以调用独立加载数据的方法。

"构建"方法

在编码中使用共享内存对象

,所以现在我们的任务是明确的。当调用"计算"传输轨道的方法时,我们要检查是否已经将信息保存在内存中。如果没有,我们希望让它计算这些信息并将其存储在最后。所以我基本上是在方法的开头和结尾使用隐式增强点来实现这个。这是顶部的编码,用来检查信息是否已经存储在内存中。

访问内存对象中的数据

正如你所看到的,我不得不使用一些"噱头"导出参数来获取一些关于我想要的信息是否已经找到的信息。现在来看,我的印象是,检查变量中是否有信息应该足够了,但如果我没有这样做,肯定有一些模糊的原因,我现在不记得了。我记得这对"附加"和"分离"主题非常敏感。例如,如果你把它附在阅读上,但你试着写,或者你把它附在写作上,但你不试着写,永久免费的云服务器,它就不太喜欢它。最后,如何插入数据,如果它还没有保存。

存储您要保存的信息

临别赠言

在那里你有它。这应该足以帮助您为类似的情况实现共享内存解决方案。你是否有一些昂贵的计算,因为它需要许多RFC连接,或大量的计算能力,你需要这个结果往往,但它可以存储这些信息每天左右?嗯,也许你可以用这个方法来解决这个问题。

否则,你有什么建设性的批评意见要补充吗?你会用不同的方法解决吗?告诉我!