memcache使用简记

时间:2015-08-29 17:17:18   收藏:0   阅读:251

memcache是一套开放源的分布式高速缓存系统。由服务端和客户端组成,以守护程序(监听)方式运行于一个或多个服务器中,随时会接收客户端的连接和操作。memcache主要把数据对象缓存到内存中,通过在内存里维护一个统一的巨大的hash表。简单的说就是将数据调用到内存中,然后从内存中读取,从而大大提高读取速度。memcache基于一个存储键/值对的hashmap进行存储对象到内存中。memcache是用C写的,但是客户端可以用任何语言来编写,并通过memcached协议与守护进程通信。

Memcached缓存过期机制

惰性删除:它并没有提供监控数据过期的机制,而是惰性的,当查询到某个key数据时,如果过期那么直接抛弃。
比如键key1002在2015-04-09 13:54 :18 我设置他的值为:”我已设置过期时间1分钟“。他的过期时间为1分钟。等到2015-04-09 13:55 :18时数据应该过期,但在内存中还是会保存这条数据,而是等客户端来请求这条数据时判断数据是否过期。过期就直接删除返回空。如果内存满了memcached会把最长时间未使用到期的缓存记录给删除,腾出空间继续使用。memcache基于一个存储键/值对的hashmap进行存储对象到内存中。所以我们可以理解为主要在操作hashmap的键值对。

 string SockIOPoolName = "Test_SockIOPoolName";
            string[] MemcacheServiceList = { "127.0.0.1:11211" };

            //设置连接池
            SockIOPool SPool = SockIOPool.GetInstance(SockIOPoolName);
            SPool.SetServers(MemcacheServiceList);
            SPool.Initialize();

            //实例化Client
            MemcachedClient MClient = new MemcachedClient();
            MClient.PoolName = SockIOPoolName;

          
            MClient.Add("Key1001", "Hello World");
          
            //查询缓存信息
            string str = MClient.Get("Key1001").ToString();

            //修改memcache缓存
            MClient.Set("Key1001", "Hello World - 修改版");




原文:http://my.oschina.net/qiukun/blog/498988

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!