由Memcached升级到 Couchbase的 Java 客户端的过程记录(二)

Shiro提供了类似于Spring的Cache抽象,即Shiro本身不实现Cache,但是对Cache进行了又抽象,方便更换不同的底层Cache实现。

shiro对缓存的支持

shiro并没有实现缓存的功能,shiro的缓存支持只是一个抽象的API。这个抽象是基于从多缓存机制的产品之上的。换句话说,shiro可以“坐拥三千妃子”啊。

下面是《Apache Shiro 1.2.x 用户指南》 中文翻译中的内容:
        Shiro
有三个重要的缓存接口:
                CacheManager - 负责所有缓存的主要管理组件,它返回 Cache
实例。
                Cache - 维护key/value 对。
               
CacheManagerAware - 通过想要接收和使用 CacheManager 实例的组件来实现。
        CacheManager
返回Cache 实例,各种不同的Shiro 组件使用这些Cache 实例来缓存必要的数据。任何实现了 CacheManagerAware 的 Shiro
组件将会自动地接收一个配置好的 CacheManager,该 CacheManager 能够用来获取 Cache 实例。

对于Cache的一些概念可以参考《Spring Cache抽象详解》:http://jinnianshilongnian.iteye.com/blog/2001040

Shiro-memcached

源码地址:https://github.com/mythfish/shiro-memcached

用memcached 来实现 shiro 缓存

注意:memcached 仅仅只支持Stirng 类型。此源码采用 Xmemcached 作为memcached的客户端。

Java 连接Memcached 有以下三种方式:

1、采用技术 Memcached

2、采用 spyMemcached

源码:https://github.com/couchbase/spymemcached

3、采用 Xmemcached

与实际结合:

将代码结合到项目中后,启动项目,登录 http://localhost:8091/ 中,查看 DataBuckets 中 default 的Documents。可以看到数据已被放入缓存中

由Memcached升级到 Couchbase的 Java 客户端的过程记录(二)

上一篇:Django使用遇到的各种问题及解决方法


下一篇:Eclipse 下如何引用另一个项目的Java文件