随笔分类 -  缓存中间件

redis和memcache是高速缓存服务器,通过深度探究推特优秀的twemproxy——redis和memcache代理,我们能熟悉redis以及memcache的交互协议,知晓分布式redis以及memcache集群一种解决方案,积累一份优雅的高并发代码。
摘要:twemproxy在redis上能处理多命令流程只有mset,mget,del的命令,例如mset的话是mset k1 v1 k2 v2 k3 k3,mget的话是mget k1 k2 k3,del的话是del k1 k2 k3。twemproxy在memcache上能处理多命令流程只有get\ge 阅读全文
posted @ 2018-11-18 18:49 Breeze0806 阅读(1139) 评论(0) 推荐(0) 编辑
摘要:memcache是一种和redis类似的高速缓存服务器,但是memcache只提供键值对这种简单的存储方式,相对于redis支持的存储方式多样化,memcache就比较简单了。memcache通过tcp或者udp连接来实现memcache客户端和服务端的交互。memcache的协议是自定的,也分为两 阅读全文
posted @ 2017-07-09 20:28 Breeze0806 阅读(566) 评论(1) 推荐(1) 编辑
摘要:在twemproxy的发送和接收流程剖析中,我们已经完全弄清楚twemproxy如何将客户端以及服务端发来的包切分成msg,获得一个独立的msg后twemproxy应该如何处理?这是本文这次需要重点介绍的内容。 twemproxy的主干流程 图1 twemproxy的主干流程 如图1所示,twemp 阅读全文
posted @ 2017-06-26 10:42 Breeze0806 阅读(738) 评论(0) 推荐(0) 编辑
摘要:本文想要完成对twemproxy发送流程——msg_send的探索,对于twemproxy发送流程的数据结构已经在《twemproxy接收流程探索——剖析twemproxy代码正编》介绍过了,msg_send和msg_recv的流程大致类似。请在阅读代码时,查看注释,英文注释是作者对它的代码的注解, 阅读全文
posted @ 2017-06-11 18:17 Breeze0806 阅读(1062) 评论(0) 推荐(0) 编辑
摘要:这篇文章会对twemproxyRedis协议解析代码部分进行一番简单的分析,同时给出twemproxy目前支持的所有Redis命令。在这篇文章开始前,我想大家去简单地理解一下有限状态机,当然不理解也是没有问题的,有限状态机仅仅能帮助我们更好地理解twemproxyRedis协议解析代码部分。 red 阅读全文
posted @ 2017-01-31 18:54 Breeze0806 阅读(967) 评论(0) 推荐(0) 编辑
摘要:本文旨在帮助大家探索出twemproxy接收流程的代码逻辑框架,有些具体的实现需要我们在未来抽空去探索或者大家自行探索。在这篇文章开始前,大家要做好一个小小的心理准备,由于twemproxy代码是一份优秀的c语言代码,为此,在twemproxy的代码中会大篇幅使用c指针。但是不论是普通类型的指针还是 阅读全文
posted @ 2017-01-12 11:17 Breeze0806 阅读(1520) 评论(0) 推荐(2) 编辑
摘要:本篇将去探索twemproxy源码的主干流程,想来对于想要开始啃这份优秀源码生肉的童鞋会有不小的帮助。这里我们首先要找到 twemproxy正确的打开方式——twemproxy的文件结构,接着介绍twemproxy程序代码框架,最后介绍twemproxy程序的主干流程。主干流程是本章节的重中之重。这 阅读全文
posted @ 2017-01-09 23:25 Breeze0806 阅读(1047) 评论(0) 推荐(1) 编辑
摘要:twemproxy背景 在业务量剧增的今天,单台高速缓存服务器已经无法满足业务的需求, 而相较于大容量SSD数据存储方案,缓存具备速度和成本优势,但也存在数据安全性的挑战。为此搭建一个高速缓存服务器集群来进行分布式存储是十分必要的。 目前主流的高速缓存服务器是redis和memchache。而twe 阅读全文
posted @ 2017-01-09 15:38 Breeze0806 阅读(5493) 评论(2) 推荐(3) 编辑
摘要:又是喜闻乐见的新坑,前面的mysql协议,当我在解读go-mysql包的时候,会重新讲到,至于Leetcode的更新会与go语言同步。关于这个redis的新坑,目前打算通过剖析twemproxy源码来间接介绍redis的协议,实现手段等等。下面先介绍一下我们的主角——twemproxy。 twemp 阅读全文
posted @ 2017-01-04 20:12 Breeze0806 阅读(364) 评论(0) 推荐(0) 编辑