wosiwo / gedis

a nosql database that use go to realize redis like nosql

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

gedis

a slimple demo that use go to realize redis like nosql

使用go实现类似redis的nosql服务 目前已经实现kv,hash,zset,set等数据类型

  • 启动服务
    go run server.go
    
  • 客户端直接使用redis-cli
    redis-cli -p 9997
    

TODO

  • 时间任务,清理过期key
  • 页面置换算法LRU,LFU
  • 主从同步
  • 支持持久化
  • 支持事务ACID特性
  • 性能优化
  • 使用协程的情况下,处理并发冲突
  • 操作已存在key时,先判断类型

DONE

  • 统一db的存储结构
  • 支持redis通信协议
  • 使用纯go实现的跳跃表
  • 支持set数据类型
  • 支持list数据类型
  • 默认配置启动
  • 代码结构整理

引用代码

参考了redis源码与godis项目

About

a nosql database that use go to realize redis like nosql


Languages

Language:Go 81.4%Language:C 18.6%