本文不打算抄袭官方或者引用他人对Couchbase的各种描述,仅仅是自己对它的一点理解(错误之处,敬请指出),并附上一个入门示例。

ASP.NET Web项目(其他web开发平台也一样)应用规模小的时候,可以利用.net framework自带的缓存机制进行缓存,可是,当项目应用规模大了后,再这样万年不变的应用下去,恐怕难以取得良好效果。而C#本身是应用级开发语言,其擅长的是业务逻辑开发,而缓存这种与具体业务紧密程度不大的系统,用C#开发,显然不具有跨平台性,没有普适性,而且C#对缓存也基本停留在微软给啥,咱就有啥的阶段,并且效率也相对不高。因此,利用C、C++等系统级开发语言进行开发成为合适的选择。

具体到Couchbase,自己认为应该是Memcached、Membase、CouchDB的融合升级版,可以说是集合众家之长,目前应该是最先进的Cache系统。这一系统的出现,将极大促进各个web开发平台及自身的发展,真让人激动。

好了,下面是自己刚刚捣鼓成功的一个示例。

首先下载Couchbase server版本,自己下载的是2.5.1企业版。

安装成功后,按官方说法,会默认打开本地8091端口进行web管理。

这是内存使用及缓存被调动情况。

这是缓存桶使用情况。

以下为参照资料写的一个简易调用示例,先看效果图:

在用户姓名文本框中,输入缓存的用户名,点击“Cache User”按钮后,出现的画面。

这是缓存成功后,点击“GetCachedUser”按钮时出现的画面。

以下是代码部分:

调用代码需要使用Couchbase的客户端,下载后,在项目中引用:Cachebase.dll 和 Enyim.Caching.dll,之后在web.config中配置以下节点

  <configSections>
<!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
<section name="couchbase" type="Couchbase.Configuration.CouchbaseClientSection, Couchbase"/>
</configSections>
<couchbase>
<servers bucket="default" bucketPassword="">
<add uri="http://127.0.0.1:8091/pools"/>
</servers>
</couchbase>

前台代码(html)部分:

<div id="body" style="text-indent: 10px">
姓名:<input type="text" id="cacheuser" />
<input type="button" value="Cache User" onclick="cacheUser();" />
<input type="button" value="GetCachedUser" onclick="getCachedUser();" />
</div>
<script type="text/javascript">
function cacheUser() {
$.getServerJson('api/HomeAPI/GetCacheUser',
{ userName: $("#cacheuser").val() },
function (result) {
alert(result);
});
}
function getCachedUser() {
$.getServerJson('api/HomeAPI/GetCachedUser',
{ userName: $("#cacheuser").val() },
function (result) {
alert(result);
});
}
</script>

C#代码部分如下:

 public string GetCacheUser(string userName)
{
var client = CouchbaseManager.Instance; client.Remove(userName); bool result = client.Store(StoreMode.Add, userName, "我是:" + userName + ",找我有事吗?", LoginTimeSpan); return result == true ? "缓存成功。" : "缓存失败!";
}
public string GetCachedUser(string userName)
{
var client = CouchbaseManager.Instance; object ob = client.Get(userName); return ob == null ? "抱歉,没有找到此人!" : ob.ToString();
}

Couchbase调用非常的简单明了,没有过多的配置,扩展也极其方便。整体感觉Couchbase是一个非常棒的Cache系统,期待在以后的开发中大规模应用它!

Couchbase之个人描述及入门示例的更多相关文章

  1. Spring MVC 入门示例讲解

    在本例中,我们将使用Spring MVC框架构建一个入门级web应用程序.Spring MVC 是Spring框架最重要的的模块之一.它以强大的Spring IoC容器为基础,并充分利用容器的特性来简 ...

  2. Spring MVC 入门示例讲解 - howtodoinjava

    在本例中,我们将使用Spring MVC框架构建一个入门级web应用程序.Spring MVC 是Spring框架最重要的的模块之一.它以强大的Spring IoC容器为基础,并充分利用容器的特性来简 ...

  3. [WCF编程]1.WCF入门示例

    一.WCF是什么? Windows Communication Foundation(WCF)是由微软开发的一系列支持数据通信的应用程序框架,整合了原有的windows通讯的 .net Remotin ...

  4. Maven入门示例(3):自动部署至外部Tomcat

    Maven入门示例(3):自动部署至外部Tomcat 博客分类:  maven 2012原创   Maven入门示例(3):自动部署至外部Tomcat 上一篇,介绍了如何创建Maven项目以及如何在内 ...

  5. 1.【转】spring MVC入门示例(hello world demo)

    1. Spring MVC介绍 Spring Web MVC是一种基于Java的实现了Web MVC设计模式的请求驱动类型的轻量级Web框架,即使用了MVC架构模式的思想,将web层进行职责解耦,基于 ...

  6. 【java开发系列】—— spring简单入门示例

    1 JDK安装 2 Struts2简单入门示例 前言 作为入门级的记录帖,没有过多的技术含量,简单的搭建配置框架而已.这次讲到spring,这个应该是SSH中的重量级框架,它主要包含两个内容:控制反转 ...

  7. Velocity魔法堂系列一:入门示例

    一.前言 Velocity作为历史悠久的模板引擎不单单可以替代JSP作为Java Web的服务端网页模板引擎,而且可以作为普通文本的模板引擎来增强服务端程序文本处理能力.而且Velocity被移植到不 ...

  8. OUYA游戏开发核心技术剖析OUYA游戏入门示例——StarterKit

    第1章  OUYA游戏入门示例——StarterKit StarterKit是一个多场景的游戏示例,也是OUYA官方推荐给入门开发者分析的第一个完整游戏示例.本章会对StarterKit做详细介绍,包 ...

  9. Springmvc整合tiles框架简单入门示例(maven)

    Springmvc整合tiles框架简单入门示例(maven) 本教程基于Springmvc,spring mvc和maven怎么弄就不具体说了,这边就只简单说tiles框架的整合. 先贴上源码(免积 ...

随机推荐

  1. Windows下gvim配置

    Windows下gvim配置原作地:http://hi.baidu.com/leemoncc/blog/item/a6be15cf40d7ab31b600c806.html 0.准备软件及插件. (a ...

  2. 转载:ODS简介

    什么是ODS? 信息处理的多层次要求导致了一种新的数据环境——DB-DW的中间层ODS(操作型数据存储)的出现.ODS是“面向主题的.集成的.当前或接近当前的.不断变化的”数据.通过统一规划,规范框架 ...

  3. css浏览器窗口大小

    Window 尺寸 有三种方法能够确定浏览器窗口的尺寸(浏览器的视口,不包括工具栏和滚动条). 对于Internet Explorer.Chrome.Firefox.Opera 以及 Safari: ...

  4. jQueryMobile控件之展开与合并

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  5. github使用心的

    Git是一个分布式的版本控制系统,最初由LinusTorvalds编写,用作Linux内核代码的管理.在推出后,Git在其它项目中也取得了很大成功,尤其是在Ruby社区中.包括Rubinius和Mer ...

  6. HDU 3709 Balanced Number

    发现只要Σa[i]*i%Σa[i]==0就可以. #include<iostream> #include<cstdio> #include<cstring> #in ...

  7. ssh连接linux服务器只显示-bash-4.1#不显示路径解决方法

    ssh连接linux服务器只显示-bash-4.1#不显示路径时,我们只需要修改  ~/.bash_profile文件,如果不存在这个文件,那么新建一个,增加内容  export PS1='[\u@\ ...

  8. LNMP服务器虚拟主机管理lnmp

    安装 系统需求: 需要2 GB硬盘剩余空间 安装步骤: 1.使用putty或类似的SSH工具登陆:登陆后运行:screen -S lnmp如果提示screen命令不存在可以执行:yum install ...

  9. HDU 2277 Change the ball

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2277 Change the ball Time Limit: 2000/1000 MS (Java/O ...

  10. ✡ leetcode 168. Excel Sheet Column Title 26进制数字 --------- java

    Given a positive integer, return its corresponding column title as appear in an Excel sheet. For exa ...