目录
一、了解Redis
二、Redis服务器的编写
第一阶段:基本指令的实现
第二阶段:多用户并发
第三阶段:持久化
三、测试
四、拓展
五、收获
一、了解Redis
1、简介
Redis是一个开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、key-value数据库。它通常被称为数据结构服务器,因为值(value)可以是字符串(String),哈希(Hash),列表(List),集合(Set)和有序集合(sorted Set)等类型。
2、Redis的BSD协议
3、Redis的数据类型
Redis的数据结构 key-value
key为String
value为字符串(String),哈希(Hash),列表(List),集合(Set)和有序集合(sorted Set)等类型。
各个类型在java中以Map<key,value>存储形式如下:
二、实现Redis服务器
写在前面:功能展示
1.思路:
- 将字节流依照Redis的协议反列化为Java能够识别的对象,分析该对象的指令信息(例如是LPUSH、LPOP等),通过反射机制实例化处理该对象的类,在对应的实现类中完成指令 (例如实现将对象中的数据信息储存在内存中或者从内存中删除对应的信息等),把实现指令的结果依照协议序列化为字节流写入到Redis客户端。
- 使用Socket套接字接受来自客户端的连接,利用固定线程池实现对多个用户的服务
- 使用ObjectInputStream与ObjectOutputStream类对存在内存中的数据读写,实现所储存信息的持久化功能
2.思路框图
3.将该服务器的功能分解三个阶段完成
第一二阶段以Command与Protocol为主,第三阶段以Permanent为主