发表于: 2017-10-16 23:12:05

1 737


今天完成事情:

今天在windows系统下下载memcache

然后一开始发现网上大多都是32位的  就很气

然后去找64位的

然后下载了之后用命令开memcache

这地方有个坑

一共有几个版本的

然后我下载最新的版本   然后开始安装

然后用命令开始在cmd里面安装


C:memcached\memcached.exe -d install


C:memcached\memcached.exe -d start

C:memcached\memcached.exe -d stop


然后失败了。。。


然后网上查了问题  弄了半天 原来是最新版本改了

在 memcached1.4.5 版本之后,memcached 不能作为服务来运行,需要使用任务计划中来开启一个普通的进程,在 window 启动时设置 memcached自动执行。

然后必须用管理员身份登录


需要用这个命令

-m 512 意思是设置 memcached 最大的缓存配置为512M。


然后自己试验了下常用的命令


因为之前跟redis有一个初步的了解

然后做了一个小小的对比

因为现在好像这算是2个比较主流的工具

然后现在听师兄是偶好像更流行redis

Memcached和Redis关键技术对比
作为内存数据缓冲系统,Memcached和Redis均具有很高的性能,但是两者在关键实现技术上具有很大差异,这种差异决定了两者具有不同的特点和不同的适用条件。下面我们会对两者的关键技术进行一些对比,以此来揭示两者的差异。
3.1 Memcached和Redis的内存管理机制对比
对于像Redis和Memcached这种基于内存的数据库系统来说,内存管理的效率高低是影响系统性能的关键因素。传统C语言中的malloc/free函数是最常用的分配和释放内存的方法,但是这种方法存在着很大的缺陷:首先,对于开发人员来说不匹配的malloc和free容易造成内存泄露;其次,频繁调用会造成大量内存碎片无法回收重新利用,降低内存利用率;最后,作为系统调用,其系统开销远远大于一般函数调用。所以,为了提高内存的管理效率,高效的内存管理方案都不会直接使用malloc/free调用。Redis和Memcached均使用了自身设计的内存管理机制,但是实现方法存在很大的差异,下面将会对两者的内存管理机制分别进行介绍。
3.1.1 Memcached的内存管理机制
Memcached默认使用Slab Allocation机制管理内存,其主要思想是按照预先规定的大小,将分配的内存分割成特定长度的块以存储相应长度的key-value数据记录,以完全解决内存碎片问题。Slab Allocation机制只为存储外部数据而设计,也就是说所有的key-value数据都存储在Slab Allocation系统里,而Memcached的其它内存请求则通过普通的malloc/free来申请,因为这些请求的数量和频率决定了它们不会对整个系统的性能造成影响
Slab Allocation的原理相当简单。 如图3所示,它首先从操作系统申请一大块内存,并将其分割成各种尺寸的块Chunk,并把尺寸相同的块分成组Slab Class。其中,Chunk就是用来存储key-value数据的最小单位。每个Slab Class的大小,可以在Memcached启动的时候通过制定Growth Factor来控制。假定Figure 1中Growth Factor的取值为1.25,所以如果第一组Chunk的大小为88个字节,第二组Chunk的大小就为112个字节,依此类推。


我看下来总的比下来,用自己的话说的话

redis只使用单核 memcache用的多核 所以每一个核心上redis比mem的性能更高

但是肯定在大数据上面 mem应该会好点吧

然后主要的是redis支持服务器端的数据操作  redis比mem有更多的数据结构和丰富的数据操作

差不多应该是这样吧


明天的计划:做任务6


遇到的问题:每天人都 感觉很疲惫  中午没怎么休息。。


收获:很累 只想写完日报现在就睡觉

任务进度:任务6步骤1

任务开始时间:2017-10-10

预计结束时间:2017-10-15

预计延期5天

禅道:http://task.ptteng.com/zentao/task-view-10460.html





返回列表 返回列表
评论

    分享到