zoukankan      html  css  js  c++  java
  • 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系统,期待在以后的开发中大规模应用它!

  • 相关阅读:
    71、salesforce的JSON方法
    70、saleforce的Json输出
    69、schema的相关方法
    javascript时间格式转换(今天,昨天,前天)
    移动web开发都会遇到的坑(会持续更新)
    javascript实现SHA1算法
    移动端重构--重置样式
    Grunt完整打包一个项目实例
    谈谈HTML5中的history.pushSate方法,弥补ajax导致浏览器前进后退无效的问题
    关于display:inline-block布局导致错位问题分析
  • 原文地址:https://www.cnblogs.com/jizhong/p/3779376.html
Copyright © 2011-2022 走看看