# Redis-Java **Repository Path**: renchenlliukexin/redis-java ## Basic Information - **Project Name**: Redis-Java - **Description**: Redis数据库-Java语言实现 - **Primary Language**: Java - **License**: Artistic-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2024-05-16 - **Last Updated**: 2024-05-16 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 项目简介 Redis-Java是一款由Java语言实现的高性能缓存中间件,基于TCP实现客户端与服务端双向通信。 # 基本功能 1. 客户端、服务端收发字节流 2. 服务端解析字节流,执行命令 3. 五大数据类型的命令、通用命令支持 4. RDB、AOF持久化机制支持 # 目前进度 ## 已实现 - 异常检查机制 - 校验字节流 - 枚举类封装处理对应的异常信息 - 客户端与服务端长连接、双向通信 - 客户端 - 发送字节流(由命令头、指令和数据 组成) - 接收执行结果信息 - 命令头自动封装 - 服务端 - 接收并解析字节流,执行引擎处理数据 - 发送执行结果信息 - 类型支持 - 通用类型支持 - string类型支持 - 过期key服务支持 ## 待完成 - 类型支持 - set、hash、zset、list - 指令校验 - 持久化机制 - conf配置文件支持 # 涉及技术点 - Collection - HashMap LinkedList ArrayList HashSet SortedSet - Socket - Thread - OutputStream InputStream # 指令支持 - 通用指令 - keys pattern - 支持正则匹配 - expire key mill - del key [key...] - string - set key value - get key - list - lpush key element [element...] - rpush key element [element...] - lrange key start end - lrem key count value - hash - hset key field value [field value ...] - hget key field - hdel key field [field ...] - hgetall key - set - sadd key member [member...] - smembers key - sismember key member - srem key member - sorted set - zadd key score member - zrange key start stop [with score] - zrank key member - zrem key member