记录一个go实现 etcd存取的小demo以便使用
2017-04-12 13:59
281 查看
import (
"fmt"
"io/ioutil"
"log"
"net/http"
"strings"
)
var (
client = &http.Client{}
baseurl = "http://"
)
//url --etcd Url
func read(key string) {
url := baseurl + key
request, erro := http.NewRequest("GET", url, nil)
if erro != nil {
log.Print(erro)
}
//发起请求
response, err := client.Do(request)
if err != nil {
log.Print(err)
}
if response.StatusCode != 200 {
log.Print("读取数据失败")
}
//从响应bidy读取数据
object, err := ioutil.ReadAll(response.Body)
if err != nil {
log.Print(err)
}
fmt.Println(string(object))
}
func set(key, value string) {
url := baseurl + key
request, err := http.NewRequest("PUT", url, strings.NewReader("value="+url.QueryEscape(value)))
if err != nil {
log.Print(err)
}
request.Header.Add("Content-Type", "application/x-www-form-urlencoded")
reponse, err := client.Do(request)
if err != nil {
log.Print(err)
}
if reponse.StatusCode != 200 {
log.Print("存入数据失败")
}
object, err := ioutil.ReadAll(response.Body)
if err != nil {
log.Print(err)
}
fmt.Println(string(object))
}
"fmt"
"io/ioutil"
"log"
"net/http"
"strings"
)
var (
client = &http.Client{}
baseurl = "http://"
)
//url --etcd Url
func read(key string) {
url := baseurl + key
request, erro := http.NewRequest("GET", url, nil)
if erro != nil {
log.Print(erro)
}
//发起请求
response, err := client.Do(request)
if err != nil {
log.Print(err)
}
if response.StatusCode != 200 {
log.Print("读取数据失败")
}
//从响应bidy读取数据
object, err := ioutil.ReadAll(response.Body)
if err != nil {
log.Print(err)
}
fmt.Println(string(object))
}
func set(key, value string) {
url := baseurl + key
request, err := http.NewRequest("PUT", url, strings.NewReader("value="+url.QueryEscape(value)))
if err != nil {
log.Print(err)
}
request.Header.Add("Content-Type", "application/x-www-form-urlencoded")
reponse, err := client.Do(request)
if err != nil {
log.Print(err)
}
if reponse.StatusCode != 200 {
log.Print("存入数据失败")
}
object, err := ioutil.ReadAll(response.Body)
if err != nil {
log.Print(err)
}
fmt.Println(string(object))
}
相关文章推荐
- 使用php完成一个用户注册以及管理的demo(php实现单文件与多文件的上传)
- 这是一个使用mvp模式实现模拟用户登录的简单Demo。
- 对Guava Cache的封装和使用(包括一个管理页面实现了查看统计信息、情况、查看记录等)
- 2017-6-14 关于使用history.go的问题!配合原生应用嵌入H5页面(只有一个webview的的单页应用)返回历史列表记录的问题
- 使用Android GPS api 实现一个轨迹记录的小功能
- struts2学习笔记--使用servletAPI实现ajax的一个小Demo
- android如何使用BroadcastReceiver后台实现来电通话记录的监听并存取到sqllite数据库通过Contentprovilder实现接口
- 使用go channel实现一个简单的信号量
- 创建一个羊类,使用static实现数羊,记录一共创建了几只羊
- 对Guava Cache的封装和使用(包括一个管理页面实现了查看统计信息、情况、查看记录等)
- Swift3.0 GCD定时器的使用,实现倒计时,UIDatePicker的使用, 仿写一个活动倒计时的DEMO
- 对Guava Cache的封装和使用(包括一个管理页面实现了查看统计信息、情况、查看记录等)
- Go/Python/Erlang编程语言对比分析及示例 基于RabbitMQ.Client组件实现RabbitMQ可复用的 ConnectionPool(连接池) 封装一个基于NLog+NLog.Mongo的日志记录工具类LogUtil 分享基于MemoryCache(内存缓存)的缓存工具类,C# B/S 、C/S项目均可以使用!
- 对Guava Cache的封装和使用(包括一个管理页面实现了查看统计信息、情况、查看记录等)
- 手把手做一个JSP入门程序(七):使用Cookie实现浏览记录(JSP)
- DBUtils 的使用 之 ResultSetHandler的实现 类;ArrayListHandler: 将多条记录封装到一个装有Object[]的List集合中。BeanHandler:(常用)将
- 发布一个参考ssdb,使用go类似的实现redis高性能nosql:ledisdb
- 在一个缓冲去内实现三个栈,使用自有链表记录空闲块
- 一个很简单的demo来演示一个账号只能同时被一个人使用(Java实现)
- 使用NLog实现一个简单的日志记录(包含源代码)