# skyCloud
**Repository Path**: netant/skyCloud
## Basic Information
- **Project Name**: skyCloud
- **Description**: 模拟redis的java版本
- **Primary Language**: Java
- **License**: Apache-2.0
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 1
- **Created**: 2022-01-21
- **Last Updated**: 2022-01-21
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
## 正在开发中
## redis 文档
http://doc.redisfans.com/
[离线下载地址](http://media.readthedocs.org/htmlzip/redis/latest/redis.zip)
# 基本结构
```
common
core
server
client
```
## 启动
com.gitee.deament.server.MyServer --》右键启动
## 核心类
com.gitee.deament.server.config.SystemConfig
包含了数据和非数据的信息存储
## 基本架构
netty
--
辨别会话 channel
##
```
public class MyServerInitailizer extends ChannelInitializer {
@Override
protected void initChannel(SocketChannel socketChannel) throws Exception {
ChannelPipeline channelPipeline= socketChannel.pipeline();
channelPipeline.addLast(new HttpServerCodec());
channelPipeline.addLast(new ChunkedWriteHandler());
channelPipeline.addLast(new HttpObjectAggregator(8192));
channelPipeline.addLast(new WebSocketServerProtocolHandler("/ws"));
channelPipeline.addLast(new CommandHander());// 核心处理类
}
}
```
### 编写一个命令处理
```
@CliHander(command = "HDEL")
public class HDELcli extends AbstractCli {
@Override
public void executeCli(ChannelHandlerContext channelHandlerContext, String command) {
List values = getValues(command);
if (values.size() < 3) {
channelHandlerContext.channel().writeAndFlush(new TextWebSocketFrame("ERR wrong number of arguments for 'HDEL' command"));
}
int db = ConnectData.SELECT_DB_STORAGE.getUseDB(channelHandlerContext.channel().id().asLongText());
Value