taoCMS是基于php+sqlite/mysql的国内最小(100Kb左右)的功能完善的CMS管理系统

Memcache、Redis的协议分析

Redis的通讯协议可以说大集汇了……消息头标识,消息行还有就行里可能还有个数据块大小描述.首先Redis是以行来划分,每行以rn行结束。每一行都有一个消息头,消息头共分为5种分别如下:(+) 表示一个正确的状态信息,具体信息是当前行+后面的字符。(-)  表示一个错误信息,具体信息是当前行-后面的字符。(*) 表示消息体总共有多少行,不包括当前行,*后面是具体的行数。($) 表示下一行数据长度,不包括换行符长度rn,$后面则是对应的长度的数据。(:) 表示返回一个数值,:后面是相应的数字节符。以上就是Redis协议的基础组成部分,下面来分析几个指令了解一下具体相关指令和返回情况.SETC:1SET HENRY  HENRYFAN以上命令是设置HENRY 的值为HENRYFAN.在Redis
发布时间:2015-09-28 | 类别:技术文章 | 阅读:29746 | 评论:0 | 标签:memcache memcache

Memcache内部slab与item的内存分配

1.Item数据格式    Item是保存在chunk中的实际数据    2.新建Item分配内存过程快速定位slab classid计算key+value+suffix+32结构体,如90byte如果>1MB,无法存储丢弃取最小冗余的slab class如:有48,96,120,存90会选择96按顺序寻找可用chunkslot:检查slab回收空间slot里是否有剩余chunkdelete:delete时标记到slotexptime:get时检查的过期对象标记到slotend_page_ptr:检查page中是否有剩余chunkmemory:内存还有剩余则开辟新的slabLRU:Slab内部扫描Item双向链表50次1.slab内存结构图:二维数组链表s
发布时间:2014-02-27 | 类别:技术文章 | 阅读:39164 | 评论:0 | 标签:memcache memcache memcache

各种memcache客户端数据存储格式

Bit # 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Cache::Memcached (Perl) Serialized (Storable) gzip - - - - - - - - - - - - - - Cache::Memcached::Fast (Perl) Serialized (Storable) gzip - - - - - - - - - - - - - - PHP PECL memcache client Serialized (?) gzip - - - - - - - - - - - - - - python-me
发布时间:2014-02-17 | 类别:技术文章 | 阅读:38708 | 评论:0 | 标签:memcache memcache memcache

关于mongodb ,redis,memcache之间见不乱理还乱的关系和作用

先说我自己用的情况:最先用的memcache ,用于键值对关系的服务器端缓存,用于存储一些常用的不是很大,但需要快速反应的数据然后,在另一个地方,要用到redis,然后就去研究了下redis. 一看,显示自己安装了php扩展,因为有服务器上的redis服务端,自己本地就没有安装,其实用法和memcache基本一样,可能就是几个参数有所不同。当然 它们缓存的效果也不一样,具体的哪里不一样,一下就是一些资料,和自己的总结1、 Redis和Memcache都是将数据存放在内存中,都是内存数据库。不过memcache还可用于缓存其他东西,例如图片、视频等等。2、 数据类型--Memcache在添加数据时就要指定数据的字节长度,例如: set key3 0 0 8 lxsymcto STORED而redis不需要,
发布时间:2013-06-04 | 类别:技术文章 | 阅读:48325 | 评论:0 | 标签:memcache memcache memcache

Memcached的高级问题解决

Memcached绝对称得上是NoSQL老兵!可惜随着时间的推移,Redis等后起之秀羽翼渐丰,Memcached相比之下已呈颓势。那我们还用不用学习它?答案是肯定的!毕竟仍然有很多项目依赖着它,如果忽视它,一旦出了问题就只有干瞪眼的份儿了。网络上关于Memcached的资料可以说是浩如烟海,其中不乏一些精彩之作,比如说由爱好者翻译的「Memcached全面剖析」系列文章,在中文社区广为流传,虽然已经是几年前的文章了,但是即便现在读起来,依然感觉收获良多,推荐大家多看几遍:Memcached的基础理解Memcached的内存存储Memcached的删除机制和发展方向Memcached的分布式算法Memcached的应用和兼容程序当然,官方Wiki永远是最权威的资料,即便是里面的ReleaseNotes也不要放过
发布时间:2013-05-02 | 类别:技术文章 | 阅读:46393 | 评论:0 | 标签:memcache

Redis与Memcached的比较

Redis与Memcached的比较网络IO模型Memcached是多线程,非阻塞IO复用的网络模型,分为监听主线程和worker子线程,监听线程监听网络连接,接受请求后,将连接描述字pipe 传递给worker线程,进行读写IO, 网络层使用libevent封装的事件库,多线程模型可以发挥多核作用,但是引入了cache coherency和锁的问题,比如,Memcached最常用的stats 命令,实际Memcached所有操作都要对这个全局变量加锁,进行计数等工作,带来了性能损耗。(Memcached网络IO模型)Redis使用单线程的IO复用模型,自己封装了一个简单的AeEvent事件处理框架,主要实现了epoll、kqueue和select,对于单纯只有IO操作来说,单线程可以将速度优势发挥到最大,但是
发布时间:2013-04-26 | 类别:技术文章 | 阅读:54616 | 评论:0 | 标签:memcache memcache

Memcache缓存与Mongodb数据库的优势和应用

先说说自己对Memcache和Mongodb的一些看法,主要是抛砖引玉了,希望看到大家的意见和补充。MemcacheMemcache的优势我觉得总结下来主要体现在:1) 分布式。可以由10台拥有4G内存的机器,构成一个40G的内存池,如果觉得还不够大可以增加机器,这样一个大的内存池,完全可以把大部分热点业务数据保存进去,由内存来阻挡大部分对数据库读的请求,对数据库释放可观的压力。2) 单点。如果Web服务器或App服务器做负载均衡的话,在各自内存中保存的缓存可能各不相同,如果数据需要同步的话,比较麻烦(各自自己过期,还是分发数据同步?),即使数据并不需要同步,用户也可能因为数据的不一致而产生用户体验上的不友好。3) 性能强。不用怀疑和数据库相比确实是,根源上还是内存的读写和磁盘读写效率上几个数量级的差距。有的时
发布时间:2012-04-02 | 类别:技术文章 | 阅读:52981 | 评论:0 | 标签:memcache memcache

Memcache协议

在memcache协议中发送的数据分两种:文本行 和 自由数据。 文本行被用于来自客户端的命令和服务器的回应。自由数据用于客户端从服务器端存取数据时。存储在memcached中的数据通过键值来标识。键值是一个文本字符串,对于需要存取这项数据的客户端而言,它必须是唯一的。Memcache协议协议Protocolmemcached 的客户端使用TCP链接 与 服务器通讯。(UDP接口也同样有效,参考后文的 “UDP协议” )一个运行中的memcached服务器监视一些(可设置)端口。客户端连接这些端口,发送命令到服务器,读取回应,最后关闭连接。Clients of memcached communicate with server through TCP connections. (A UDP interface
发布时间:2012-04-02 | 类别:技术文章 | 阅读:44348 | 评论:0 | 标签:memcache

memcache的最佳实践方案

基本问题1、memcached的基本设置 1)启动Memcache的服务器端 # /usr/local/bin/memcached -d -m 10 -u root -l 192.168.0.200 -p 12000 -c 256 -P /tmp/memcached.pid-d选项是启动一个守护进程, -m是分配给Memcache使用的内存数量,单位是MB,我这里是10MB, -u是运行Memcache的用户,我这里是root, -l是监听的服务器IP地址,如果有多个地址的话,我这里指定了服务器的IP地址192.168.0.200, -p是设置Memcache监听的端口,我这里设置了12000,最好是1024以上的端口, -c选项是最大运行的
发布时间:2012-03-10 | 类别:技术文章 | 阅读:53638 | 评论:0 | 标签:memcache

memcache的addServer的故障转移机制

如果有多台memcached服务器端(当然其他支持memcache协议的服务前端都可以,比如Tokyo Tyrant),最好使用$memcache->addServer 来连接服务前端。连接示例:01<?php02$mem_conf = array(03    array('host'=>'192.168.0.11', 'port'=>'11211'),04    array('host'=>'192.168.0.12', 'port'=>'11211'),05    array('host'=>'192.168
发布时间:2012-01-17 | 类别:技术文章 | 阅读:63889 | 评论:0 | 标签:memcache

公告

taoCMS发布taoCMS2.5Beta5(最后更新14年05月25日),请大家速速升级,欢迎大家试用和提出您宝贵的意见建议。

捐助与联系

☟请使用新浪微博联系我☟

☟在github上follow我☟

标签云