Git 项目推荐 | 基于 J2Cache 的多级缓存框架

基于j2cache的理念,重新设计开发的一套分布式缓存。支持2级并不限于2级的多级缓存系统。

github地址:atoms

配置文件:

<?xml version="1.0" encoding="UTF-8"?><atoms>
    <broadcast type="redis" >
        <broadcastConfig host="192.168.1.53" port="6379"/>
    </broadcast>
    <serializer type="fst"/>
    <cache level="1" type="ehcache" delete_atom="true" ><!-- expiredOperator="update" waitTime="100" --><!-- expiredOperator: update,delete  当为update时waitTime有效-->
        <cacheConfig configFile="ehcache.xml"/>
    </cache>
    <cache level="2" type="redis">
        <cacheConfig host="192.168.1.53" port="6379" timeout="2000" database="13" namespace="atoms" maxTotal="-1" maxIdle="2000"
         maxWaitMillis="100" minEvictableIdleTimeMillis="864000000" minIdle="1000" numTestsPerEvictionRun="10" lifo="false"
         softMinEvictableIdleTimeMillis="10" testOnBorrow="true" testOnReturn="false" testWhileIdle="false" timeBetweenEvictionRunsMillis="300000"
         blockWhenExhausted="true" password=""/>
    </cache>
    <cache level="3" type="redis">
        <cacheConfig host="192.168.1.22" port="6379" timeout="2000" database="13" namespace="atoms" maxTotal="-1" maxIdle="2000"
         maxWaitMillis="100" minEvictableIdleTimeMillis="864000000" minIdle="1000" numTestsPerEvictionRun="10" lifo="false"
         softMinEvictableIdleTimeMillis="10" testOnBorrow="true" testOnReturn="false" testWhileIdle="false" timeBetweenEvictionRunsMillis="300000"
         blockWhenExhausted="true" password=""/>
    </cache></atoms>

使用代码:

CacheChannel cc=CacheChannel.getInstance();cc.set("jobell", "hello", "nihaoya");cc.evict("jobell", "hello");while(true){
    Object value=cc.get("jobell", "hello");
    if(value==null){
        System.out.println("==============="+value);
    }else{
        System.out.println("==============="+value);
    }}

原文发布于微信公众号 - 码云Gitee(mayunOSC)

原文发表时间:2016-06-30

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Java技术分享

SpringBoot第5小节:事务管理

场景:执行2条sql语句,要么同时成功,要么同时失败。 同时操作1条或多条数据时,建议给方法加个@Transactional,查询的时候不用加事务。 ?

37260
来自专栏菩提树下的杨过

"org.jboss.netty.internal.LoggerConfigurator".DESCRIBED is already registered 的解决办法

今天在jboss 6.2 EAP上部署一个项目时,报以下错误: org.jboss.msc.service.DuplicateServiceException:...

290100
来自专栏逸鹏说道

Mongodb中经常出现的错误 child process failed, exited with error number

异常处理汇总-服 务 器 http://www.cnblogs.com/dunitian/p/4522983.html 异常处理汇总-数据库系列 http:/...

44950
来自专栏无原型不设计

【Mockplus教程】为什么删除多个页面的时候会有提示,如何取消提示?

为了防止误操作,在删除三个及以上页面的时候,Mockplus默认会给出输入“delete”字符 完成删除的确认提示,如下图: ? 要去掉这个提示,在设置中...

27860
来自专栏从零学习云计算

openshift/origin学习记录(11)——赋予用户集群管理员权限

由于system:admin默认没有密码,没法登录web console,这里通过指令给账号dev赋予集群管理员权限。 # oc login -u sys...

34500
来自专栏Golang语言社区

Golang语言--反射的用处--代码自动生成

背景: go语言处理db、json的时候,具体代码的变量定义和db字段、json输出的时候可能不一样。 这个时候,我们需要用tag的方式来进行定义。 例如: ?...

44260
来自专栏王小雷

React Natvie在Mac os上安装并创建项目

详细记录React-Native 0.47版本在Mac OS 上安装过程并初始化项目。 ? 1. 安装RN环境 1.1 安装brew /usr/bin/ruby...

23860
来自专栏深度学习之tensorflow实战篇

Hadoop查看所有JOB以及如何Kill指定用户的所有Job

如何kill掉制定用户的所有job,有没有现成的命令?我看了一下hadoop job命令的提示,没有这样的命令。 其实实现kill指定用户的job也非常简单,本...

32460
来自专栏小白安全

本地搭建安全狗无法安装插件问题的解决方法

一般是由于找不到apache服务名 其实很简单就可以解决的。 安装步骤:进入Apache安装目录下的bin目录: cd D:phpStudyAp...

35160
来自专栏不想当开发的产品不是好测试

linux free命令下 cached占用很大

# 背景 使用free -h命令,展示如下: ? # 解决方法 先执行sync命令,同步数据 然后执行 echo 1 > /proc/sys/vm/drop_c...

40850

扫码关注云+社区

领取腾讯云代金券