├── .gitignore ├── LICENSE ├── README-cn.md ├── README.md ├── benchmark.md ├── buffer-structure.png ├── core ├── pom.xml └── src │ └── main │ └── java │ └── com │ └── lmx │ └── jredis │ └── core │ ├── PubSubHelper.java │ ├── RedisCommandInvoker.java │ ├── RedisCommandProcessor.java │ ├── RedisCommandProcessorImpl.java │ ├── RedisException.java │ ├── dtype │ ├── AbstractStoreMedia.java │ ├── DatabaseRouter.java │ ├── HashStore.java │ ├── ListStore.java │ └── ValueStore.java │ ├── queue │ └── BlockingQueueHelper.java │ └── transaction │ ├── AbstractTransactionHandler.java │ └── QueueEvent.java ├── pom.xml ├── protol ├── pom.xml └── src │ └── main │ └── java │ └── redis │ ├── Command.java │ ├── RedisCommandDecoder.java │ ├── RedisProtocol.java │ ├── RedisReplyEncoder.java │ ├── SerializationUtil.java │ ├── netty4 │ ├── BulkReply.java │ ├── Command.java │ ├── ErrorReply.java │ ├── InlineReply.java │ ├── IntegerReply.java │ ├── MultiBulkReply.java │ ├── RedisCommandEncoder.java │ ├── RedisReplyDecoder.java │ ├── Reply.java │ └── StatusReply.java │ ├── reply │ ├── BulkReply.java │ ├── ErrorReply.java │ ├── IntegerReply.java │ ├── MultiBulkReply.java │ ├── Reply.java │ └── StatusReply.java │ └── util │ ├── BytesKey.java │ ├── BytesKeyObjectMap.java │ ├── BytesKeySet.java │ ├── BytesKeyZSet.java │ ├── BytesValue.java │ ├── Encoding.java │ ├── ZSet.java │ └── ZSetEntry.java ├── replication.png ├── storage-design.png ├── storage ├── pom.xml └── src │ └── main │ └── java │ └── com │ └── lmx │ └── jredis │ └── storage │ ├── BaseMedia.java │ ├── DataHelper.java │ ├── DataMedia.java │ ├── DataTypeEnum.java │ ├── IndexHelper.java │ └── LRUCache.java └── transport ├── pom.xml └── src ├── main ├── java │ └── com │ │ └── lmx │ │ └── jredis │ │ └── transport │ │ ├── MainApplication.java │ │ ├── NettyServer.java │ │ └── NettyServerHandler.java └── resources │ └── application.properties └── test └── java └── RedisTests.java /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/3kuai/hanbo-db/HEAD/.gitignore -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/3kuai/hanbo-db/HEAD/LICENSE -------------------------------------------------------------------------------- /README-cn.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/3kuai/hanbo-db/HEAD/README-cn.md -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/3kuai/hanbo-db/HEAD/README.md -------------------------------------------------------------------------------- /benchmark.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/3kuai/hanbo-db/HEAD/benchmark.md -------------------------------------------------------------------------------- /buffer-structure.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/3kuai/hanbo-db/HEAD/buffer-structure.png -------------------------------------------------------------------------------- /core/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/3kuai/hanbo-db/HEAD/core/pom.xml -------------------------------------------------------------------------------- /core/src/main/java/com/lmx/jredis/core/PubSubHelper.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/3kuai/hanbo-db/HEAD/core/src/main/java/com/lmx/jredis/core/PubSubHelper.java -------------------------------------------------------------------------------- /core/src/main/java/com/lmx/jredis/core/RedisCommandInvoker.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/3kuai/hanbo-db/HEAD/core/src/main/java/com/lmx/jredis/core/RedisCommandInvoker.java -------------------------------------------------------------------------------- /core/src/main/java/com/lmx/jredis/core/RedisCommandProcessor.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/3kuai/hanbo-db/HEAD/core/src/main/java/com/lmx/jredis/core/RedisCommandProcessor.java -------------------------------------------------------------------------------- /core/src/main/java/com/lmx/jredis/core/RedisCommandProcessorImpl.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/3kuai/hanbo-db/HEAD/core/src/main/java/com/lmx/jredis/core/RedisCommandProcessorImpl.java -------------------------------------------------------------------------------- /core/src/main/java/com/lmx/jredis/core/RedisException.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/3kuai/hanbo-db/HEAD/core/src/main/java/com/lmx/jredis/core/RedisException.java -------------------------------------------------------------------------------- /core/src/main/java/com/lmx/jredis/core/dtype/AbstractStoreMedia.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/3kuai/hanbo-db/HEAD/core/src/main/java/com/lmx/jredis/core/dtype/AbstractStoreMedia.java -------------------------------------------------------------------------------- /core/src/main/java/com/lmx/jredis/core/dtype/DatabaseRouter.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/3kuai/hanbo-db/HEAD/core/src/main/java/com/lmx/jredis/core/dtype/DatabaseRouter.java -------------------------------------------------------------------------------- /core/src/main/java/com/lmx/jredis/core/dtype/HashStore.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/3kuai/hanbo-db/HEAD/core/src/main/java/com/lmx/jredis/core/dtype/HashStore.java -------------------------------------------------------------------------------- /core/src/main/java/com/lmx/jredis/core/dtype/ListStore.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/3kuai/hanbo-db/HEAD/core/src/main/java/com/lmx/jredis/core/dtype/ListStore.java -------------------------------------------------------------------------------- /core/src/main/java/com/lmx/jredis/core/dtype/ValueStore.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/3kuai/hanbo-db/HEAD/core/src/main/java/com/lmx/jredis/core/dtype/ValueStore.java -------------------------------------------------------------------------------- /core/src/main/java/com/lmx/jredis/core/queue/BlockingQueueHelper.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/3kuai/hanbo-db/HEAD/core/src/main/java/com/lmx/jredis/core/queue/BlockingQueueHelper.java -------------------------------------------------------------------------------- /core/src/main/java/com/lmx/jredis/core/transaction/AbstractTransactionHandler.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/3kuai/hanbo-db/HEAD/core/src/main/java/com/lmx/jredis/core/transaction/AbstractTransactionHandler.java -------------------------------------------------------------------------------- /core/src/main/java/com/lmx/jredis/core/transaction/QueueEvent.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/3kuai/hanbo-db/HEAD/core/src/main/java/com/lmx/jredis/core/transaction/QueueEvent.java -------------------------------------------------------------------------------- /pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/3kuai/hanbo-db/HEAD/pom.xml -------------------------------------------------------------------------------- /protol/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/3kuai/hanbo-db/HEAD/protol/pom.xml -------------------------------------------------------------------------------- /protol/src/main/java/redis/Command.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/3kuai/hanbo-db/HEAD/protol/src/main/java/redis/Command.java -------------------------------------------------------------------------------- /protol/src/main/java/redis/RedisCommandDecoder.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/3kuai/hanbo-db/HEAD/protol/src/main/java/redis/RedisCommandDecoder.java -------------------------------------------------------------------------------- /protol/src/main/java/redis/RedisProtocol.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/3kuai/hanbo-db/HEAD/protol/src/main/java/redis/RedisProtocol.java -------------------------------------------------------------------------------- /protol/src/main/java/redis/RedisReplyEncoder.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/3kuai/hanbo-db/HEAD/protol/src/main/java/redis/RedisReplyEncoder.java -------------------------------------------------------------------------------- /protol/src/main/java/redis/SerializationUtil.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/3kuai/hanbo-db/HEAD/protol/src/main/java/redis/SerializationUtil.java -------------------------------------------------------------------------------- /protol/src/main/java/redis/netty4/BulkReply.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/3kuai/hanbo-db/HEAD/protol/src/main/java/redis/netty4/BulkReply.java -------------------------------------------------------------------------------- /protol/src/main/java/redis/netty4/Command.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/3kuai/hanbo-db/HEAD/protol/src/main/java/redis/netty4/Command.java -------------------------------------------------------------------------------- /protol/src/main/java/redis/netty4/ErrorReply.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/3kuai/hanbo-db/HEAD/protol/src/main/java/redis/netty4/ErrorReply.java -------------------------------------------------------------------------------- /protol/src/main/java/redis/netty4/InlineReply.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/3kuai/hanbo-db/HEAD/protol/src/main/java/redis/netty4/InlineReply.java -------------------------------------------------------------------------------- /protol/src/main/java/redis/netty4/IntegerReply.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/3kuai/hanbo-db/HEAD/protol/src/main/java/redis/netty4/IntegerReply.java -------------------------------------------------------------------------------- /protol/src/main/java/redis/netty4/MultiBulkReply.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/3kuai/hanbo-db/HEAD/protol/src/main/java/redis/netty4/MultiBulkReply.java -------------------------------------------------------------------------------- /protol/src/main/java/redis/netty4/RedisCommandEncoder.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/3kuai/hanbo-db/HEAD/protol/src/main/java/redis/netty4/RedisCommandEncoder.java -------------------------------------------------------------------------------- /protol/src/main/java/redis/netty4/RedisReplyDecoder.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/3kuai/hanbo-db/HEAD/protol/src/main/java/redis/netty4/RedisReplyDecoder.java -------------------------------------------------------------------------------- /protol/src/main/java/redis/netty4/Reply.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/3kuai/hanbo-db/HEAD/protol/src/main/java/redis/netty4/Reply.java -------------------------------------------------------------------------------- /protol/src/main/java/redis/netty4/StatusReply.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/3kuai/hanbo-db/HEAD/protol/src/main/java/redis/netty4/StatusReply.java -------------------------------------------------------------------------------- /protol/src/main/java/redis/reply/BulkReply.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/3kuai/hanbo-db/HEAD/protol/src/main/java/redis/reply/BulkReply.java -------------------------------------------------------------------------------- /protol/src/main/java/redis/reply/ErrorReply.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/3kuai/hanbo-db/HEAD/protol/src/main/java/redis/reply/ErrorReply.java -------------------------------------------------------------------------------- /protol/src/main/java/redis/reply/IntegerReply.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/3kuai/hanbo-db/HEAD/protol/src/main/java/redis/reply/IntegerReply.java -------------------------------------------------------------------------------- /protol/src/main/java/redis/reply/MultiBulkReply.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/3kuai/hanbo-db/HEAD/protol/src/main/java/redis/reply/MultiBulkReply.java -------------------------------------------------------------------------------- /protol/src/main/java/redis/reply/Reply.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/3kuai/hanbo-db/HEAD/protol/src/main/java/redis/reply/Reply.java -------------------------------------------------------------------------------- /protol/src/main/java/redis/reply/StatusReply.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/3kuai/hanbo-db/HEAD/protol/src/main/java/redis/reply/StatusReply.java -------------------------------------------------------------------------------- /protol/src/main/java/redis/util/BytesKey.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/3kuai/hanbo-db/HEAD/protol/src/main/java/redis/util/BytesKey.java -------------------------------------------------------------------------------- /protol/src/main/java/redis/util/BytesKeyObjectMap.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/3kuai/hanbo-db/HEAD/protol/src/main/java/redis/util/BytesKeyObjectMap.java -------------------------------------------------------------------------------- /protol/src/main/java/redis/util/BytesKeySet.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/3kuai/hanbo-db/HEAD/protol/src/main/java/redis/util/BytesKeySet.java -------------------------------------------------------------------------------- /protol/src/main/java/redis/util/BytesKeyZSet.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/3kuai/hanbo-db/HEAD/protol/src/main/java/redis/util/BytesKeyZSet.java -------------------------------------------------------------------------------- /protol/src/main/java/redis/util/BytesValue.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/3kuai/hanbo-db/HEAD/protol/src/main/java/redis/util/BytesValue.java -------------------------------------------------------------------------------- /protol/src/main/java/redis/util/Encoding.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/3kuai/hanbo-db/HEAD/protol/src/main/java/redis/util/Encoding.java -------------------------------------------------------------------------------- /protol/src/main/java/redis/util/ZSet.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/3kuai/hanbo-db/HEAD/protol/src/main/java/redis/util/ZSet.java -------------------------------------------------------------------------------- /protol/src/main/java/redis/util/ZSetEntry.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/3kuai/hanbo-db/HEAD/protol/src/main/java/redis/util/ZSetEntry.java -------------------------------------------------------------------------------- /replication.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/3kuai/hanbo-db/HEAD/replication.png -------------------------------------------------------------------------------- /storage-design.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/3kuai/hanbo-db/HEAD/storage-design.png -------------------------------------------------------------------------------- /storage/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/3kuai/hanbo-db/HEAD/storage/pom.xml -------------------------------------------------------------------------------- /storage/src/main/java/com/lmx/jredis/storage/BaseMedia.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/3kuai/hanbo-db/HEAD/storage/src/main/java/com/lmx/jredis/storage/BaseMedia.java -------------------------------------------------------------------------------- /storage/src/main/java/com/lmx/jredis/storage/DataHelper.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/3kuai/hanbo-db/HEAD/storage/src/main/java/com/lmx/jredis/storage/DataHelper.java -------------------------------------------------------------------------------- /storage/src/main/java/com/lmx/jredis/storage/DataMedia.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/3kuai/hanbo-db/HEAD/storage/src/main/java/com/lmx/jredis/storage/DataMedia.java -------------------------------------------------------------------------------- /storage/src/main/java/com/lmx/jredis/storage/DataTypeEnum.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/3kuai/hanbo-db/HEAD/storage/src/main/java/com/lmx/jredis/storage/DataTypeEnum.java -------------------------------------------------------------------------------- /storage/src/main/java/com/lmx/jredis/storage/IndexHelper.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/3kuai/hanbo-db/HEAD/storage/src/main/java/com/lmx/jredis/storage/IndexHelper.java -------------------------------------------------------------------------------- /storage/src/main/java/com/lmx/jredis/storage/LRUCache.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/3kuai/hanbo-db/HEAD/storage/src/main/java/com/lmx/jredis/storage/LRUCache.java -------------------------------------------------------------------------------- /transport/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/3kuai/hanbo-db/HEAD/transport/pom.xml -------------------------------------------------------------------------------- /transport/src/main/java/com/lmx/jredis/transport/MainApplication.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/3kuai/hanbo-db/HEAD/transport/src/main/java/com/lmx/jredis/transport/MainApplication.java -------------------------------------------------------------------------------- /transport/src/main/java/com/lmx/jredis/transport/NettyServer.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/3kuai/hanbo-db/HEAD/transport/src/main/java/com/lmx/jredis/transport/NettyServer.java -------------------------------------------------------------------------------- /transport/src/main/java/com/lmx/jredis/transport/NettyServerHandler.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/3kuai/hanbo-db/HEAD/transport/src/main/java/com/lmx/jredis/transport/NettyServerHandler.java -------------------------------------------------------------------------------- /transport/src/main/resources/application.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/3kuai/hanbo-db/HEAD/transport/src/main/resources/application.properties -------------------------------------------------------------------------------- /transport/src/test/java/RedisTests.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/3kuai/hanbo-db/HEAD/transport/src/test/java/RedisTests.java --------------------------------------------------------------------------------