zoukankan      html  css  js  c++  java
  • Memcached 使用

    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());
            }
        }
    }

  • 相关阅读:
    Laravel 手动分页实现
    大话Web-Audio-Api
    关于audio标签播放跨域的问题
    jquery的命名空间
    正则表达式的应用
    七天学会ASP.NET MVC (六)——线程问题、异常处理、自定义URL 【转】
    七天学会ASP.NET MVC (五)——Layout页面使用和用户角色管理 【转】
    七天学会ASP.NET MVC (四)——用户授权认证问题 【转】
    七天学会ASP.NET MVC (三)——ASP.Net MVC 数据处理 【转】
    七天学会ASP.NET MVC (二)——ASP.NET MVC 数据传递 【转】
  • 原文地址:https://www.cnblogs.com/lovejunxia/p/3282542.html
Copyright © 2011-2022 走看看