cache

Sapphire Cache 1.1.7(附bata版本)

风格不统一 提交于 2020-03-02 07:45:47
Sapphire Cache Framework API Sapphire是一个高并发、高缓存吞吐性、高性能的Java分布式内存对象缓存系统,其具有简单易学、方便实用等特点。它能够用来存储各种格式的数据,包括图像、视频、文件以及数据库检索的结果等。简单的说就是将数据源中的数据临时存储于内存中,然后从内存中读取,从而大大提高读取速度。 Sapphire目前最新版本为1.1.7-beta,主要特性包含: 1.敏捷快速; 2.体系结构中立、跨平台支持; 3.多种缓存管理容器实现; 4.多种缓存策略(LRU、LUF、RDM); 5.支持缓存注解服务驱动(Annotation方式直接缓存方法); 6.支持缓存持久化及加载虚拟机运行期数据; 7.单个缓存最大缓存容量为1gByte; 8.支持缓存容量单位设置(byte、kByte、mByte、gByte) 9.支持TCP单播集群、P2P多播、组播集群、RMI多播集群; 1.Sapphire Framework包目录结构: org.sapphire.cache:sapphire基础包; org.sapphire.cache.annotation:sapphire注解服务包; org.sapphire.cache.bean.config:sapphire配置DTO包; org.sapphire.cache.cleanup:sapphire缓存回收包

TangYuan使用教程-缓存

假装没事ソ 提交于 2019-12-10 23:03:57
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 8. 缓存 简介 tangyuan框架中本身提供了LocalCache的缓存功能,并整合了一些第三方缓存框架,包括encache、memcache和redis,我们只需要做一些简单的配置即可使用缓存功能;同时tangyuan框架还提供了对用户自定义缓存的支持,在后面内容中将会给大家详细介绍。 在tangyuan中,缓存基本的操作有三个,取数据(get),放数据(put)和清除数据(clean);get就是从缓存容器中获取数据,put就是把数据放入缓存容器中,clean就是根据用户指定的key,清除容器中对应的缓存数据。 8.1 缓存的配置 tangyuan提供了两种功能的缓存配置方式;一种是独立缓存,另一种是缓存组;缓存组其实是多个独立缓存或者缓存组的集合,下面将给出给出具体的配置示例和说明。 1. 独立缓存 示例1: <cache id="cache1" type="local"> <property name="strategy" value="time"/> <property name="survivalTime" value="10"/> <property name="log" value="true"/> </cache> 说明: 示例1中配置了一个id为cache1的独立缓存

企业开发珠玑-缓存

余生长醉 提交于 2019-12-10 02:36:35
一、缓存实际把我们数据划分为静态和动态数据,直接影响数据库设计。这里的静是相对的,不是绝对静,请不要死脑筋。 这一点很容易理解,经常变化的数据不做缓存,相对静止数据做缓存 二、缓存影响我们的架构模式,影响我们的前端设计,增加我们的异步行为,让我们在编码中也动静分离。 1)局部刷新模式。经常用到的模式例子就是产品-库存,产品的描述部分是固定的,但是库存是不停的消耗补充的。协调到前端就是,打开产品页后,ajax异步不停的刷库存。诸如此类细节数据动态变更都使用此模式。 2)内存数据库模式。在编码中例子就是涉及一些静态数据的反复使用,如我们公司的产品分类很多,据此衍生出的优惠等计算需求很多,分类数据读进内存后就当内存数据库使用了,效率极高。常用的一级二级缓存也类似 3)动静分离。数据库设计结构优化 三、产生优势:减少数据库查询或者读写瓶颈,提高响应效率;减少网络带宽消耗;减少网络延迟,加快页面打开速度;降低服务器压力 来源: oschina 链接: https://my.oschina.net/u/3808/blog/511002

ceph cache pool配置

半腔热情 提交于 2019-12-06 08:16:52
0.引入 本文介绍如何配置cache pool tiering. cache pool的作用是提供可扩展的cache,用来缓存ceph的热点数据或者直接用来作为高速pool。如何建立一个cache pool:首先利用ssd盘做一个虚拟的bucket tree, 然后创建一个cache pool,设置其crush映射rule和相关配置,最后关联需要用到的pool到cache pool。 1.建立ssd bucket tree 这 是新增ssd bucket(vrack)后的osd tree。其中osd.1 osd.0 osd.2使用的是ssd盘。如何创建将简单,无非是调整或新增osd到bucket tree下。 # ceph osd tree ID WEIGHT TYPE NAME UP/DOWN REWEIGHT PRIMARY-AFFINITY -1 6.00000 root default -2 6.00000 room test -3 3.00000 rack r1 -7 1.00000 host H09 3 1.00000 osd.3 up 1.00000 1.00000 -9 1.00000 host H07 5 1.00000 osd.5 up 1.00000 1.00000 -10 1.00000 host H06 6 1.00000 osd.6 up 1.00000

实操 Web Cache (第二版)

南楼画角 提交于 2019-12-04 02:14:55
实操 Web Cache http://netkiller.github.io/journal/cache.html Mr. Neo Chen (陈景峰), netkiller, BG7NYT 中国广东省深圳市龙华新区民治街道溪山美地 518131 +86 13113668890 +86 755 29812080 < netkiller@msn.com > $Id 版权声明 转载请与作者联系,转载时请务必标明文章原始出处和作者信息及本声明。 文档出处: http://netkiller.github.io http://netkiller.sourceforge.net 2015-08-27 摘要 写这篇文章的原因,是我看到网上很多谈这类的文章,多是人云亦云,不求实事,误导读者。 下面文中我会一个一个做实验,并展示给你,说明为什么会这样。只有自己亲自尝试才能拿出有说服力的真凭实据。 2014-03-12 首次发布 2015-08-27 修改,增加特殊数据缓存 我的系列文档 Netkiller Architect 手札 Netkiller Developer 手札 Netkiller PHP 手札 Netkiller Python 手札 Netkiller Testing 手札 Netkiller Cryptography 手札 Netkiller Linux 手札

浏览器缓存详解:expires,cache-control,last-modified,etag详细说明

徘徊边缘 提交于 2019-12-04 02:14:31
最近在对CDN进行优化,对浏览器缓存深入研究了一下,记录一下,方便后来者 画了一个草图: 每个状态的详细说明如下: 1 、 Last-Modified 在浏览器第一次请求某一个 URL 时,服务器端的返回状态会是 200 ,内容是你请求的资源,同时有一个 Last-Modified 的属性标记 (HttpReponse Header) 此文件在服务期端最后被修改的时间,格式类似这样: Last-Modified:Tue, 24 Feb 2009 08:01:04 GMT 客户端第二次请求此 URL 时,根据 HTTP 协议的规定,浏览器会向服务器传送 If-Modified-Since 报头 (HttpRequest Header) ,询问该时间之后文件是否有被修改过: If-Modified-Since:Tue, 24 Feb 2009 08:01:04 GMT 如果服务器端的资源没有变化,则自动返回 HTTP304 ( NotChanged. )状态码,内容为空,这样就节省了传输数据量。当服务器端代码发生改变或者重启服务器时,则重新发出资源,返回和第一次请求时类似。从而保证不向客户端重复发出资源,也保证当服务器有变化时,客户端能够得到最新的资源。 注:如果 If-Modified-Since 的时间比服务器当前时间 ( 当前的请求时间 request_time) 还晚

Guava库学习:学习Guava Cache(六)CacheStats

我只是一个虾纸丫 提交于 2019-12-03 17:47:33
原文地址: Guava库学习:学习Guava Cache(六)CacheStats 上一篇, Guava库学习:学习Guava Cache(五)CacheLoader 中, 我们学习了CacheLoader抽象类,主要是其中的from方法,接收一个Function或Supplier,返回一个CacheLoader实 例,至此,我们已经了解了如何创建一个强大的缓存机制,接下来,我们想要收集缓存执行或使用后的一些统计信息,又该怎么做呢?现在开始本篇,Guava Cache CacheStats的学习。 Guava Cache提供了一种非常简便的方式,用于收集缓存执行的统计信息,需要注意的是,跟踪缓存操作将会带来性能的损失,想要收集缓存的信息,我们只需要在使用CacheBuilder的时候声明我们想要收集统计信息即可: LoadingCache<String,TradeAccount> tradeAccountCache = CacheBuilder.newBuilder() .recordStats() 上面的代码,我们通过建造者模式构造了一个LoadingCache实例,想要启用缓存信息的统计,我们唯一要做的就是在builder里面通过 recordStats() 注册,而想要获取统计的信息,我们只需要通过Cache或LoadingCache调用stats()方法

Guava库学习:学习Guava Cache(七)RemovalListener(1)

天涯浪子 提交于 2019-12-03 17:47:22
原文地址: Guava库学习:学习Guava Cache(七)RemovalListener(1)_RemovalNotification 上一篇, Guava库学习:学习Guava Cache(六)CacheStats 中我们学习了使用CacheStats获取缓存的一些信息,本篇我们继续Guava Cache的学习,在 Guava库学习:学习Guava Cache(三)CacheBuilder 中,我们简单的介绍了如何为缓存增加RemovalListener,接下来,我们详细的介绍RemovalListener_RemovalNotification。 就像名字所表名的,当从缓存中移除一个条目时,RemovalListener会被通知,与Java中的大多数Listener类似,RemovalListener被设计成了一个接口,且有一个onRemoval()方法,可以接收一个RemovalNotification对象,RemovalListener参数化如下: RemovalListener<K,V> 其中,K表示我们想要去监听的键的类型,V表示当缓存条目移除时需要被通知的值的类型,如果我们想要知道任何被移除的条目,可以简单的使用Object做为K 和V的类型。 RemovalNotification

Guava库学习:学习Guava Cache(七)RemovalListener(2)

两盒软妹~` 提交于 2019-12-03 17:47:09
原文地址: Guava库学习:学习Guava Cache(七)RemovalListener(2)_RemovalListeners 接着上一篇 Guava库学习:学习Guava Cache(七)RemovalListener(1)_RemovalNotification ,我们继续Guava Cache RemovalListener的学习,学习Guava Cache(七)RemovalListener(2)_RemovalListeners。 RemovalListeners RemovalListeners能够帮助我们异步的处理,缓存条目移除后的通知,为了让我们的Listener可以在条目被移除时异步的处理通知,我们可以像下面这样调用RemovalListeners. asynchronous方法: private ExecutorService executor; private ListeningExecutorService executorService; @Before public void setUp() { executor = Executors.newCachedThreadPool(); executorService = MoreExecutors.listeningDecorator(executor); } @Test public void

Guava库学习:学习Guava Cache知识汇总

三世轮回 提交于 2019-12-02 09:58:23
原文地址: Guava库学习:学习Guava Cache知识汇总 至此,我们结束了对Guava Cache 缓存机制的学习,在学习过程中,我们学习了如何简单的通过MapMaker创建最简单的ConcurrentMap缓存,我们也了解了缓存的高级特性,以及强大的LoadingCache,我们也探索和学习了CacheBuilder、CacheLoader这些核心的API,以及CacheStats、RemovalLitener等,下面对这些文章做一些汇总,方便以后的查阅和复习。 Guava库学习:学习Guava Cache(一)MapMaker Guava库学习:学习Guava Cache(二)Guava caches(1)_Cache Guava库学习:学习Guava Cache(二)Guava caches(2)_LoadingCache Guava库学习:学习Guava Cache(三)CacheBuilder Guava库学习:学习Guava Cache(四)CacheBuilderSpec Guava库学习:学习Guava Cache(五)CacheLoader Guava库学习:学习Guava Cache(六)CacheStats Guava库学习:学习Guava Cache(七)RemovalListener(1)_RemovalNotification Guava库学习