Skip to content

Commit

Permalink
Merge pull request #22 from iBase4J/develop
Browse files Browse the repository at this point in the history
缓存优化:Service使用redisson管理数据缓存;Web使用Spring-data-redis管理会话缓存
  • Loading branch information
iBase4J committed Aug 19, 2017
2 parents 094470d + 3699997 commit 0dd575c
Show file tree
Hide file tree
Showing 24 changed files with 819 additions and 367 deletions.
6 changes: 6 additions & 0 deletions iBase4J-Biz-Service/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -98,6 +98,12 @@
<artifactId>aspectjweaver</artifactId>
<version>${aspectj.version}</version>
</dependency>
<!-- 缓存 -->
<dependency>
<groupId>org.redisson</groupId>
<artifactId>redisson</artifactId>
<version>${redisson.version}</version>
</dependency>
<!-- 中文拼音 -->
<dependency>
<groupId>com.belerweb</groupId>
Expand Down
2 changes: 1 addition & 1 deletion iBase4J-Biz-Service/src/main/resources/Spring-config.xml
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@
<!-- <import resource="spring/mq.xml"/> -->
<import resource="spring/dubbo.xml" />
<!-- <import resource="spring/motan.xml" /> -->
<import resource="spring/redis.xml"/>
<import resource="spring/redisson.xml"/>
<import resource="spring/mybatis.xml"/>
<import resource="spring/dataSource.xml"/>
</beans>
11 changes: 11 additions & 0 deletions iBase4J-Biz-Web/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,17 @@
<artifactId>spring-session</artifactId>
<version>${spring-session.version}</version>
</dependency>
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-redis</artifactId>
<version>${spring-data-redis.version}</version>
</dependency>
<!-- 缓存 -->
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>${jedis.version}</version>
</dependency>
<!-- shiro -->
<dependency>
<groupId>org.apache.shiro</groupId>
Expand Down
1 change: 0 additions & 1 deletion iBase4J-Biz-Web/src/main/resources/Spring-config.xml
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,6 @@
<!-- <import resource="spring/mq.xml"/> -->
<import resource="spring/dubbo.xml" />
<!-- <import resource="spring/motan.xml" /> -->
<import resource="spring/redis.xml" />
<import resource="spring/session.xml" />
<import resource="spring/shiro.xml" />
</beans>
16 changes: 16 additions & 0 deletions iBase4J-Common/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -75,12 +75,28 @@
<artifactId>spring-oxm</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-redis</artifactId>
<version>${spring-data-redis.version}</version>
</dependency>
<!-- 切面 -->
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjrt</artifactId>
<version>${aspectj.version}</version>
</dependency>
<!-- 缓存 -->
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>${jedis.version}</version>
</dependency>
<dependency>
<groupId>org.redisson</groupId>
<artifactId>redisson</artifactId>
<version>${redisson.version}</version>
</dependency>
<!-- shiro -->
<dependency>
<groupId>org.apache.shiro</groupId>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ public KeyGenerator keyGenerator() {
return new KeyGenerator() {
/** 重写生成key方法 */
public Object generate(Object o, Method method, Object... objects) {
StringBuilder sb = new StringBuilder(Constants.CACHE_NAMESPACE);
StringBuilder sb = new StringBuilder(Constants.CACHE_NAMESPACE + "M:");
CacheConfig cacheConfig = o.getClass().getAnnotation(CacheConfig.class);
Cacheable cacheable = method.getAnnotation(Cacheable.class);
CachePut cachePut = method.getAnnotation(CachePut.class);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,7 @@
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.ibase4j.core.Constants;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.ibase4j.core.util.CacheUtil;

/**
* 会话监听器
Expand All @@ -19,8 +18,6 @@
public class SessionListener implements HttpSessionListener {
private Logger logger = LogManager.getLogger(SessionListener.class);

@Autowired
RedisTemplate<String, String> redisTemplate;
/*
* (non-Javadoc)
*
Expand All @@ -32,7 +29,7 @@ public void sessionCreated(HttpSessionEvent event) {
HttpSession session = event.getSession();
session.setAttribute(Constants.WEBTHEME, "default");
logger.info("创建了一个Session连接:[" + session.getId() + "]");
redisTemplate.opsForSet().add(Constants.ALLUSER_NUMBER, session.getId());
CacheUtil.getCache().sadd(Constants.ALLUSER_NUMBER, session.getId());
}

/*
Expand All @@ -48,11 +45,11 @@ public void sessionDestroyed(HttpSessionEvent event) {
logger.info("销毁了一个Session连接:[" + session.getId() + "]");
}
session.removeAttribute(Constants.CURRENT_USER);
redisTemplate.opsForSet().remove(Constants.ALLUSER_NUMBER, session.getId());
CacheUtil.getCache().sdel(Constants.ALLUSER_NUMBER, session.getId());
}

/** 获取在线用户数量 */
public Integer getAllUserNumber() {
return redisTemplate.opsForSet().size(Constants.ALLUSER_NUMBER).intValue();
return CacheUtil.getCache().sall(Constants.ALLUSER_NUMBER).size();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -32,11 +32,17 @@ public interface CacheManager {

void unlock(String key);

void hset(String key, String field, String value);
void hset(String key, Serializable field, Serializable value);

Object hget(String key, String field);
Object hget(String key, Serializable field);

void hdel(String key, String field);
void hdel(String key, Serializable field);

boolean setnx(String key, Serializable value);
boolean setnx(String key, long value);

void sadd(String key, Serializable value);

Set<Object> sall(String key);

boolean sdel(String key, Serializable value);
}

This file was deleted.

Loading

0 comments on commit 0dd575c

Please sign in to comment.