Couchbase之个人描述及入门示例

本文不打算抄袭官方或者引用他人对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系统,期待在以后的开发中大规模应用它!

时间: 2024-11-07 05:10:53

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

Spring MVC 入门示例讲解

MVC框架是什么 Dispatcher Servlet(Spring控制器) Spring入门示例 运行时依赖库 web.xml和spring-servlet.xml文件配置 请求控制器EmployeeController.java 视图模型EmployeeVO.java Dao类 业务层类 视图employeeListDisplay.jsp MVC框架是什么 模型-视图-控制器(MVC)是一个众所周知的以设计界面应用程序为基础的设计模式.它主要通过分离模型.视图及控制器在应用程序中的角色将业务

SpringMVC 入门示例讲解

首先要了解什么是MVC,MVC全称是Model View Controller,是模型(Model)-视图(View)和控制器(Controller)的缩写,一种软件设计典范,用一种业务逻辑·.数据.界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑.MVC被独特的发展起来用于映射传统的输入.处理和输出功能在一个逻辑的图形化用户界面的结构中. 伯乐在线-ImportNew:       http://www.importnew

C语言 Socket入门示例2——模拟远程CMD(客户端向服务器发送命令,服务端执行该命令)

只要把上一篇文章"C语言 Socket入门示例1"中的两段程序彻底搞懂,那么再看本文就没有任何难度了,因为仅仅是对上篇文章中服务端代码的简单修改扩充.但是简单修改过后,功能变得异常强大,犹如一个远程CMD.随着不断深入学习,功能将会变得越来越强大.欢迎大家评论指点. 1.服务端(Server): #include <stdio.h> #include <winsock2.h> #pragma comment(lib,"ws2_32.lib")

C语言 Socket入门示例1—— 单工通信(客户端向服务器发送消息)

如果对Windows API不太熟悉.对TCP/IP通信协议不太熟悉,或者对C语言本身不太熟悉的话,学习Socket会有点难受的.以前学习操作系统的时候,被API吓怕了,很多莫名其妙的API有着多如牛毛的参数,令人费解.学习计算机网络的时候,又有那么多的协议,并且很多协议本身比较复杂,什么三次握手建立连接,什么四次握手释放链接等等,也没有学得特别透彻.更遗憾的是,以前学C的时候,误以为自己把C学会了,误以为C就那么几个头文件而已,就一个黑框子而已. 现在,经过一段时间的痛苦磨练,又有了一些新的认

[PhoneGap]入门示例

PhoneGap官方网站上有详细的入门示例教程: Step1.选择你想要进行开发的移动平台,点击Android图标 Step2.需要安装的软件-Eclipse3.4以上版本 Step3.安装SDK+PhoneGap (1)安装Eclipse3.4,我安装使用的为3.6版本中文语言包(如果你使用的是英文原版,下面的一些操作请自行和我的中文描述对应),ADT Plugin要求使用3.5.1以上版本 .如果你对Eclipse不了解,不知道使用哪种版本的,建议下载Eclipse Classic版本.Ec

ehcache2.8.3入门示例:hello world

一.pom.xml 依赖项 1 <dependency> 2 <groupId>net.sf.ehcache</groupId> 3 <artifactId>ehcache</artifactId> 4 <version>2.8.3</version> 5 </dependency> 6 7 <dependency> 8 <groupId>org.slf4j</groupId>

OpenCV 入门示例之五:一个复杂点的变换

前言 前文介绍了一个简单的变换.需要注意的是,很多时候,输出和输入图像的格式是不同的( 大小,深度,通道 ).在本文将展示的程序中,对图像进行了缩放( 使用cvPyrDown 函数 ),这种情况下需要先定制好输出图像的格式,然后再将其与输入图像一起传递进缩放函数. 代码示例 1 // 此头文件包含图像IO函数的声明 2 #include "highgui.h" 3 // 此头文件包含基本的图像处理函数和高级计算机视觉算法 4 #include "cv.h" 5 6

Android OpenGL入门示例:绘制三角形和正方形 (附完整源码)

Android上对OpenGl的支持是无缝的,所以才有众多3D效果如此逼真的游戏,在Camera的一些流程中也有用到GLSurfaceView的情况.本文记录OpenGL在Android上的入门级示例,绘制一个三角形和正方形.尽管功能简单,可是我捣腾了好几个晚上,大量网上文章上的代码都有点问题,不是绘制不出来就是挂了. 第一个文件:MainActivity.java package com.example.learnopengl1; import android.opengl.GLSurface

OpenCV 入门示例之四:一个简单的变换

前言 图像的平滑处理,是计算机视觉中非常重要的操作,本文将展示一个可以对图像进行平滑处理的简单程序.而关于平滑处理深层次的知识,会在以后的文章中重点探讨. 代码示例 1 // 此头文件包含图像IO函数的声明 2 #include "highgui.h" 3 // 此头文件包含基本的图像处理函数和高级计算机视觉算法 4 #include "cv.h" 5 6 int main (void) { 7 8 // 将D盘目录下名为" 1.jpg "的图像