ABAP中的缓存
在我的场景中,我使用HTTP目的地将我的ABAP系统连接到一个非基于ABAP的系统 我想在ABAP中实现缓存,这样就可以使用应用程序的性能,而不必每次都访问后端 我猜在ABAP中,缓存只能通过使用共享内存来实现 这是否正确?我猜“缓冲”的意思是“加载到ABAP内存中并避免额外的数据库往返” 如果是的话,我同意你的理解,共享内存将是实现这一点的唯一方法ABAP中的缓存,abap,Abap,在我的场景中,我使用HTTP目的地将我的ABAP系统连接到一个非基于ABAP的系统 我想在ABAP中实现缓存,这样就可以使用应用程序的性能,而不必每次都访问后端 我猜在ABAP中,缓存只能通过使用共享内存来实现 这是否正确?我猜“缓冲”的意思是“加载到ABAP内存中并避免额外的数据库往返” 如果是的话,我同意你的理解,共享内存将是实现这一点的唯一方法 但是,考虑到在数据库的顶部,可以有1个.N个应用服务器,每个服务器都可以有1个N个工作进程。共享内存将允许您在一个应用服务器内的工作进程之间缓冲
但是,考虑到在数据库的顶部,可以有1个.N个应用服务器,每个服务器都可以有1个N个工作进程。共享内存将允许您在一个应用服务器内的工作进程之间缓冲内容,但不能跨应用服务器
如果您考虑其他“缓冲”方式,例如在连接速度较慢的数据上聚合视图,您可以通过使用适当的数据库视图或物化来获得其他方式。我猜“缓冲”的意思是“加载到ABAP内存中并避免额外的数据库往返” 如果是的话,我同意你的理解,共享内存将是实现这一点的唯一方法但是,考虑到在数据库的顶部,可以有1个.N个应用服务器,每个服务器都可以有1个N个工作进程。共享内存将允许您在一个应用服务器内的工作进程之间缓冲内容,但不能跨应用服务器
如果您考虑到其他“缓冲”方式,例如在连接速度较慢的数据上聚合视图,您可以通过使用适当的数据库视图或物化来获得其他方式。每次ABAP as get的http请求时,您都会获得一个新的“会话”(滚动区域)。共享内存可能是实现缓冲区的一个选项,这是对的。另一个选项是在SE11中打开表缓冲 但是典型的方法是总是从数据库开始,然后再次读取数据 为了提高应用程序的性能,您可以尝试减少从http到ABAP的调用,从而在http端实现更多的逻辑
请注意DBMS也缓存。也许这也可以在许多配置中提高响应时间 每次ABAP AS get发出http请求时,您都会得到一个新的“会话”(滚动区域)。共享内存可能是实现缓冲区的一个选项,这是对的。另一个选项是在SE11中打开表缓冲 但是典型的方法是总是从数据库开始,然后再次读取数据 为了提高应用程序的性能,您可以尝试减少从http到ABAP的调用,从而在http端实现更多的逻辑 请注意DBMS也缓存。也许这也可以在许多配置中提高响应时间