资讯月刊下载
[研发管理] 面对缓存,有哪些问题需要思考?
引用作者|邱家榆 编辑|雨多田光 缓存可以说是无处不在,比如 PC 电脑中的内存、CPU 中的二级缓存、HTTP 协议中的缓存控制、CDN 加速技术都是使用了缓存的思想来解决性能问题。 缓存是用于解决高并发场景下系统的性能及稳定性问题的银弹。 本文主要是讨论我们经常使用的分布式缓存 Redis 在开发过程中的相关思考。 一、 如何将业务逻辑与缓存之间进行解耦? 大部分情况,大家都是把缓存操作 ...
[编程语言] Spring思维导图,让Spring不再难懂(cache篇)
关于缓存 缓存是实际工作中非常常用的一种提高性能的方法。而在java中,所谓缓存,就是将程序或系统经常要调用的对象存在内存中,再次调用时可以快速从内存中获取对象,不必再去创建新的重复的实例。这样做可以减少系统开销,提高系统效率。 在增删改查中,数据库查询占据了数据库操作的80%以上,而非常频繁的磁盘I/O读取操作,会导致数据库性能极度低下。而数据库的重要性就不言而喻了: 数据库通常是企业应用系统 ...
[开源软件] AutoLoadCache 4.14 发布,增加OGNL表达式引擎支持
4.14 修改说明 使用Lambok来缩减代码,Lambok能帮助我们减少写get,set,hashCode,toString等没有技术含量的工作,而且在修改增加或删除java bean中的属性时,不需要去改hashCode,toString等方法,减少因为忘记修改而造成的错误。 增加OGNL表达式引擎支持,经过测试它的性能要比SpringEL表达式还要优秀。测试代码在:com.test.sc ...
[开源软件] AutoLoadCache 4.10 发布,增加Fastjson和数据压缩支 ...
AutoLoadCache 是一个高效的缓存管理解决方案,而且实现了自动加载(或叫预加载)和“拿来主义”机制,能非常巧妙地解决系统的性能及并发问题。 此版本增加了以下两个功能: 1:增加使用fastjson进行序列化与返序列化功能,实现类:com.jarvis.cache.serializer.FastjsonSerializer。使用fastjson时需要注意:由于Json中不保存类型信息,所 ...
[开源软件] AutoLoadCache 4.8 发布,实现了表达式的可扩展性
AutoLoadCache 是一个高效的缓存管理解决方案,而且实现了自动加载(或叫预加载)和“拿来主义”机制,能非常巧妙地解决系统的性能及并发问题。源码:github 4.8 优化JavaScriptParser 中的代码,并根据JDK版本,使用javascript 还是nashorn 引擎。 4.7 修改说明: 修改缓存预警时间值,加入-10~10秒随机数,避免缓存集中失效 实 ...
[开源软件] 缓存管理方案 AutoLoadCache 4.4 发布,完善使用Map ...
AutoLoadCache 是一个高效的缓存管理解决方案,而且实现了自动加载(或叫预加载)和“拿来主义”机制,能非常巧妙地解决系统的性能及并发问题。源码:github 从4.0版本开始支持AOP的扩展,并通过网友Rekoe 完成了nutz的扩展:AutoLoadCache-nutz 从4.3版本开始,使用 ConcurrentHashMap 做本地缓存时,可将缓存中的内容定时持久化到磁盘,然后重 ...
[开源软件] 高效的缓存管理解决方案-AutoLoadCache
AutoLoadCache 是一个高效的缓存管理解决方案,而且实现了自动加载(或叫预加载)和“拿来主义”机制,能非常巧妙地解决系统的性能及并发问题。 现在使用的缓存技术很多,比如Redis、 Memcache 、 EhCache等,甚至还有使用ConcurrentHashMap 或 HashTable 来实现缓存。但在缓存的使用上,每个人都有自己的实现方式,大部分是直接与业务代码绑定,随着业务的变 ...
[开源软件] AutoLoadCache 3.5 发布,增强了缓存设置功能
3.5 增加如下几个功能: 1; 注册自定义Spring EL表达式函数 2: 如果ShardedCachePointCut 中的 hashExpire 小于0则使用@Cache中设置的expire值,替换hashExpire值。 3:增加@ExCache,用于增强@Cache 设置缓存功能。应用场景举例:我们使用getUserByName时,返回User的对象,其实也可以设置给getUser ...
[开源软件] AutoLoadCache 3.3 发布,提升Sping EL 执行效率
AutoLoadCache 3.3 发布,提升Sping EL 执行效率 通过缓存Sping EL 表达式 Expression 来提高表达式的执行效率。 此项目中在一些地方用到 ConcurrentHashMap 有时间再研究一下,针对它的有没有可优化的空间。 最近一些网友在问AutoLoadCache 与Spring Cache有什么区别,接下来我也会研究一下Spring Cache,然后 ...
[开源软件] 缓存管理方案 AutoLoadCache 3.2 发布,进一步优化 ...
3.2 进一步优化“拿来主义”机制 使用当前的ProcessingTO来做同步锁,把锁粒度降到了最低,以提升并发性能; 删除并发线程的计数器; 如果第一个线程执行时出现异常,那等待中的线程,也直接抛出异常,因为此时去执行DAO的出错的可能性非常大,会造成服务器压力过大。 详细内容,请到github上查阅:AutoLoadCache
[开源软件] 缓存管理方案 AutoLoadCache3.1发布,优化“拿来主 ...
3.1 优化“拿来主义”机制 “拿来主义”机制指的是,当有多个请求去获取同一个数据时,我们先让其中一个请求先去DAO中获取数据,并放到缓存中,其它请求则等它完成后,直接去缓存中获取数据,通过这种方式减轻DAO中的并发。 但经测试发现,刚往Reids中放的数据,立即去取是获取不到数据的(无法命中),测试代码已经放到cache-example 中。优化后的方案是,不从远程服务器获取,而是从本地缓存中 ...
[开源软件] 缓存管理方案 AutoLoadCache 3.0 发布,重新设计批量 ...
3.0 此版本做了大调整,有些功能已经不兼容老版本 不再使用默认缓存Key,所有的缓存都必须自定义缓存Key;原来使用$hash()来调用hash函数,改为使用#hash()进行调用。 之前版本中使用通配符(?和*)进行批量删除缓存,这种方法性能比较差,需要多次与Redis进行交互,而且随着缓存Key的数量的增加,性能也会下降,如果有多个Reids实例的话,还需要遍历每个实例。为了解决这个问题, ...
[操作系统] 关于现代CPU,程序员应当更新的知识
从1980年代以来,CPU有哪些新变化?这些变化又是如何影响程序员的?本文将会为你解答这些问题。 原文链接:[url="http://danluu.com/new-cpu-features/ "]http://danluu.com/new-cpu-features/ [/url] 作者:Dan Luu 有人在Twitter上谈到了自己对CPU的认识: 引用 我记忆中的CPU模型 ...
[企业架构] 从四分钟到两秒——谈谈客户端性能优化的一些最佳实践
背景 最近跟售后经理吃饭,他跟我再次谈起两年前为公司临时写的一个客户端,仍然非常激动的跟我说,这个客户端完爆了公司其他版本的客户端,包括最老的Delphi写的,Asp.Net写的,以及最新的Wpf写的客户端。无论是多么大的界面(集成的机房多),这个系统都是瞬间打开,而且运行非常稳定,一旦成功部署之后基本没有任何问题。 这个版本的客户端仅仅只是一个临时替代的版本:原来的Delphi客户端实在是太慢了 ...
[互联网] 谷歌发布mod_pagespeed 1.2,Apache网站优化工具
mod_pagespeed是谷歌于2010年底推出Apache服务器自动优化模块,可以对基于Apache的网站的内容进行自动优化以及智能缓存,从而有效提升网页的加载速度,据统计可以提升50%。 谷歌今天发布了mod_pagespeed 1.2版本,该版本新增了两个功能canonicalize_javascript_libraries和 insert_dns_prefetch,这给首次访问网站的用户 ...
[企业架构] Sapphire Cache 1.1.9 发布,高性能 Java 分布式缓存 ...
Sapphire Cache 1.1.9 beta 已经发布,下载站点:http://code.google.com/p/sapphire-cache/downloads/list 新增: 1. 新增TCP单播集群(NIO模式); 2. 简化Sapphire配置文件,更多缺省支持; 3. 提升约30%分布式并发性能。 Sapphire是一个高并发、高缓存吞吐性、高性能的Java分布 ...
[开源软件] xmemcached 1.3.8发布,开源Java memcached客户端
xmemcached是一个开源的java memcached client,现发布1.3.8版本,主要改进如下: 实现文本协议的touch命令,1.3.6开始支持二进制协议的touch命令,现在使用文本协议也可以使用touch。 添加一个新的接口KeyProvider,用来预处理key(例如对key进行md5 hash、校验等),并为Builder和FactoryBean添加setKeyPro ...