gpt4 book ai didi

grails - Grails:良好使用.memoize()的示例?

转载 作者:行者123 更新时间:2023-12-02 14:46:14 25 4
gpt4 key购买 nike

记住无副作用且仅查找的服务方法的语法是什么?备忘录会在每个 session 之间持续存在还是在网络世界中毫无目的?有一些在grails应用程序中使用.memoize()的好地方的示例吗?

class DetermineStuffService{
def figureThisOut(def whatever){
//look up all sorts of stuff and do some heavy side-effect free processing
return nastyHashmap
}
}

所以我可以在 Controller 中以某种方式调用 DetermineStuffService.figureThisOut(someRandomObject)并利用 .memoize()吗?

最佳答案

一个问题是memoize()仅适用于闭包。闭包是对象,因此,如果将一个存储在服务中,则它是“状态”。

在grails中缓存服务的更好方法是使用Spring Cache plugin。然后,要缓存服务方法的结果,只需使用@Cacheable注释该方法。它支持多个缓存,自动刷新以及缓存 Controller 输出。

关于grails - Grails:良好使用.memoize()的示例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9730167/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com