由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 客户端的过程记录(二)的更多相关文章
- 由Memcached升级到 Couchbase的 Java 客户端的过程记录(一)
		
背景: 在项目启动的选用了Memcached 作为缓存服务器,采用了Xmemcached作为客户端.在项目中使用了Shiro,为了给 Shiro 配置缓存的时候,采用了开源代码 https://g ...
 - 由Memcached升级到 Couchbase的 Java 客户端的过程记录(三)
		
采用之前的源码运行后,我们发现 只有一个配置信息 即servers=127.0.0.1:11211,即 Couchbase Server的服务所在ip 和端口,此时数据直接存在 default 中 根 ...
 - memcached学习——常用命令+基于java客户端的3种简单实现(二)
		
常用命令: memcached设计的原则就是简单,所以支持的命令也不是特别多~ 1.查看memcached的状态,主要用于分析内存的使用状况.优化内存分配等 stats 查看memcached的运行状 ...
 - 使用Java客户端操作elasticsearch(二)
		
承接上文,使用Java客户端操作elasticsearch,本文主要介绍 常见的配置 和Sniffer(集群探测) 的使用. 常见的配置 前面已介绍过,RestClientBuilder支持同时提供一 ...
 - mysql基础-数据库初始化操作必要步骤和客户端工具使用-记录(二)
		
0x01 mysql启动时,读取配置文件的顺序 Default options are read from the following files in the given order:/etc/my ...
 - IOS客户端Coding项目记录(二)
		
9:第三方插件整理 JSON转实体:jsonModel https://github.com/icanzilb/JSONModel/ 美化按键:BButton https://github.com/m ...
 - (转)Memcached 在windows下的java使用
		
Memcached 在windows下的java使用 研究这个东东主要是为了解决在教务管理中选课系统的大并发情况下数据库频繁读写造成速度慢的问题,但要使用WEB服务器的内存,是不是可靠还需要验证, ...
 - IOS客户端Coding项目记录导航
		
IOS客户端Coding项目记录(一) a:UITextField设置出现清除按键 b:绘画一条下划线 表格一些设置 c:可以定义表头跟底部视图(代码接上面) d:隐藏本页的导航栏 e:UIEdge ...
 - JAVA客户端API调用memcached两种方式
		
1. memcached client for java客户端API:memcached client for java 引入jar包:java-memcached-2.6.2.jar package ...
 
随机推荐
- jQuery介绍 DOM对象和jQuery对象的转换与区别
			
jQuery介绍 DOM对象和jQuery对象的转换与区别 jQuery介绍 jQuery: http://jquery.com/ write less, do more. j ...
 - configure Git to accept a particular self-signed server certificate for a particular https remote
			
get the self signed certificate put it into some (e.g. ~/git-certs/cert.pem) file set git to trust t ...
 - rails中的session
			
学rails toturial的时候,第八章一直觉得有点没吃透,后来看了两篇rails关于session和cookies源码分析的文章,cookie原理与实现(rails篇) 和session原理与实 ...
 - GitHub for Windows提交失败“failed to sync this branch”
			
今天github for windows同步推送远端github出问题了,提交到本地没问题,远端一直推送不上去,挺棘手的,试了几个网上的方法不管用.问题如下,报这个错: failed to sync ...
 - EditText的inputType常用取值
			
最近经过实际试验,总结了InputType几个常用取值表示的含义: 1.none, text, textVisiblePassword: 无任何输入限制 2.textMultiLine: 允许多行输入 ...
 - 全新的membership框架Asp.net Identity(2)——绕不过的Claims
			
本来想直接就开始介绍Identity的部分,奈何自己挖坑太深,高举高打的方法不行.只能自己默默下载了Katana的源代码研究了好一段时间.发现要想能够理解好用好Identity, Claims是一个绕 ...
 - ORACLE临时表空间总结
			
临时表空间概念 临时表空间用来管理数据库排序操作以及用于存储临时表.中间排序结果等临时对象,当ORACLE里需要用到SORT的时候,并且当PGA中sort_area_size大小不够时,将会把数据放入 ...
 - Linux NetHogs监控工具介绍
			
NetHogs介绍 NetHogs是一款开源.免费的,终端下的网络流量监控工具,它可监控Linux的进程或应用程序的网络流量.NetHogs只能实时监控进程的网络带宽占用情况.NetHogs支持IPv ...
 - MS SQL 需要定期清理日志文件
			
前言碎语 关于对SQL SERVER 日志文件管理方面了解不多的话,可以参考我的这篇博客文章“MS SQL 日志记录管理”,不过这篇文章只是介绍对SQL SERVER日志记录的深入认知了解,并没有提出 ...
 - jQuery 中的 39 个技巧
			
1.当document文档就绪时执行JavaScript代码. 我们为什么使用jQuery库呢?原因之一就在于我们可以使jQuery代码在各种不同的浏览器和存在bug的浏览器上完美运行. <sc ...