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

关于分布式缓存

 
阅读更多
最近几天,由于想做tomcat负载均衡,搭建成功后就出现了一个问题,那就是缓存怎么办。我用ibatis的缓存直接做的,所以如果多个tomcat各自的缓存都是在自己进程的内存中,互不相干。这就带来了麻烦。在网上搜索资料,还是有收获的,发现分布式的缓存架构有EHCache,OSCache.
EHCache性能比memcached要好一点,但是客户端只有java的,而memcached是各种语言都有,所以得到了广泛的运用。个人认为memcached很不错,因为我在项目中socket通讯得到的数据都是用它来缓存的,很好用。
OSCache也是一个很好的分布式缓存。但是搭建时容易出现问题,报classnotfindexception。解决方案,是换用jgroups官网的jar包,然后在jvm上修改参数-Djava.net.preferIPv4Stack=true,如果你的系统支持ipv6,而是用的是ipv4协议就修改下。这样服务器就能启动成功了
具体OSCache安装如下
1. 导入oscache-2.4.1.jar(可以到官网下载)

2.定义oscache.properties

#是否使用内存作为缓存空间
cache.memory=true
 
#缓存管理事件监听器,通过这个监听器可以获知当前Cache的运行情况 
#cache.event.listeners=com.opensymphony.oscache.plugins.clustersupport.JavaGroupsBroadcastingListener

#如果使用磁盘缓存(cache.memory=false),则需要指定磁盘存储接口实现
#cache.persistence.class=com.opensymphony.oscache.plugins.diskpersistence.DiskPersistenceListener
 
# 磁盘缓存所使用的文件存储路径
# cache.path=c:\\myapp\\cache

# 缓存调度算法,可选的有LRU,FIFO和无限缓存(UnlimitedCache)  


# cache.algorithm=com.opensymphony.oscache.base.algorithm.FIFOCache
# cache.algorithm=com.opensymphony.oscache.base.algorithm.UnlimitedCache
cache.algorithm=com.opensymphony.oscache.base.algorithm.LRUCache
 
#内存缓存的最大容量
cache.capacity=1000
 
# 是否限制磁盘缓存的容量
# cache.unlimited.disk=false

# 基于JMS的集群缓存同步配置
#cache.cluster.jms.topic.factory=java:comp/env/jms/TopicConnectionFactory
#cache.cluster.jms.topic.name=java:comp/env/jms/OSCacheTopic
#cache.cluster.jms.node.name=node1


3.定义xml

<cacheModel id="userCache" type="OSCACHE">
   <flushInterval hours="24"/>
   <flushOnExecute statement="user_space.insertUsers"/>
   <flushOnExecute statement="user_space.updateUsers"/>
   <property name="size" value="1000" />
  </cacheModel>
到此基本配置完毕。具体的测试细节有时间继续补上...
由于网上缓存的相关文章都是一个样,相互copy。等我把项目搞定后,一定弄一个好的解决方案,这样能方便大家,也为以后自己用上。
分享到:
评论

相关推荐

    hadoop 分布式缓存源码

    关于hadoop的分布式缓存的源码,用于大家的学习,改进hadoop的分布式缓存

    分布式存储+Elasticsearch+数据存储技术+分布式缓存避坑

    性能调优:提供关于配置分片、副本和内存使用的指导,以及如何避免深度分页等性能杀手。 安全性:强调启用安全特性和限制敏感数据访问的重要性。 备份与恢复:介绍定期备份的最佳实践和如何测试恢复流程。 监控和...

    分布式理论系列 论文汇总

    Leases:发表于1989年,租约机制,解决分布式缓存一致性的重要机制,被很多 关于Paxos的历史:关于Paxos的历史性综述。 Paxos Made Simple:发表于 2001 年,解决分布式一致性的重要算法,作者 Leslie

    AntiRedis:Web 应用程序的分布式缓存系统

    我们欢迎关于 JSHint 的各种反馈,包括但不限于: 当 JSHint 没有按预期工作时当 JSHint 抱怨适用于所有浏览器的有效 JavaScript 代码时当您只是想要一个新选项或功能时在报告错误之前,请环顾四周,看看是否有涵盖...

    gemfire-hellogbye-poc:关于如何将Gemfire用作此应用程序的分布式缓存的小样本

    先决条件 要运行此计算机,需要多台计算机。 他们需要一个成员之间至少有10Gb带宽的专用网络。 对于此POC,AWS使用了r3.8xlarge实例。 配置环境 在ServerConfigs项目中,找到environment.sh文件并添加服务器的IP地址...

    machinepack-cache:用于缓存的 Node.js 包装器使用内存或 redis 进行分布式缓存

    机器包缓存 使用内存或 redis 缓存或与之交互 ...关于 这是一个 ,一个根据公开一组相关机器的模块。 此模块中包含的机器的文档页面是自动生成的,并在上保持最新。 执照 麻省理工学院 :copyright: 2015 贡献者

    memcached全面剖析

    目前为止我找到的关于memcached(分布式缓存)最详细的中文资料。

    关于BIG DATA最前沿发展的情况的介绍

    关于BIG DATA最前沿发展的情况的介绍,涉及分布式缓存、基于MPP的分布式数据库、分布式文件系统、各种NoSQL分布式存储方案等。

    详解SQL Server分布式查询

    在分布式查询中,系统架构中关于数据与缓存流向的处理流程是:客户端Client发起请求数据时,首先检查MemCache Server缓存服务器是否有我们想要的数据。如果没有,需要查询数据库,而此时数据要求查询多个远程服务器...

    ehcache3-samples, 关于使用 Ehcache 3,一些示例/教程.zip

    ehcache3-samples, 关于使用 Ehcache 3,一些示例/教程 Ehcache示例这里知识库包含有关 Ehcache 3用法的...示例'basic'演示 Ehcache 3的基本配置和用法'集群'- 演示如何在Terracotta服务器上使用分布式缓存功能'jsr107'

    EnyimMemcached-master

    是著名的Memcached分布式缓存系统在.NET平台下的客户端。 本版本适合.NET 3.5及以上版本的用户使用。关于使用详细说明及示例代码,更多请访问: blog.csdn.net/dinglang_2009

    cache-strategies-benchmark

    关于该存储库包含使用 (一种开源负载测试工具包)的负载测试,该内存使用简单的微服务使用进程内和分布式缓存策略进行,旨在比较和衡量两者之间的延迟影响。 您不应仅通过测量延迟来决定缓存策略。 每种策略都有其...

    基于分布式的发布订阅消息系统Kafka

    Kafka是大数据平台中数据缓存的中间件,资源里有一篇关于Kafka原作者的一篇论文,讲解的很详细。也有两份介绍Kafka使用的PPT,还有Kafka的源代码。

    揭开J2EE集群的面纱 pdf

    4.2.8.2.Tangosol:分布式缓存 5.JNDI集群实现 5.1.共享全局JNDI树 5.2.独立的JNDI 5.3.中央集中JNDI 5.4.初始化对JNDI服务器的访问 6.EJB集群实现 6.1.SMART STUB 6.2.IIOP运行库 6.3.拦截代理 6.4.EJB的集群支持...

    缓存中间件Redis技术入门与应用场景实战(SpringBoot2.x + 抢红包系统设计与实战)

    概要介绍:历经半个多月的时间,Debug呕心沥血、亲自录制的 “缓存中间件Redis技术入门与典型应用场景实战(SpringBoot2.x)”的新课终于完成了,顾名思义,这是一门关于目前相当流行的分布式缓存中间件Redis相关...

    2021互联网大厂Java架构师面试题突击视频教程

    19_先平易近人的随口问你一句分布式缓存的第一个问题 20_来聊聊redis的线程模型吧?为啥单线程还能有很高的效率? 21_redis都有哪些数据类型?分别在哪些场景下使用比较合适呢? 22_redis的过期策略能介绍一下?要不...

    MSSQl分布式查询

    MSSQlServer所谓的分布式查询(DistributedQuery)...先看一下系统架构数据查询基本处理:当然如果采用了分布式查询我们系统采取数据DataBase也就可能在多个远程[RemoteServer]上访问时:如上截取系统架构中关于数据与缓存

    alibabacloud-jindofs:阿里云jindo-sdk

    JindoFS项目包括JindoFS OSS支持,JindoFS分布式缓存系统(JindoFS缓存模式)和JindoFS分布式存储优化系统(JindoFS块模式)。JindoSDK是各个计算组件可以使用JindoFS这些优化扩展功能和模式的套件,包括Hadoop Java...

    2.2.2 云原生go-zero微服务框架设计思考@万俊峰.pdf

    go-zero使用了分布式缓存,易伸缩,并自动生成缓存的统计信息。 服务发现: go-zero使用了ETCD集群进行服务发现,并使用了p2c ewma负载均衡算法。 流控: go-zero的流控设计考虑了请求鉴权、请求参数校验、业务...

Global site tag (gtag.js) - Google Analytics