当前位置: 首页 > 软件库 > 程序开发 > 缓存系统 >

coca

Java 的协同缓存框架
授权协议 Apache
开发语言 Java
所属分类 程序开发、 缓存系统
软件类型 开源软件
地区 国产
投 递 者 皮安顺
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

coca = co + ca
===================================
Co-Cache 协同缓存框架

核心概述

  • coca-ca 实现多级缓存调度策略,使用方式如下:
    • 继承Ca,实现不同的缓存操作,可参考CaGuava、CaRedis. Ca实例放入CaStack中实现调度
    • CaStack和CaPolicy实现了对多级缓存的读写操作控制, 具体参考下文示例
    • 一个Ca可放入不同的CaStack实现不同的读写处理
    • 注意,Ca不用时记得释放资源Ca.close, 一般的关闭次序为CaStack.close -> Ca.close
  • coca-co 实现多机Co实例之间的组消息同步,使用时主要的配置如下:
    • CoIns定义消息的格式, CoIns = Ins(指令定义,说明含义) + data(数据内容)
    • 继承CoInsFactory实现自定义CoIns创建工厂
    • 继承GroupChannelSelector实现自定义的组通道创建,可参考RedisChannelSelector、RMQChannelSelector
    • 通过conf配置自定义实现,详见BasicCo.newCo(Map<String,String> conf)
    • 通过Co.pub发送指令、Co.sub接收指令,可看考Coca里的实现方式
  • coca-api 组合ca和co功能
    • 可以看作是co和ca如何使用的参考实现,可用于多级缓存同步更新、配置信息修改实时通知等场景
    • 如多个jvm堆缓存(1级)+redis(2级)场景,常见需求是任一jvm堆更新后同步修改其他jvm和redis
  • 其他工程包含ca或co的具体实现
 相关资料
  • 问题内容: 我正在使用Nodejs和Express Js。另外,我将NowJS添加到Express Js中以进行一些实时处理。 在配置文件中,我有 然后使用以下命令运行该应用程序: 但是,文件(图像,css,js)似乎没有被缓存,它们总是作为新文件提供。 P / s:我刚刚在localhost上进行了测试,缓存似乎可以在localhost上运行,但是,当上传到服务器时,缓存不再起作用。 问题答案:

  • 本文向大家介绍详解Java的Hibernate框架中的缓存与二级缓存,包括了详解Java的Hibernate框架中的缓存与二级缓存的使用技巧和注意事项,需要的朋友参考一下 缓存 今天我们就来讲一下hibernate中实体状态和hibernate缓存。  1)首先我们先来看一下实体状态:  实体状态主要分三种:transient,persitent,detached。  看英文应该就大概明白了吧。

  • 在Spring有什么方法可以达到同样的效果。 我确实在这里查看了@cacheable http://www.baeldung.com/spring-cache-tutorial 但是我无法理解我是如何使spring使用我的“memcached”类的,更具体地说,我在哪里连接我的“memcached”类,以便它可用于上面示例中的类“abc

  • 现在的处理器都是多核处理器,并且每个核都带有多个缓存(指令缓存和数据缓存,见下图)。为什么需要缓存呢,这是因为CPU访问内存的速度比较慢,所以在CPU和内存之间加了个缓存以提高访问速度。既然每个核都有缓存,那么假设两个核或者多个核同时访问同一个变量时这些缓存是如何进行同步的呢(缓存细分为一个个缓存行),这就有了MESI协议。 MESI中的状态 CPU中每个缓存行(caceh line)使用4种状态

  • 现在的处理器都是多核处理器,并且每个核都带有多个缓存(指令缓存和数据缓存,见下图)。为什么需要缓存呢,这是因为CPU访问内存的速度比较慢,所以在CPU和内存之间加了个缓存以提高访问速度。既然每个核都有缓存,那么假设两个核或者多个核同时访问同一个变量时这些缓存是如何进行同步的呢(缓存细分为一个个缓存行),这就有了MESI协议。 MESI中的状态 CPU中每个缓存行(caceh line)使用4种状态

  • 问题内容: 我有一个Web应用程序,人们需要资源。使用同步哈希映射来缓存此资源以提高效率。这里的问题是,当两个不同的请求同时到达同一未缓存资源时:检索资源的操作占用大量内存,因此我想避免为同一资源多次调用它。 有人可以告诉我以下代码段是否存在任何潜在问题吗?提前致谢。 问题答案: 一个可能的问题是,您通过在一个块内执行来创建不必要的竞争,因此许多线程无法同时检索其(独立)资源。这可以通过使用map

  • 我在java Play Framework作业中使用Caffeine cache实现来缓存传出的http请求,我看到,尽管缓存已经启动并运行,但我的服务仍然每次都访问外部服务器,而不是返回缓存中的值。我看到记录在日志中的键总是相同的。 所以我看到没有设置,所以这可能意味着缓存立即过期。但我仍然不知道如何在配置中设置它 我没有更改我的java代码,如果我需要这样做,我找不到任何示例,或者我只应该有一

  • 本文向大家介绍详解Java的MyBatis框架中的缓存与缓存的使用改进,包括了详解Java的MyBatis框架中的缓存与缓存的使用改进的使用技巧和注意事项,需要的朋友参考一下 一级缓存与二级缓存 MyBatis将数据缓存设计成两级结构,分为一级缓存、二级缓存: 一级缓存是Session会话级别的缓存,位于表示一次数据库会话的SqlSession对象之中,又被称之为本地缓存。一级缓存是MyBatis