mycatapache / mycat-jcache Goto Github PK
View Code? Open in Web Editor NEWA high performance Memcache developed by Mycat team ,used Java NIO and Off-heap Memory ,QQ group : 490435960
License: GNU General Public License v2.0
A high performance Memcache developed by Mycat team ,used Java NIO and Off-heap Memory ,QQ group : 490435960
License: GNU General Public License v2.0
文本协议入口类 io.mycat.jcache.net.conn.handler.AsciiIOHanlder
二进制协议入口类 io.mycat.jcache.net.conn.handler.BinaryIOHandler
#19 .更改扩容线程循环入口判断 2.reactor模型初始化注析
文档完善.
代码注释的完善.
内存池的持续优化,及单元测试.hashtable持续优化包括扩容,及单元测试.
cache 缓存过期机制,LRU、FIFO
NIO部分持续优化,及单元测试.
二进制命令:
add,decr,decrq,flush,gat,gatk,gatkq,gatq,getk,getkq,getq,
incr,incrq,noop,quit,replace,touch,version
管理命令 stat
文本协议命令。
可能涉及到的类:
高仿版 hashtable 实现入口类 io.mycat.jcache.hash.impl.AssocImpl
slabs 内存池入口类. io.mycat.jcache.memory.DefaultSlabsImpl
相关处理入口类分别是
io.mycat.jcache.net.conn.handler.AsciiIOHanlder, 文本协议处理类
io.mycat.jcache.net.conn.handler.BinaryIOHandler,二进制协议处理类
文本协议 flush 命令入口类: io.mycat.jcache.net.conn.handler.AsciiIOHanlder
用于在各个Reactor线程间分配新的ByteBuffer空间或从共享池中调度空闲ByteBuffer。
可以参考Mycat-NIO项目
状态机的入口在io.mycat.jcache.net.conn.Connection类中,及相应的命令处理类中.
IO 线程处理完成后,解析完命令后,可以将相应的命令的逻辑处理部分,委派给 工作线程。
在上下文 io.mycat.jcache.context.JcacheContext 中,已经注入了工作线程的线程池,可以从线程池中获取。
项目采用maven构建,编译会自动生成zip 包.
在项目目录 /Mycat-jcache/src/main/scripts 下的脚本会被打进zip包的bin 目录下.
可以在scripts 目录下 新增相关脚本.
涉及命令如下
touch/decr/incr/delete/verbosity/Slabs Automove/watch/cache_memlimit/lru
add/set/replace/prepend/append/cas
不是所有命令都已经实现,先挑选实现的命令进行增加
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.