☰
Current Page
Main Menu
Home
Home
Editing
14.方法缓存
Edit
Preview
h1
h2
h3
default
Set your preferred keybinding
default
vim
emacs
markdown
Set this page's format to
AsciiDoc
Creole
Markdown
MediaWiki
Org-mode
Plain Text
RDoc
Textile
Rendering unavailable for
BibTeX
Pod
reStructuredText
Help 1
Help 1
Help 1
Help 2
Help 3
Help 4
Help 5
Help 6
Help 7
Help 8
Autosaved text is available. Click the button to restore it.
Restore Text
--- title: 方法缓存 date: 2023-09-25 17:31:34 permalink: /pages/3189d9/ --- 方法缓存就是缓存方法的执行结果。在下一次调用的时候,如果确认参数没有变化,且缓存未失效,则不调用方法,直接返回缓存。合理使用缓存,可以提升应用性能。 方法缓存是通过在方法上加注解实现的,如下所示: ```java /** * 缓存方法的执行结果 */ @Cache(name = "c1",key = "s{1} {2} {3} {4} {5}") @Override public List<CustomerVm> search(Filter filter, List<String> properties, Integer limit, Integer offset, String order) {} /** * 取消名称是c1,key以s开头的所有缓存 */ @CacheInvalidate(name = "c1", prefix = "s") public Object test1() { return "demo_customer test1"; } ``` ### @Cache 缓存注解,在方法上标注 | 属性 | 描述 | | ------ | ------------------------------------------------------------ | | name | 缓存名称,运行时模型所在的app内唯一 | | key | 根据参数生成的key,比如,`sss{1} ff{2.value}s`,{1},{2}分别代表第一个参数,第二个参数 | | expire | 过期时间(秒) | ### @CacheInvalidate 取消缓存注解,在方法上标注。 如果prefix不为空,则prefix优先生效。否则,keys生效。如果prefix和keys都不存在,则所有的参数组成一个默认的key | 属性 | 描述 | | ------ | -------------------------------------------- | | name | 缓存名称,运行时模型所在的app内唯一 | | keys | key的数组 | | prefix | 前缀,如果配置的话,以该参数为前缀的全部清除 |
Uploading file...
Sidebar
[[_TOC_]]
Edit message:
Cancel