using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Memcached.ClientLibrary;
using System.Text;
using System.Collections;
using System.Web.Caching;
public partial class test : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!Page.IsPostBack)
        {
            string[] relatedKeys = new string[1];
            relatedKeys[0] = "UID";
            LM.Memcached.Cache.Set("UID", 123);
            CacheDependency cd = new CacheDependency(null, relatedKeys);
            LM.Memcached.Cache.Set("abc",DateTime.Now , cd);

}
        //Cache.Insert("ccc", "adsfasdf");
        //Response.Write(Cache.Get("ccc"));
    }

public void memcached()
    {
        //分布Memcachedf服务IP 端口
        string[] servers = { "192.168.2.26:11211" };

//初始化池
        SockIOPool pool = SockIOPool.GetInstance();
        pool.SetServers(servers);
        pool.InitConnections = 3;
        pool.MinConnections = 3;
        pool.MaxConnections = 5;
        pool.SocketConnectTimeout = 1000;
        pool.SocketTimeout = 3000;
        pool.MaintenanceSleep = 30;
        pool.Failover = true;
        pool.Nagle = false;
        pool.Initialize();
        //客户端实例
        MemcachedClient mc = new Memcached.ClientLibrary.MemcachedClient();
        mc.EnableCompression = false;
        StringBuilder sb = new StringBuilder();
        //写入缓存
        sb.AppendLine("写入缓存测试:");
        sb.AppendLine("<br>_______________________________________<br>");
        if (mc.KeyExists("cache"))
        {
            sb.AppendLine("缓存cache已存在");
        }
        else
        {
            mc.Set("cache", "写入缓存时间:" + DateTime.Now.ToString());
            sb.AppendLine("缓存已成功写入到cache");
        }
        sb.AppendLine("<br>_______________________________________<br>");
        sb.AppendLine("读取缓存内容如下:<br>");
        sb.AppendLine(mc.Get("cache").ToString());

//测试缓存过期
        sb.AppendLine("<br>_______________________________________<br>");
        if (mc.KeyExists("endCache"))
        {
            sb.AppendLine("缓存endCache已存在,过期时间为:" + mc.Get("endCache").ToString());
        }
        else
        {
            mc.Set("endCache", DateTime.Now.AddMinutes(1).ToString(), DateTime.Now.AddMinutes(1));
            sb.AppendLine("缓存已更新写入到endCache,写入时间:" + DateTime.Now.ToString() + " 过期时间:" + DateTime.Now.AddMinutes(1).ToString());
        }
        //分析缓存状态
        Hashtable ht = mc.Stats();
        sb.AppendLine("<br>_______________________________________<br>");
        sb.AppendLine("Memcached Stats:");
        sb.AppendLine("<br>_______________________________________<br>");
        foreach (DictionaryEntry de in ht)
        {
            Hashtable info = (Hashtable)de.Value;
            foreach (DictionaryEntry de2 in info)
            {
                sb.AppendLine(de2.Key.ToString() + ": " + de2.Value.ToString() + "<br>");
            }
        }
        Response.Write(sb.ToString());
    }
    protected void Button1_Click(object sender, EventArgs e)
    {
        LM.Memcached.Cache.Set("UID", 111);
    }
    protected void Button2_Click(object sender, EventArgs e)
    {
        if (LM.Memcached.Cache.Get("abc") == null)
        {
            LM.Memcached.Cache.Set("abc", DateTime.Now);
        }
        else
        {
            Response.Write( LM.Memcached.Cache.Get("abc").ToString());
        }
    }
}

Memcached 使用的更多相关文章

  1. 支持 .NET Core 的 Memcached 客户端 EnyimMemcachedCore

    1. 介绍 EnyimMemcachedCore 是一个支持 .NET Core 的 Memcached 客户端,是从 EnyimMemcached 迁移至 .NET Core的,源代码托管在 Git ...

  2. Key/Value之王Memcached初探:二、Memcached在.Net中的基本操作

    一.Memcached ClientLib For .Net 首先,不得不说,许多语言都实现了连接Memcached的客户端,其中以Perl.PHP为主. 仅仅memcached网站上列出的语言就有: ...

  3. ASP.Net MVC4+Memcached+CodeFirst实现分布式缓存

    ASP.Net MVC4+Memcached+CodeFirst实现分布式缓存 part 1:给我点时间,允许我感慨一下2016年 正好有时间,总结一下最近使用的一些技术,也算是为2016年画上一个完 ...

  4. 缓存、队列(Memcached、redis、RabbitMQ)

    本章内容: Memcached 简介.安装.使用 Python 操作 Memcached 天生支持集群 redis 简介.安装.使用.实例 Python 操作 Redis String.Hash.Li ...

  5. 企业做数据缓存是使用Memcached还是选Redis?

    企业是使用Memcached还是选Redis? 在构建一款现代且由数据库驱动的Web应用程序并希望使其拥有更为出色的性能表现时,这个问题总会时不时出现.并给每一位开发人员带来困扰.在考虑对应用程序的性 ...

  6. NoSql1 在Linux(CentOS)上安装memcached及使用

    前言:       今天是初五,生活基本要从过年的节奏中回归到正常的生活了,所以想想也该想想与工作有关的事情了.我之前在工作中会经常使用memcached和redis,但是自己一直没有时间系统的好好看 ...

  7. Memcached简介

    在Web服务开发中,服务端缓存是服务实现中所常常采用的一种提高服务性能的方法.其通过记录某部分计算结果来尝试避免再次执行得到该结果所需要的复杂计算,从而提高了服务的运行效率. 除了能够提高服务的运行效 ...

  8. Linux 服务器 安装 memcached

    linux centos 一.memcached的安装 1.下载 memcached-1.4.33.tar.gz.libevent-2.0.22-stable.tar.gz 安装 memcached ...

  9. Memcached和Redis比较

    一.存储 Memcached基本只支持简单的key-value存储方式.Redis除key-value之外,还支持list,set,sorted set,hash等数据结构:Redis支持数据的备份, ...

  10. 搭建LNAMP环境(七)- PHP7源码安装Memcached和Memcache拓展

    上一篇:搭建LNAMP环境(六)- PHP7源码安装MongoDB和MongoDB拓展 一.安装Memcached 1.yum安装libevent事件触发管理器 yum -y install libe ...

随机推荐

  1. PL/pgSQL学习笔记之四

    http://www.postgresql.org/docs/9.1/static/plpgsql-structure.html 39.2. PL/pgSQL 的结构 PL/pgSQL是一种块式结构的 ...

  2. SCVMM之Windows Server2012 R2新功能

    在Windows Server 2012 R2中可以通过使用共享的虚拟硬盘VHDX文件的方法来模拟IP SAN,来为虚拟机创建群集提供共享存储.这样为虚拟机创建群集时就不用再像以前一样通过使用软件模拟 ...

  3. Codeforces Round #340 (Div. 2) D. Polyline 水题

    D. Polyline 题目连接: http://www.codeforces.com/contest/617/problem/D Descriptionww.co There are three p ...

  4. jQuery 效果 - animate() 方法

    http://www.w3school.com.cn/jquery/effect_animate.asp 实例 改变 "div" 元素的高度: $(".btn1" ...

  5. 应该把script标签放在哪里

    应该把script标签放在哪里 目录: 1script标签放在底部的好处 2应该放在底部的哪里   概述: 如果在页面中写JS的话,那必然会用到script标签,理论上script标签放在哪里都是可以 ...

  6. 暂时解决Sublime Text 2不支持input问题(转)

    (1)打开当前python文件 (2)然后 Tools -> Command Palette (3)SublimeREPL Python RUN current file (4)就会打开新窗口, ...

  7. oc-21-class对象

    /** 什么是类对象(Class对象)? 类在内存当中也是以对象形式进行存储的. 1.类对象的类型:Class类型 2.如何创建类对象: 1)Class 类对象名 = [类名 class]; 2)类名 ...

  8. Java_基础_内存管理

    把没几多年,完全忘记了把自己学的东西记录下来了,现在也基本不知道怎么去记录会更好了,不过好歹妹是把住了~也要毕业了,继续回来写东东记录自己的学习...... 一个Java程序在运行时的内存分布主要如上 ...

  9. hadoop2 作业执行过程之作业提交

    hadoop2.2.0.centos6.5 hadoop任务的提交常用的两种,一种是测试常用的IDE远程提交,另一种就是生产上用的客户端命令行提交 通用的任务程序提交步骤为: 1.将程序打成jar包: ...

  10. .net中的多线程

    一.多线程的概念        什么是进程呢?当一个程序开始运行时,它就是一个进程,进程所指包括运行中的程序和程序所使用到的内存和系统资源.而一个进程又是由多个线程所组成的,线程是程序中的一个执行流, ...