1、memcached安装
yihui#cd /usr/ports/databases/memcached

yihui#make install clean

用pkg_info就可以看到已经安装的包列表里有"memcached-1.2.3     High-performance distributed memory object cache system"


2、memcached 运行

memcached <选项>
-d  以daemon方式运行(类似windows下的后台服务),如果不指定此项,控制台将停在那里直到你停止memcached的运行(ctrl+c)
-l 指定可以访问缓存服务的IP地址,不指定则为本地所有IP.类似iis里对网站访问的限制
-p <tcp portnum>  指定用来监听的TCP端口,缺省为11211
-u root 指定运行它的用户名.一般不用,但如果你当前登录的是root用户,则必须指定这选项,建议不要用以root用户运行
-U <udp portnum> 指定用来监听的UDP端口,缺省为11211,注意是大写
-m <num> 指定最大用多少内存,单位是M,缺省为64M

最简单的运行:memcached -d,以daemon方式运行,并监听所有IP的TCP11211端口.
最常用的运行:memcached -d -p 11211 -m 2048 ,用2G内存(自定),既然用作缓存服务器,当然内存要指定越大好!

查看是否在运行
ps -axu | grep memcached

telnet 10.0.5.115 11211,连上了就表示成功了,可以进行下一步了.

停止运行:遗憾哪,我不知道如何停止它的运行,我只会用
ps -axu | grep memcached,得到进程号,然后kill 进程号的强制方式来禁止.

3、下载c#客户端

  • https://sourceforge.net/projects/memcacheddotnet/
  • http://www.codeplex.com/EnyimMemcached/ - Client developed in .NET 2.0 keeping performance and extensibility in mind. (Supports consistent hashing.)
  • http://code.google.com/p/beitmemcached/ - 推荐,可以区分多个实例,自动序列化对象

  这三个客户端API,每个都是一个vs 2005工程,最好都下载了看一下,当然你们也可以加以修改,比如将里的hash算法改为一致性hash算法(哪位改了的请给我一份)。

  示例代码(下载来的里与这差不多,我加了一个复杂的类对象测试):

BeITMemcached 示例Code
using System;
using System.Collections.Generic;

namespace BeIT.MemCached {
    class Example {
       
        [Serializable]
        public class ab{
        public string a;
            public int b;
            public abs absss;
        }
        [Serializable]
        public class abs{
            public string aaa="";
        }
        public static void Main(string[] args) {

//初始化服务器池,需要指定实例名及服务器组
            //实例名主要是为了方便将应用程序需要缓存的数据进行分类,这样可以方便管理,提高性能
            //例如可以session 存在一组memcached服务器,用户数据放在另一组服务器
            //服务器是逻辑概念,IP+PORT即代表一个.
            MemcachedClient.Setup("MyCache", new string[] { "10.0.5.115:11211" });
            MemcachedClient.Setup("MyOtherCache", new string[] { "10.0.5.115:11212", "10.0.5.115:11213" });

MemcachedClient cache2 = MemcachedClient.GetInstance("MyCache");

cache2.SendReceieveTimeout = 5000;
            cache2.MinPoolSize = 1;//最小的socket连接池尺寸
            cache2.MaxPoolSize = 5;//最大的socket连接池尺寸

Console.Out.WriteLine("Storing some items.");
            cache2.Set("mystring", "The quick brown fox jumped over the lazy dog.");
            cache2.Set("myarray", new string[] { "This is the first string.", "This is the second string." });
            cache2.Set("myinteger", 4711);
            cache2.Set("mydate", new DateTime(2008, 02, 23));

ab obj=new ab();
            obj.a="sdfasdfasfdda中华人民共和国中华人民共和国 ";
            obj.b=435;
            obj.absss=new abs();
            obj.absss.aaa="adfasdfasdfas";
            cache2.Set("myobj",obj);

//Get a string
            string str2 = cache2.Get("mystring") as string;
            string[] array2 = cache2.Get("myarray") as string[];
            object[] result2 = cache2.Get(new string[] { "myinteger", "mydate" });//一次取得多个键值

ab obj2=cache2.Get("myobj") as ab;

Console.WriteLine(str2);
            Console.WriteLine(array2[0]);
            Console.WriteLine(((DateTime)(result2[1])).ToString());
            Console.WriteLine(obj2.a);
            Console.WriteLine(obj2.absss.aaa);

Console.ReadLine();
            return;
        }
    }
}

  这几篇文档可能让来的朋友失望了,由于初次写东西水平有限,请大家原谅!

现在此抛砖引玉,希望能引起大家的兴趣,可以在此交流,共同学习。我也会随着实践与不断的学习,陆续记录自己的体验及心得!

另,这几天我深刻的体会到写blog的确可以加深自己的理解和记忆,大家是否也有同感?

一挥随笔(http://www.cnblogs.com/yihuiso),转载请留下此信息!

转载于:https://www.cnblogs.com/yihuiso/archive/2008/08/15/1268691.html

用FreeBSD与memcached建立分布式缓存服务器全程记录之memcached使用与安装相关推荐

  1. Memcached Redis构建缓存服务器

    一.Memcached介绍 RDBMS即关系数据库管理系统(Relational Database Management System) 许多Web应用都将数据保存到 RDBMS中,应用服务器从中读取 ...

  2. 2022/1/30 北京 DNS 域名解析、IP地址 、CDN 分布式缓存服务器、局域网LAN和路由转发

    请求包路由 当我们使用域名访问某一个网站时,实际上就是将请求包(以Http请求为例)通过网络传输给某台服务器,比如访问"www.baidu.com"时: DNS域名解析拿到IP地址 ...

  3. Memcached 与Redis缓存服务器介绍

    Memcached缓存 简单介绍:memcached是高性能的分布式内存缓存服务器.一般的使用目的是,通过缓存数据库查询结果,减少数据库访问次数,以提高动态Web应用的速度.提高可扩展性. Redis ...

  4. 漫画:分布式缓存服务器扛不住了怎么办?| 技术头条

    问题分析 通过以上对话,各位是否能够猜到所有缓存穿透的原因呢?回答之前我们先来看一下缓存策略的具体代码: 缓存服务器IP=hash(key)%服务器数量 这里还要多说一句,key的取值可以根据具体业务 ...

  5. 分布式缓存服务器设计原理

    1.数据是如何被分布到多个服务器上的?(一致性哈希算法) 假设有n台服务器, 计算这n台服务器的IP地址的哈希值, 把这些哈希值从小到大按顺时针排列组成一个"服务器节点环", 客户 ...

  6. 分布式缓存memcached

    Memcached是一款开源.高性能.分布式内存对象缓存系统,可应用各种需要缓存的场景,其主要目的是通过降低对数据库的访问来加速web应用程序.它是一个基于内存的"键值对"存储,用 ...

  7. 第一节 Memcached分布式缓存入门

    关于Memcached的博文太多了,以下是个人学习的收集整理. 本节讨论问题: 简单介绍与应用 下载安装注意事项 简单测试 Memcached分布式原理 一.介绍与应用 在常规的WEB开发下,基本都会 ...

  8. .NET下实现分布式缓存系统Memcached

    [IT168 技术文档]在Web应用程序中,数据通常保存在RDBMS中,应用服务器从数据库中读取数据并在浏览器中显示.但随着数据量的增大.访问的集中,就会出现RDBMS的负载加重.数据库响应变慢.网站 ...

  9. 分布式缓存-Memcached

    分布式缓存-Memcached (2012-03-29 17:01:09)     分布式缓存出于如下考虑,首先是缓存本身的水平线性扩展问题,其次是缓存大并发下的本身的性能问题,再次避免缓存的单点故障 ...

  10. php分布式缓存系统 Memcached 入门

    Memcached 是一个分布式的缓存系统, 但是 Memcachd 到底是什么意思,有什么作用呢?缓存一般用来保存一些经常被存取的数据和资源(例如:浏览器会将访问过的网页会话缓存起来),因为通过缓存 ...

最新文章

  1. Linux命令基础--uname
  2. 谷歌将屏蔽一切与加密货币相关的广告 6月正式生效
  3. CTO关注:升级Win 10,除了更安全还有什么
  4. 简明python教程 --C++程序员的视角(五):面向对象的编程
  5. React Native 0.50版本新功能简介
  6. SharePoint 2013创建应用程序时IIS端口文件夹下没文件
  7. 专用集装箱行业调研报告 - 市场现状分析与发展前景预测(2021-2027年)
  8. mysql的半同步复制
  9. linux空磁盘划分,Linux 磁盘划分
  10. unity3d游戏开发第二版pdf_从零开始学基于ARKit的Unity3d游戏开发系列10
  11. h5优秀控件_HTML5优秀图表控件
  12. 计算机毕业设计java+jsp幼儿园信息网站(源码+系统+mysql数据库+Lw文档)
  13. DDCTF2018-黑盒破解 详细WP
  14. 学生成绩管理系统(C语言)(链表)
  15. js实现图片虚化_Web前端之高斯模糊图片记
  16. 如何让一台连接wifi上网的电脑通过网线让另一台电脑上网?
  17. 北邮智能车仿真培训(四)—— 仿真原理详解
  18. Python综合案例2(险种缴费记录管理)
  19. 唉,江湖阅历不够,在接洽一个S5PV210 wince 项目的时候被一个贱人给骗了
  20. 超有创意的素材模板,摸鱼的技能又提升了

热门文章

  1. matlab中制作软件,2020-02-27 MATLAB App Designer——在 App 设计工具中创建辅助函数
  2. java executor spring_java - Spring TaskExecutor实现 - 堆栈内存溢出
  3. JDBC09 CLOB文本大对象
  4. c语言第三章知识点讲解,C语言考试最新知识点总结讲解.doc
  5. vue基础之组件(创建,data,切换,父子以及同级之间的传值,插槽solt)
  6. html基础之弹性布局(dispaly :flex)
  7. Spring中Bean的作用域/状态/生命周期
  8. 关于algorithm的sort函数
  9. Centos7安装 mariadb 最新版
  10. MongoDB 安全与认证