工作中遇到的问题--缓存配置(使用@Configuration装配 @Bean的方式注入)

@EnableCaching
@Configuration
public class MFGCachingConfiguration {

@Autowired
private MFGSettings mfgSettings;

@Bean(name="MFGKeyGenerator")
public KeyGenerator MFGKeyGenerator(){
SimpleKeyGenerator defaultKeyGen = new SimpleKeyGenerator();
KeyGenerator mfgKeyGen = new KeyGenerator(){

@Override
public Object generate(Object target, Method method, Object... params) {
if(method != null){
return method.getName() + defaultKeyGen.generate(target, method, params);
} else {
return defaultKeyGen.generate(target, method, params);
}
}

};
return mfgKeyGen;
}

@Bean
public CacheManager getEhCacheManager() {
CacheConfiguration ehCacheConf = new CacheConfiguration();
ehCacheConf.setName("dashboard_cache");
ehCacheConf.setMaxEntriesLocalDisk(1000l);
ehCacheConf.setMaxEntriesLocalHeap(5000l);
ehCacheConf.setEternal(false);
ehCacheConf.setDiskSpoolBufferSizeMB(50);
int dashboardCacheCleanUpSchedulerFrequency = Integer.parseInt(mfgSettings.getDashboardCacheCleanUpSchedulerFrequency());
ehCacheConf.setTimeToIdleSeconds(dashboardCacheCleanUpSchedulerFrequency);
ehCacheConf.setTimeToLiveSeconds(dashboardCacheCleanUpSchedulerFrequency);
ehCacheConf.setMemoryStoreEvictionPolicy("LFU");
ehCacheConf.setTransactionalMode("OFF");
ehCacheConf.addPersistence(new PersistenceConfiguration().strategy(Strategy.LOCALTEMPSWAP));

net.sf.ehcache.config.Configuration configration = new net.sf.ehcache.config.Configuration();
configration.setName("dashboard_cache");
configration.addCache(ehCacheConf);

CacheManager cacheManager = new EhCacheCacheManager(new net.sf.ehcache.CacheManager(configration));
return cacheManager;
}
}

时间: 2024-12-12 15:36:04

工作中遇到的问题--缓存配置(使用@Configuration装配 @Bean的方式注入)的相关文章

关于这周工作中遇到的关于缓存问题的记录

序:本周在工作中遇到了一些麻烦,解决过程比较曲折和辛苦,特此记录,留作经验供以后参考 发现问题:周一上班的时候,运营打电话来说,我们上个月做的一个活动感觉数据不对,商家过来投诉了.结果我数据库一查,数据还真有问题!这次的活动采用的是页面上使用缓存系统显示活动数值(总金额),同时在后台记录详细的每条活动数据的办法.每次用户发生业务行为的时候都会在后台的缓存的总金额上增加,同时记录这次行为发生的金额数.结果我周一把数据库的记录加一起来一算,发现和页面上缓存的总金额竟然差了将近一半! 解决的过程: 1

工作中遇到的问题--级联配置错误

org.springframework.dao.InvalidDataAccessApiUsageException: detached entity passed to persist: com.sim.mfg.data.domain.GoodStatus; nested exception is org.hibernate.PersistentObjectException: detached entity passed to persist: com.sim.mfg.data.domain

22_redis缓存配置及设置把session存储在redis中

django配置redis缓存 1. 安装django-redis包 pip install -i https://pypi.douban.com/simple django-redis 2. 在settings.py 文件中,指定redis缓存 # 配置redis缓存 CACHES = { "default": { "BACKEND": "django_redis.cache.RedisCache", "LOCATION":

Spring_总结_03_装配Bean(二)之Java配置

一.前言 本文承接上一节:Spring_总结_03_装配Bean(一)之自动装配 上一节提到,装配Bean有三种方式,首先推荐自动装配.当自动装配行不通时,就需要采用显示配置的方式了. 显示配置有两种方案:Java 和 XML.当需要显示配置时,首选类型安全并且比XML更强大Java配置. 二.Java配置 实现Java配置只需两步: (1)使用@Configuration声明一个配置类 (2)在配置类中使用@Bean声明一个Bean,同时可通过方法名注入bean. 三.Java配置实例 pac

Spring之XML配置Bean的属性注入

Spring中XML文件配置Bean的简单示例,如下: <bean id="car" class="com.smart.ditype.Car"> <property name="color"> <value>红色</value> </property> </bean> 注:在上述例子中,<property>标签对应的属性类型是基础数据类型,Spring容器会将它的

03_MyBatis基本查询,mapper文件的定义,测试代码的编写,resultMap配置返回值,sql片段配置,select标签标签中的内容介绍,配置使用二级缓存,使用别名的数据类型,条件查询ma

 1 PersonTestMapper.xml中的内容如下: <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!-- namespace:命名空间

spring中缓存配置

缓存spring文件的配置: <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframew

工作中linux定时任务的设置及相关配置

工作中会用到定时任务,来处理以前采集来的数据备份, 每周一凌晨4点执行一次    0 4 * * */1 find/data/templatecdr/oracle/dcndatabak/ -type f -ctime +60 -exec rm -f {} \; ------------------------------------------------------------------- linux定时任务的设置 Posted on 2010-09-23 23:49 疯狂 阅读(13760

django中缓存配置

# ======缓存配置====== CACHES = { ## 虚拟缓存,开发调试版本,此为开始调试用,实际内部不做任何操作 # 'default': { # 'BACKEND': 'django.core.cache.backends.dummy.DummyCache', # 引擎 # 'TIMEOUT': 300, # 缓存超时时间(默认300秒,None表示永不过期,0表示立即过期) # 'OPTIONS':{ # 'MAX_ENTRIES': 300,# 最大缓存个数(默认300) #