개발관련/memcached
2015. 11. 9. 11:12
3번과 dto는 동일하다.
하지만 bean은 변경이 된다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | <aop:aspectj-autoproxy /> <!-- 이부분은 아마도 버그인듯 문서에는 없었는데 안쓰면 에러가 난다. --> <import resource="simplesm-context.xml" /> <bean name="defaultMemcachedClient" class="com.google.code.ssm.CacheFactory"> <property name="cacheClientFactory"> <bean name="cacheClientFactory" class="com.google.code.ssm.providers.xmemcached.MemcacheClientFactoryImpl" /> </property> <property name="addressProvider"> <bean class="com.google.code.ssm.config.DefaultAddressProvider"> <property name="address" value="192.168.0.105:11211" /> </bean> </property> <property name="configuration"> <bean class="com.google.code.ssm.providers.CacheConfiguration"> <property name="consistentHashing" value="true" /> </bean> </property> </bean> <bean class="com.google.code.ssm.Settings"> <property name="order" value="500" /> </bean> | cs |
service는 다음과 같이 설정하면 된다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | @Override @CacheEvict(value="cachable") public boolean delete( long idx) { userDao.delete(idx); return false; } @Override @CachePut(value="cachable", key="#userDTO.idx") public UserDTO write( UserDTO userDTO) { return userDao.save(userDTO); } @Override @Cacheable(value="cachable", key="#idx") public UserDTO read( long idx) { UserDTO userDTO = userDao.findOne(idx); // userDao.save(userDTO); return userDTO; } | cs |
기존 ehcached와 동일하다. number 계열도 된다.
아마도 난 이 방법으로 사용할 듯 보인다.
소스 주소는 https://github.com/zest133/Memcached.git 여기로..