b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

ehcache memcache 区别_ehcache缓存原理_ehcache使用(15)

电脑杂谈  发布时间:2017-01-12 01:04:37  来源:网络整理

运行结果如下:

说明:

guava中使用缓存需要先声明一个CacheBuilder对象,并设置缓存的相关参数,然后调用其build方法获得一个Cache接口的实例。

13.2 Callable方式

方法原型如下:get(K, Callable<V>)

这个方法返回缓存中相应的值,如果未获取到缓存值则调用Callable方法。这个方法简便地实现了模式"如果有缓存则返回;否则运算、缓存、然后返回"。

看示例代码如下:

 Cache<String, String> cache = CacheBuilder.newBuilder().maximumSize(1000).build();  
        String resultVal = cache.get("test", new Callable<String>() {  
            public String call() {  
                //未根据key查到对应缓存,设置缓存
                String strProValue="test-value"             
                return strProValue;
            }  
        });  

      System.out.println("return value : " + resultVal);  
    }

13.3 缓存过期删除

guava的cache数据过期删除的方式有二种,分别是主动删除和被动删除二种。

被动删除三种方式

基于条数限制的删除

使用CacheBuilder.maximumSize(long)方法进行设置。

注意点:

1、这个size不是容量大小,而是记录条数。

2、使用CacheLoader方式加载缓存的时候,在并况下如果一个key过期删除,正好同时有一个请求获取缓存,有可能会报错。

基于过期时间删除

在Guava Cache中提供了二个方法可以基于过期时间删除

1、expireAfterAccess(long, TimeUnit):某个key最后一次访问后,再隔多长时间后删除。

2、expireAfterWrite(long, TimeUnit):某个key被创建后,再隔多长时间后删除。

基于引用的删除

通过使用弱引用的键、或弱引用的值、或软引用的值,Guava Cache可以把缓存设置为允许垃圾回收。

主动删除三种方式

个别清除:Cache.invalidate(key)

批量清除:Cache.invalidateAll(keys)

清除所有缓存项:Cache.invalidateAll()


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-25691-15.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    • 高桥美佳子
      高桥美佳子

      把自己的家慢慢败掉

    • 吴彩鸾
      吴彩鸾

      详见我昨天文章

      • 德鲁
        德鲁

        所以一线人员有权直接开火

    • 李嵘
      李嵘

      随着排水量达12000吨的055型驱逐舰的建造服役

    热点图片
    拼命载入中...