计划开发memcache 的.net版本,命名DipperRiver.Net

由来:
前几天看DNT3的代码,看里面已经集成了访问memcache的功能,想想的确现在少.net平台上的类似缓存服务器软件,MS的Velocity估计还有一段时间,就大致了解了一下memcache的功能结构,一看和去年自己设计的tcp通讯框架有点类似,由于框架并发tcp在2-3k,及大量处理数据库数据,因此也涉及到了一些cache的功能和策略设计。倒是现在想来设计一套完整的类似memcache的系统。

系统结构
先期采用memcache不互相通信的分布式模式,每个Cache服务器存放内容由应用系统决定,即应用端需要设计一套Cache的存取定位策略。



功能设计



Cahce:
实际存放应用系统的缓存数据
使用byte[]数组存储

TCP通信:
采用二进制通信协议
协议说明

缓存策略:
过期时间算法
LRU算法
LFU算法


内存管理:
内存存取功能
内存清理机制
内存池管理

系统监控:

管理客户端:


版本计划
v0.1 结构设计、通信协议设计。
v0.2 基本功能实现,Cache先采用.net内置集合类。
v0.3实现缓存策略模块、内存管理模块
v0.4tcp通信模型采用.net3.5版本的异步模型,异步上下文采用缓存池(以前使用2.0的,有内存碎片,在1.1下会OutOfMemory) 。
v0.5扩展内存管理功能,Cache采用缓存池技术,及碎片整理功能。
posted @ 2009-09-11 10:06  dannyr|一个都不能少!  阅读(1253)  评论(2编辑  收藏  举报