
KV存储
文章平均质量分 84
祚儿疯
向阳而生
展开
-
memcached的学习(5)
2018.6.12前面讲述了直接使用memcached命令的使用方法,这里使用库libmemcached客户端,如何使用其实现上面的这些命令操作,也就是libmemcached提供的API有哪些?具体的见官方文件:http://docs.libmemcached.org/libmemcached-1.0/memcached_touch.html下面对几个常见的API进行一个说明:1、说明...原创 2018-11-21 10:58:35 · 282 阅读 · 0 评论 -
memcached的学习(3)
2018.6.12今天开始安装memcached的客户端,memcached服务器端不能互相通信,那么实际分布式的概念是由客户端来完成的,学习目的安装并了解客户端。1、基本了解memcached本身是一个集中式的内存缓存系统,对于分布式的支持服务端并没有实现,只有通过客户端实现;再者,memcached是基于TCP/UDP进行通信,只要客户端语言支持TCP/UDP即可实现客户端,并且可以根据...转载 2018-11-20 11:06:51 · 337 阅读 · 0 评论 -
memcached的学习(2)
2018.6.11今天主要看memecached服务器端的安装memcached两种安装方法,一种直接通过yum安装,一种通过源码安装,准备都尝试下这两种方法————————————————————————————————————————————第一种,通过yum进行安装Yum安装Memcache1.查找memcachedyum search memcached该命令可以查询...转载 2018-11-20 10:56:59 · 289 阅读 · 0 评论 -
memcached的学习(1)
2018.6.111、memcached是什么?memcached 是以LiveJournal 旗下Danga Interactive 公司的Brad Fitzpatric 为首开发的一款软件。现在已成为 mixi、 hatena、 Facebook、 Vox、LiveJournal等众多服务中 提高Web应用扩展性的重要因素。许多Web应用都将数据保存到RDBMS中,应用服务器从中读取数据...转载 2018-11-20 10:34:57 · 166 阅读 · 0 评论 -
memcached和redis、fatcache的区别
2018.6.21前面分析了memcached的具体实现过程,下面了解下redis,fatcache和memcached的区别联系,为后面的分析做一个准备。这里主要是参考了一些博客的内容,原文链接找不到了。。。redis和memcached的区别(总结)观点一:1、Redis和Memcache都是将数据存放在内存中,都是内存数据库。不过memcache还可用于缓存其他东西,例如图片、视频等...转载 2018-11-22 21:32:59 · 455 阅读 · 0 评论 -
memcached的学习(15)
2018.6.21关于memcached的总结:参考博客:https://blog.youkuaiyun.com/initphp/article/details/44893869Memcache的网络模型1.Memcached主要是基于Libevent 网络事件库进行开发的。2.Memcached的网络模型分为两部分:主线程和工作线程。主线程主要用来接收客户端的连接信息;工作线程主要用来接管客户端连...原创 2018-11-22 21:29:10 · 168 阅读 · 0 评论 -
memcached的学习(14)
2018.6.21前面有说过memcached不是传统的malloc的方法来分配内存,而是使用slab的存储机制,下面来具体说明下这个slab的机制。Item 缓存数据存储的基本单元1.Item是Memcached存储的最小单位2.每一个缓存都会有自己的一个Item数据结构3.Item主要存储缓存的key、value、key的长度、value的长度、缓存的时间等信息。4.HashTa...原创 2018-11-22 21:22:55 · 177 阅读 · 0 评论 -
memcached的学习(13)
2018.6.21前面有提到过memcached使用的LRU是多段的LRU方法,对于每一个slab class都会匹配一个LRU方法,下面来具体分析下这种方法Memcached的LRU算法分析Memcached的LRU几种策略1.惰性删除。memcached一般不会主动去清除已经过期或者失效的缓存,当get请求一个item的时候,才会去检查item是否失效。2.flush命令。flu...原创 2018-11-22 21:17:19 · 154 阅读 · 0 评论 -
memcached的学习(12)
2018.6.20之前有了解过memecached为上层的应用客户端提供了几种最基本的操作,这些操作就是kv常见的增删改查操作,这些操作包装在对缓存操作的之上,即用户可以下发这几类操作,不同操作在memecached中对缓存进行不同的处理。这些处理也是调用LRU缓存替换算法的开始。1、首先给出memcached常见增删改查的命令集:增:set删:delete改:add/replace/...原创 2018-11-22 21:11:13 · 152 阅读 · 0 评论 -
现有相关KV存储模型的介绍
参考博客:http://blog.jobbole.com/75842/本文中,开头我会解释使用现有模型而非重头开始此项目的原因。我会阐述一系列选择键值对存储模型的标准。最后我将对一些广为人知的键值对存储项目做一个概述,并用这些标准选择其中一些作为模型。本文将包含:1.不重新发明轮子2.备选模型和选择标准3.选择的键值对存储的概述4.参考文献1. 不重新发明轮子键值对存储已经被人们...转载 2018-11-19 15:19:56 · 1446 阅读 · 0 评论 -
KV存储相关基础知识
2018.6.11从今天开始研究存储里面键值系统的相关知识,存储介质提供一个存储体为生成,结合上次的存储服务,形成一个存储系统,我们最常见的存储系统就是文件系统,以文件的方式来在存储体上管理数据。同时也可以使用数据库,以数据库操作的形式来管理数据。同时还存在一种自己定义的方法,一般称为NoSQL的方式,即键值存储系统,来直接对存储体进行管理。这里我们具体学习下键值系统。主要从键值系统的基本理...原创 2018-11-19 15:13:20 · 13951 阅读 · 1 评论 -
memcached的学习(11)
2018.6.19今天来看memecached的缓存设置,前面学习的是memcached的网络模型,现在来讲一下memcached的缓存模型。今天来学习关于缓存模型的哈希表的结构。从这一章开始我们慢慢讲解Memcached是如何存储数据的。讲解本章前,我们先看一个Memcached存储数据的item的基本结构。数据结构 1. //item的具体结构 2. typedef str...原创 2018-11-21 13:22:42 · 208 阅读 · 2 评论 -
memcached的学习(10)
2018.6.14讲解Memcached如何从客户端读取命令,并且解析命令,然后处理命令并且向客户端回应消息。其中,Memcached是通过sendmsg函数向客户端发送数据的,这里我们具体分析Memcached回应消息的技术细节。右边对应了响应客户端需要准备好发送的数据结构,值得注意的是每次发送的是一个msghrd的结构体指向的缓存空间。这是一种多缓冲技术,也就是和之前我们说的发送缓冲区是...原创 2018-11-21 13:18:07 · 187 阅读 · 0 评论 -
memcached的学习(9)
2018.6.14之前学习了memcached的网络模型,主要是服务于多个客户端TCP连接的网络模型创建,也是CS架构上我们值得学习的一个模型,在设计网络模型的时候可以学习这种框架。今天来学习memcached的命令解析,也就是接收到了网络传来的数据包,按照不同的命令解析,并调用不同的功能模块。————————————————————————————————————————————我们回顾上...原创 2018-11-21 13:13:46 · 183 阅读 · 0 评论 -
memcached的学习(8)
2018.6.13接下来分析memecached服务端的源码分析,主要目的是了解其中的数据结构,以及缓冲区的替换算法这一部分。希望一步一步把memcached的代码看懂,找到了一篇参考博客,对memecached源码分析比较透彻,这里给出链接:https://blog.youkuaiyun.com/initphp/article/details/44893869同样,采用参考博客的目录,按照以下的目录进...原创 2018-11-21 13:06:39 · 193 阅读 · 2 评论 -
memcached的学习(7)
2018.6.13memcached客户端实现分布式的相关知识memcached的分布式正如第1次中介绍的那样, memcached虽然称为“分布式”缓存服务器,但服务器端并没有“分布式”功能。 服务器端仅包括 第2次、 第3次 前坂介绍的内存存储功能,其实现非常简单。 至于memcached的分布式,则是完全由客户端程序库实现的。 这种分布式是memcached的最大特点。memcach...转载 2018-11-21 12:53:59 · 168 阅读 · 0 评论 -
memcached的学习(6)
2018.6.13找到了一篇博客,全面解析memcached的知识点,主要从服务器端的内存原理,客户端的分布式原理,以及扩展方向来介绍的,下面对这几个方面做一个总结:1、理解memcached的内存存储我是mixi株式会社研究开发组的前坂徹。 上次的文章介绍了memcached是分布式的高速缓存服务器。 本次将介绍memcached的内部构造的实现方式,以及内存的管理方式。 另外,memca...转载 2018-11-21 11:16:03 · 165 阅读 · 0 评论 -
memcached的学习(4)
2018.6.12memcached的常用操作,因为也是一个存储系统,有自己封装好的一套命令集来数据的存储查找。1、常见的命令分类:2、具体命令的学习说明见链接:http://www.runoob.com/memcached/memcached-set-data.html下面说明几个最常见的命令:————————————————————————————————————————————...原创 2018-11-20 12:21:06 · 144 阅读 · 0 评论