├── .gitignore ├── README.md ├── app ├── app.go ├── config.go └── factory.go ├── database ├── executor.go ├── struct.go └── trigger.go ├── datastore ├── expire.go ├── hash.go ├── hash_test.go ├── kv_store.go ├── list.go ├── list_test.go ├── persist.go ├── set.go ├── set_test.go ├── sorted_set.go ├── sorted_set_test.go └── string.go ├── go.mod ├── go.sum ├── goredis_test.go ├── handler ├── handler.go ├── persister.go ├── reply.go └── struct.go ├── img ├── database.png ├── frame.png └── logic.png ├── lib ├── pool │ └── pool.go └── time.go ├── log └── log.go ├── main.go ├── persist ├── aof.go ├── aof_rewrite.go └── persist.go ├── protocol └── parser.go ├── redis.conf ├── server └── server.go └── start.sh /.gitignore: -------------------------------------------------------------------------------- 1 | *.log 2 | *.output 3 | *.aof -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xiaoxuxiansheng/goredis/HEAD/README.md -------------------------------------------------------------------------------- /app/app.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xiaoxuxiansheng/goredis/HEAD/app/app.go -------------------------------------------------------------------------------- /app/config.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xiaoxuxiansheng/goredis/HEAD/app/config.go -------------------------------------------------------------------------------- /app/factory.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xiaoxuxiansheng/goredis/HEAD/app/factory.go -------------------------------------------------------------------------------- /database/executor.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xiaoxuxiansheng/goredis/HEAD/database/executor.go -------------------------------------------------------------------------------- /database/struct.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xiaoxuxiansheng/goredis/HEAD/database/struct.go -------------------------------------------------------------------------------- /database/trigger.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xiaoxuxiansheng/goredis/HEAD/database/trigger.go -------------------------------------------------------------------------------- /datastore/expire.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xiaoxuxiansheng/goredis/HEAD/datastore/expire.go -------------------------------------------------------------------------------- /datastore/hash.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xiaoxuxiansheng/goredis/HEAD/datastore/hash.go -------------------------------------------------------------------------------- /datastore/hash_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xiaoxuxiansheng/goredis/HEAD/datastore/hash_test.go -------------------------------------------------------------------------------- /datastore/kv_store.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xiaoxuxiansheng/goredis/HEAD/datastore/kv_store.go -------------------------------------------------------------------------------- /datastore/list.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xiaoxuxiansheng/goredis/HEAD/datastore/list.go -------------------------------------------------------------------------------- /datastore/list_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xiaoxuxiansheng/goredis/HEAD/datastore/list_test.go -------------------------------------------------------------------------------- /datastore/persist.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xiaoxuxiansheng/goredis/HEAD/datastore/persist.go -------------------------------------------------------------------------------- /datastore/set.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xiaoxuxiansheng/goredis/HEAD/datastore/set.go -------------------------------------------------------------------------------- /datastore/set_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xiaoxuxiansheng/goredis/HEAD/datastore/set_test.go -------------------------------------------------------------------------------- /datastore/sorted_set.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xiaoxuxiansheng/goredis/HEAD/datastore/sorted_set.go -------------------------------------------------------------------------------- /datastore/sorted_set_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xiaoxuxiansheng/goredis/HEAD/datastore/sorted_set_test.go -------------------------------------------------------------------------------- /datastore/string.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xiaoxuxiansheng/goredis/HEAD/datastore/string.go -------------------------------------------------------------------------------- /go.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xiaoxuxiansheng/goredis/HEAD/go.mod -------------------------------------------------------------------------------- /go.sum: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xiaoxuxiansheng/goredis/HEAD/go.sum -------------------------------------------------------------------------------- /goredis_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xiaoxuxiansheng/goredis/HEAD/goredis_test.go -------------------------------------------------------------------------------- /handler/handler.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xiaoxuxiansheng/goredis/HEAD/handler/handler.go -------------------------------------------------------------------------------- /handler/persister.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xiaoxuxiansheng/goredis/HEAD/handler/persister.go -------------------------------------------------------------------------------- /handler/reply.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xiaoxuxiansheng/goredis/HEAD/handler/reply.go -------------------------------------------------------------------------------- /handler/struct.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xiaoxuxiansheng/goredis/HEAD/handler/struct.go -------------------------------------------------------------------------------- /img/database.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xiaoxuxiansheng/goredis/HEAD/img/database.png -------------------------------------------------------------------------------- /img/frame.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xiaoxuxiansheng/goredis/HEAD/img/frame.png -------------------------------------------------------------------------------- /img/logic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xiaoxuxiansheng/goredis/HEAD/img/logic.png -------------------------------------------------------------------------------- /lib/pool/pool.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xiaoxuxiansheng/goredis/HEAD/lib/pool/pool.go -------------------------------------------------------------------------------- /lib/time.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xiaoxuxiansheng/goredis/HEAD/lib/time.go -------------------------------------------------------------------------------- /log/log.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xiaoxuxiansheng/goredis/HEAD/log/log.go -------------------------------------------------------------------------------- /main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xiaoxuxiansheng/goredis/HEAD/main.go -------------------------------------------------------------------------------- /persist/aof.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xiaoxuxiansheng/goredis/HEAD/persist/aof.go -------------------------------------------------------------------------------- /persist/aof_rewrite.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xiaoxuxiansheng/goredis/HEAD/persist/aof_rewrite.go -------------------------------------------------------------------------------- /persist/persist.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xiaoxuxiansheng/goredis/HEAD/persist/persist.go -------------------------------------------------------------------------------- /protocol/parser.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xiaoxuxiansheng/goredis/HEAD/protocol/parser.go -------------------------------------------------------------------------------- /redis.conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xiaoxuxiansheng/goredis/HEAD/redis.conf -------------------------------------------------------------------------------- /server/server.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xiaoxuxiansheng/goredis/HEAD/server/server.go -------------------------------------------------------------------------------- /start.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xiaoxuxiansheng/goredis/HEAD/start.sh --------------------------------------------------------------------------------