memcached java 更新_由Memcached升级到 Couchbase的 Java 客户端的过程记录(一)

背景:

在项目启动的选用了Memcached 作为缓存服务器,采用了Xmemcached作为客户端。在项目中使用了Shiro,为了给 Shiro 配置缓存的时候,采用了开源代码   https://github.com/mythfish/shiro-memcached 来实现 缓存服务器实现类。其他与项目自适应的修改,皆在当前类的基础上。

此后,Memcached 升级为了 CouchBase,本项目环境需与此对接。

环境:

1、随着数据的增多,为了访问速度的更快,采用缓存服务器来缓解数据库的压力,目前项目采用的是 memcached 缓存服务器

2、memcached的java 客户端有多种形式,目前采用 Xmemcached

3、目前项目的框架是 Spring+SpringMVC+MyBatis+Shiro ,需要将 Xmemcached 与这些对应的技术结合起来

4、Xmemcached 与 Spring的结合,参考:

5、Shiro 与 Spring的结合,参考:

6、memcached 升级为新的版本 Couchbase

7、由于Couchbase 是整合了 Membase、Memcached和CouchDB ,未改变其根本性功能,故 在其发挥与Memcached相同的功能的时候,可以就采用原有的Memcached 的使用方法!

8、Couchbase 安装后,http://localhost:8091 是web 控制台访问路径。11211 是Memcached 访问端口,8091 是管理和操作端口,其他几个是用于管理和集群通讯的。

对比知识要点:

由于我的环境使然,我只会去关注 couchbase 中与缓存相关的功能。

先理解一下 Couchbase Server的结构。集群、Couchbase Server(在集群中每一个Couchbase是一个Node)

5b2680947b25b131e053cd1c79f3647b.png

Cluster

一个cluster是一个包含一个或多个Couchbase Server实例而且作为一个逻辑上的cluster设置的集群。所有cluster内的node都是相同的,提供相同的功能。每个节点都可以管理cluster并提供其统计数据和操作信息。用户数据通过vBucket系统存储在整个cluster之中。

Couchbase Server 或 Node

一个在机器上运行着的Couchbase Server实例,无论是实体机器、虚拟机器、EC2或者其它环境。

所有Couchbase Server实例都是相同的,提供相同功能、接口和系统,包含相同的组成部件。

Couchbase Server使用buckets来提供数据管理服务。buckets是为数据准备的互相隔离的虚拟容器。一个bucket就是一个cluster内物理资源的一个逻辑上的分组,可以通过cluster被多个客户使用。Buckets提供了一种安全的组织、管理和分析数据资源的机制。

Couchbase Server中有两类bucket: 1) memcached buckets,以及 2) couchbase buckets.这两种bucket让你可以选择仅把数据缓存在内存里,还是既缓存在内存里也为了持久性同步到硬盘上。

有三种可以设置的bucket接口:

The default Bucket

默认的default bucket是Couchbase 类型的bucket,预留11211端口且不需要SASL认证。当Couchbase Server安装成功时default bucket也自动安装了。这个bucket也可以在安装后卸载,如果需要再次添加,只需要在11211端口上以default为名称添加一个non-SASL类型的bucket即可。default bucket可以通过一个识别vBucket的智能客户端、一个ASCII客户端或者是不使用SASL认证的二进制客户端访问。

Non-SASL Buckets

名称不是“default”的Non-SASL buckets 应该在除了11211以外的端口设置。一个端口上只能安排一个Non-SASL bucket。此类bucket可以通过一个识别vBucket的智能客户端、一个ASCII客户端或者是不使用SASL认证的二进制客户端访问。

SASL Buckets

SASL认证的Couchbase类型buckets只能设置在11211端口,不同bucket通过名称和密码区别。SASL bucket不应该在11211以外的端口设置。此类buckets可以通过识别vBucket的智能客户端或支持SASL认证的二进制客户端访问,不可通过ASCII客户端访问。

与实际结合:

安装完 CouchBase 后,登录 http://localhost:8091/  Couchbase的管理窗口,可以查看一下 各个页面,页面上都会有与上述概念相关的配置。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值