`
longzhun
  • 浏览: 370084 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

ehcache实现网络寻呼

阅读更多

本篇文章为原创,转载请说明出处

 

寻呼最基本的要求就是及时性,然而B/S架构的系统属于请求应答模式,所以服务器不能直接通知客户端后台的数据变化
一般我们为了解决这个问题就是要前端异步的轮循请求数据,但是这样随着客户端的增加对服务器的压力会随之增大,所以
我们可以取一个折中的办法,就是使用缓存。这样我们的服务器不会每次请求都去数据库中取而是在缓存中查询,这样每次回话
时间就会减少,响应的压力也会有所降低,但不会没有。

 

缓存的切入点:

1.用户登录时将该用户未读的寻呼加入缓存
2.用户退出时将该用户的寻呼缓存清除
3.其他人发寻呼时如果发送对象是在线用户,需要更新缓存
4.用户点击已阅寻呼时,需要更新缓存
5.寻呼回复,需要更新缓存

 

 

缓存采用ehcache+spring集成。如果想看详细配置过程介绍,请看此文章

这里就不详细介绍每个配置的含义了

 

首先创建ehcache.xml

<?xml version="1.0" encoding="UTF-8"?>
<ehcache>
	<diskStore path="java.io.tmpdir/jcs" />
	<defaultCache maxElementsInMemory="10000" overflowToDisk="true" eternal="false"
		memoryStoreEvictionPolicy="LRU" maxElementsOnDisk="10000000" diskExpiryThreadIntervalSeconds="600"
		timeToIdleSeconds="3600" timeToLiveSeconds="100000" diskPersistent="false" />
	
	<cache name="callCache" overflowToDisk="false" eternal="true" diskPersistent="false" timeToLiveSeconds="3600" timeToIdleSeconds="3600" maxElementsInMemory="10000" memoryStoreEvictionPolicy="LRU" ></cache>
</ehcache>

	

 

 第二步:配置spring-ehcache.xml

 

<?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:jee="http://www.springframework.org/schema/jee"
	xmlns:tx="http://www.springframework.org/schema/tx" xmlns:context="http://www.springframework.org/schema/context" xmlns:aop="http://www.springframework.org/schema/aop"
	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-2.5.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd"
	default-lazy-init="true"
>
	<description>EhCache配置文件</description>
	<!-- EHCache 缓存配置 -->
	<bean id="cacheManager" class="org.springframework.cache.ehcache.EhCacheManagerFactoryBean">
		<property name="configLocation" value="classpath:ehcache.xml" />
	</bean>
	<!-- 网络寻呼缓存 -->
	<bean id="callCache" class="org.springframework.cache.ehcache.EhCacheFactoryBean">
		<property name="cacheManager">
			<ref local="cacheManager" />
		</property>
		<property name="cacheName">
			<value>callCache</value>
		</property>
	</bean>
</beans>

 

经上面2步配置就完了

接下来编写接口ICallCacheService

public interface ICallCacheService {
	public int getSizeOfUser(String userId);
	public void putCallInCache(String userId);
	public void removeCallFormCache(String userId);
	public boolean isExist(Serializable key);
	public List get(Serializable key);
	public void remove(Serializable key);
	public List get(Serializable key,int pageSize);
	public void put(Serializable key,List<Serializable> value);
	public void removeCall(Serializable key,String receiveId);
}

 编写实现类

@Transactional
@Component("callCacheService")
public class CallCacheService implements ICallCacheService {
	
	@Resource(name="callCache")
	private Cache callCache;

	@Autowired
	@Qualifier("callReceiveService")
	private ICallReceiveService callReceiveService;

 具体怎么实现每一个方法就没贴代码了,不是很复杂

 

最后结合上面提到的缓存切入点

什么时候put进缓存,什么时候clear缓存

 

1
0
分享到:
评论

相关推荐

    Spring 与Ehcache实现基于方法的缓存

    本篇文章将详细探讨如何在Spring框架中集成并实现基于方法的缓存机制,利用Ehcache来优化数据访问。 首先,我们需要理解Spring的AOP概念,AOP允许我们定义横切关注点,如日志、事务管理或,正如在这个案例中,缓存...

    SpringBoot 集成Ehcache实现缓存

    ### Spring Boot集成Ehcache实现缓存 #### 一、Ehcache简介 Ehcache是一个高效的纯Java进程内缓存框架,以其快速且轻便的特点而被广泛应用于各种应用场景中,尤其在Java EE和轻量级容器环境中更是受到青睐。...

    springboot+mybatis+ehcache实现缓存数据

    在本文中,我们将深入探讨如何使用SpringBoot、MyBatis和Ehcache来实现缓存数据。Ehcache是一款高效且易于使用的Java内存缓存框架,对于提升应用程序性能,尤其是在处理大量数据时,能起到显著作用。虽然在分布式...

    Hibernate + EhCache 实现数据缓存的处理

    本篇将详细探讨如何使用Hibernate ORM框架结合EhCache实现数据缓存的处理,从而提高系统的响应速度。 Hibernate是一个流行的Java持久化框架,它提供了一种便捷的方式来映射对象关系模型(ORM)到关系数据库。然而,...

    Spring4 整合EhCache实现 页面缓存 零配置

    在本文中,我们将深入探讨如何使用Spring4框架与EhCache进行整合,以实现零配置的页面缓存功能。EhCache是一个广泛使用的开源Java缓存解决方案,它提供了高效的内存和磁盘缓存机制,有助于提升应用程序性能。通过...

    Spring Boot中使用EhCache实现缓存支持

    ### Spring Boot中使用EhCache实现缓存支持 #### 概述 在现代软件开发过程中,缓存技术已经成为提升系统性能的重要手段之一。通过减少对底层数据存储的频繁访问,缓存可以有效缓解数据库压力,加快应用响应速度。...

    37. Spring Boot集成EHCache实现缓存机制【从零开始学Spring Boot】

    在本教程中,我们将深入探讨如何使用Spring Boot集成EHCache来实现高效的缓存机制。Spring Boot简化了配置过程,使得我们可以快速地将EHCache引入到我们的应用中,从而提高应用程序的性能,减少对数据库或其他资源的...

    ehcache的功能实现

    在本文中,我们将深入探讨Ehcache的功能实现以及如何与Spring框架进行集成,同时通过两个项目实例——`TestEhcacheSpring.zip`和`TestEhcache.zip`来具体说明。 ### Ehcache核心功能 1. **缓存管理**: Ehcache允许...

    借助Ehcache缓存框架实现对页面的缓存Demo

    2、由于要实现Ehcache缓存页面,所以必须要添加“ehcache-web-2.0.4.jar” jar包,该jar包主要用于辅助Ehcache实现页面缓存 注意: 本web工程的发布不要使用Tomcat7,否则会出现如下异常: 2015-3-25 9:53:50 org....

    配置EhCache二级缓存

    ### 配置EhCache二级缓存 #### 一、简介 EhCache是一个高性能、易于使用的开源缓存系统,最初由 Terracotta 组织开发。它支持多种缓存模型,包括本地缓存和分布式缓存。由于其简单易用且功能强大,EhCache 成为了 ...

    SpringAOP结合ehCache实现简单缓存实例

    本文将深入探讨如何结合Spring AOP与EhCache实现一个简单的缓存实例,以便优化Java应用的运行效率。 首先,让我们了解Spring AOP。Spring AOP是Spring框架的一部分,它允许我们在不修改业务代码的情况下,通过定义...

    ehcache.jar及源码

    6. **分布式缓存(Distributed Caching)**:Ehcache可以通过网络在多台机器之间共享缓存数据,实现分布式缓存,提高系统的可扩展性。 7. **事件监听(Event Listeners)**:Ehcache支持添加监听器来监控缓存操作,例如...

    Ehcache分布式缓存与其在SpringBoot应用

    在分布式环境中,Ehcache通过使用JGROUP来实现分布式缓存。JGROUP是一个用于构建可靠集群通信的库,可以提供组成员资格、故障检测、传输协议等多种功能,使得Ehcache能够在多个节点之间共享和同步缓存数据。Ehcache...

    ehcache.xsd_ehcache.xml代码提示.rar

    3. IDE集成:将ehcache.xsd导入到IDE(如IntelliJ IDEA、Eclipse等)中,可以实现代码提示和自动完成,提高开发效率,减少因配置错误导致的问题。 4. XML配置:ehcache.xml是Ehcache的配置文件,通过它来设定缓存的...

    springboot+EHcache 实现文章浏览量的缓存和超时更新

    springboot+EHcache 实现文章浏览量的缓存和超时更新 springboot+EHcache 实现文章浏览量的缓存和超时更新是指通过springboot框架和EHcache缓存机制来实现文章浏览量的缓存和超时更新,以解决高访问量网站对数据库...

    ehcache监控工具ehcache-monitor-kit-1.0.3

    1.解压缩到目录下,复制ehcache-monitor-kit-1.0.0\lib\ehcache-probe-1.0.0.jar包到application的web-inf/lib目录下 2.将以下配置copy的ehcache.xml文件的ehcache标签中,注:上述链接中说的配置少写了个probe包名...

    spring + ehcache + redis两级缓存

    在缓存管理方面,Spring 提供了 Spring Cache抽象层,可以方便地集成各种缓存实现,如Ehcache、Hazelcast或Redis。 **Ehcache** 是一个广泛使用的Java缓存库,适合在内存中存储数据。它提供了一种快速访问最近使用...

    Ehcache 简单的监控

    内存缓存用于存储最近使用的数据,以实现快速访问;磁盘存储用于保存当内存满时的数据,保证数据不丢失;而缓存复制则是在分布式环境下,确保多节点间的数据一致性。 对于监控Ehcache,我们可以利用Ehcache提供的...

    ehcache2.6.5.rar

    8. ** Terracotta 集群支持**:通过集成 Terracotta,Ehcache 可以实现跨服务器的缓存同步,为大型企业级应用提供解决方案。 9. **与MyBatis的整合**:MyBatis 是一个流行的SQL映射框架,Ehcache 可以作为其二级...

Global site tag (gtag.js) - Google Analytics