caffeine maximumSize方法作用
时间: 2023-10-25 21:08:07 浏览: 24
`maximumSize()` 方法是 Caffeine 缓存库中的一个方法,它的作用是设置缓存的最大条目数。
当缓存中的条目数达到最大值时,Caffeine 缓存库会按照一定策略自动淘汰一些旧的缓存数据,以便为新的缓存数据腾出空间。
这个方法可以接受一个 long 类型的参数,表示最大的缓存条目数。例如,如果我们希望设置缓存的最大条目数为 1000,可以这样写:
```
Caffeine.newBuilder()
.maximumSize(1000)
.build();
```
这样就会创建一个最大条目数为 1000 的缓存。需要注意的是,这里的“条目数”不仅仅指缓存中的键值对数目,还包括缓存中的条目数、权重等其他因素。因此,在使用这个方法时需要根据具体的应用场景进行调整。
相关问题
caffeineCache
Caffeine Cache是一个用于在项目开发中实现本地缓存的工具。它是基于Guava Cache设计思想的,因此如果之前使用过Guava Cache,使用Caffeine会更加容易上手。通过Caffeine类来配置Cache,可以设置缓存的参数,包括最大缓存大小、写入后过期时间等。例如,可以使用以下代码来构造一个缓存Cache实例:
Cache cache = Caffeine.newBuilder().maximumSize(1000).expireAfterWrite(6, TimeUnit.MINUTES).softValues().build();
这段代码中,使用Caffeine的newBuilder()方法创建一个新的Caffeine实例,并通过链式调用方法设置了缓存的最大大小为1000,写入后的过期时间为6分钟,并开启了软引用以支持内存敏感的缓存。最后使用build()方法构建出一个Cache实例。使用这个Cache实例,我们可以进行缓存的读写操作。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *3* [浅入浅出Caffeine cache](https://blog.csdn.net/weixin_40413961/article/details/119064614)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
- *2* [缓存之王Caffeine Cache,性能比Guava更强,命中率更高!](https://blog.csdn.net/rlnLo2pNEfx9c/article/details/114984936)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
springboot集成caffeine缓存
非常感谢您的提问!关于springboot集成caffeine缓存的问题,我可以提供以下思路:
1. 首先,在pom.xml中添加caffeine依赖:
```
<dependency>
<groupId>com.github.ben-manes.caffeine</groupId>
<artifactId>caffeine</artifactId>
<version>2.6.0</version>
</dependency>
```
2. 接着,在application.yml中配置caffeine缓存,默认的caffeine配置如下:
```
spring.cache.type=caffeine
spring.cache.caffeine.spec=maximumSize=500, expireAfterAccess=5m, expireAfterWrite=5m, recordStats
```
其中,maximumSize表示缓存最大容量,expireAfterAccess表示访问后缓存的过期时间,expireAfterWrite表示写入后缓存的过期时间。
3. 最后,在代码中使用@Cacheable注解即可使用caffeine缓存,示例如下:
```
@Cacheable(value = "myCache", key = "#userId")
public User getUserById(String userId) {
// 缓存中不存在,则从数据库中查询
User user = userRepository.findByUserId(userId);
return user;
}
```
希望以上思路对您有帮助!ありがとうございました!
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)