分享
这是一个创建于 的主题,其中的信息可能已经有所发展或是发生改变。
# lightkv 轻量化key-value服务 https://github.com/llr104/lightkv
## 启动server
```bash
go run main/server.go
```
- 会启动一个api服务(http://localhost:9981) 和一个rpc服务(9980端口)
- http://localhost:9981/put?key=add1&value=addvalue1 api新增一条kv,key为add1,value为addvalue1,kv不过期
- http://localhost:9981/put?key=add2&value=addvalue2&expire=100 api新增一条kv,key为add2,value为addvalue2,100秒后kv过期
- http://localhost:9981/del/add2 api删除key为add2的kv
- http://localhost:9981/get/add1 api获取key为add1的kv
## 启动测试rpc客户端
```bash
go run main/client.go
```
## rpc 客户端用法
```go
c := server.NewClient()
c.Start()
//添加kv
c.Put("test", "test_value", 0)
c.Put("test1/tttt", "test1_value", 0)
c.Put("test2", "test2_value", 20)
//删除kv
c.Del("test")
v := c.Get("test2")
fmt.Printf("test2:%s\n", v)
//监听key值,发生变化回调通知
c.WatchKey("watch1", func(k string, v string, t cache.OpType) {
fmt.Printf("watch key:%s, value:%s, type:%d\n", k, v, t)
})
//key值发生变化回调通知
c.WatchKey("unwatch", func(k string, v string, t cache.OpType) {
fmt.Printf("watch key:%s, value:%s, type:%d\n", k, v, t)
})
//取消监听key值的变化
c.UnWatchKey("unwatch")
c.Close()
```
有疑问加站长微信联系(非本文作者)
入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889
关注微信1185 次点击
添加一条新回复
(您需要 后才能回复 没有账号 ?)
- 请尽量让自己的回复能够对别人有帮助
- 支持 Markdown 格式, **粗体**、~~删除线~~、
`单行代码` - 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
- 图片支持拖拽、截图粘贴等方式上传