小巧的本地缓存Jodd

                                                                       小巧的本地缓存Jodd

 

       说到缓存,大家容易想到memcached和redis,它们大名鼎鼎,但都是远程缓存,需要通过TCP网络访问。

       这些缓存服务器本身性能很好,但不管性能再怎么好,也要通过网络访问,肯定不如本地直接访问内存快。

       说到本地缓存,大家最常用的是google的guava库,这个库也非常好用,但它有一个问题,就是一个内存管理服务只能设置一个过期时间,这对于需要给每一个KV对都要设置过期时间的需求就带来了麻烦,须知,memcached和redis都是可以给每一个KV对设置过期时间的。

       这里介绍另外一个Java库来解决这个问题——Jodd库。

       先上代码:

import jodd.cache.Cache;

import jodd.cache.LRUCache;

 

public class Testor {

   

    private static final int CACHE_SIZE = 1024*1024;

    public static void main(String[] args) {

      

       Cache<String,String> cacheService = new LRUCache<String,String>(CACHE_SIZE);

      

       String testKey = "k1";

      

       cacheService.put(testKey, "v1",1000);

      

       System.out.println(cacheService.get(testKey));

      

       try {

           Thread.sleep(1010);

       } catch (InterruptedException e) {

           // TODO Auto-generatedcatch block

           e.printStackTrace();

       }

      

       System.out.println(cacheService.get(testKey));

 

    }

 

}

 

    该库的使用很简单,也没有guava库的功能强大,但在某些时候很管用。有如下的一些缓存类可供使用:

    FIFOCache   –先进先销毁

       LFUCache    –使用次数最少的先销毁

       LRUCache    –最近最少使用的先销毁

       TimedCache  –不设置缓存大小,按时间过期

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值