项目作者: ruoo

项目描述 :
基于Redis的Java Method缓存包
高级语言:
项目地址: git://github.com/ruoo/redis-cache.git
创建时间: 2014-11-15T12:04:41Z
项目社区:https://github.com/ruoo/redis-cache

开源协议:Apache License 2.0

下载


Build Status

redis-cache

基于Redis的Method缓存公用jar

使用

添加Jar依赖

  1. <dependency>
  2. <groupId>com.whosenet</groupId>
  3. <artifactId>redis-cache</artifactId>
  4. <version>1.0</version>
  5. </dependency>

Spring配置

  1. <bean id="jedisPoolConfig" class="redis.clients.jedis.JedisPoolConfig">
  2. <property name="maxTotal" value="50" ></property>
  3. <property name="maxIdle" value="10" ></property>
  4. <property name="maxWaitMillis" value="1000" ></property>
  5. <property name="testOnBorrow" value="true" ></property>
  6. </bean>
  7. <bean id="jedisPool" class="redis.clients.jedis.JedisPool">
  8. <constructor-arg index="0" ref="jedisPoolConfig" ></constructor-arg>
  9. <constructor-arg index="1" value="127.0.0.1" ></constructor-arg>
  10. <constructor-arg index="2" value="6379" ></constructor-arg>
  11. </bean>

使用方式

  • 添加缓存
    • key:缓存集合名
    • fieldKey:缓存key,支持SPEL表达式
  1. @Transactional
  2. @Cacheable(key="getAdminByName",fieldKey="#name")
  3. public Admin getByName(String name) {
  4. return adminDao.getByUsername(name);
  5. }
  • 清理缓存
    • key:缓存集合名
    • fieldKey:缓存key,支持SPEL表达式
    • allEntries:是否清除该集合下所有key的缓存(默认false)
  1. @Transactional
  2. @CacheEvict(key="getAdminByName",fieldKey="#admin.username")
  3. public void update(Admin admin){
  4. adminDao.update(admin);
  5. }