1. 程式人生 > >玩一玩 golang 之 etcd 基礎操作

玩一玩 golang 之 etcd 基礎操作

etcd的安裝

下載原始碼, 編譯執行

git clone https://github.com/coreos/etcd.git
$ cd etcd
$ ./build
$ ./bin/etcd

測試etcd

設定值

$ ETCDCTL_API=3 ./bin/etcdctl put foo bar
OK

獲取值


$ ETCDCTL_API=3 ./bin/etcdctl get foo
foo
bar

下載go第三方庫

go get github.com/coreos/etcd/clientv3

設定值與獲取值

package main

import (
    "context"
"fmt" "github.com/coreos/etcd/clientv3" "time" ) func main() { cli, err := clientv3.New(clientv3.Config{ Endpoints: []string{"localhost:2379", "localhost:22379", "localhost:32379"}, DialTimeout: 5 * time.Second, }) if err != nil { fmt.Println("connect failed, err:"
, err) return } fmt.Println("connect succ") defer cli.Close() ctx, cancel := context.WithTimeout(context.Background(), time.Second) _, err = cli.Put(ctx, "/logagent/conf/", "sample_value") cancel() if err != nil { fmt.Println("put failed, err:", err) return } ctx, cancel = context.WithTimeout
(context.Background(), time.Second) resp, err := cli.Get(ctx, "/logagent/conf/") cancel() if err != nil { fmt.Println("get failed, err:", err) return } for _, ev := range resp.Kvs { fmt.Printf("%s : %s\n", ev.Key, ev.Value) } }

watch操作

package main

import (
    etcd_client "github.com/coreos/etcd/clientv3"
    "time"
    "fmt"
    "context"
)

func main() {
    client, err := etcd_client.New(etcd_client.Config{
        Endpoints:   []string{"localhost:2379", "localhost:22379", "localhost:32379"},
        DialTimeout: 5 * time.Second,
    })
    if err != nil {
        fmt.Printf("connect failed ,err ", err)
        return
    }

    defer client.Close()

    background := context.Background()
    client.Put(background, "/logagent/conf/", "123456")
    if err != nil {
        fmt.Println("err :", err)
        return
    }

    fmt.Println("connec success !!")
    for {
        watch := client.Watch(context.Background(), "/logagent/conf/")
        for wresp := range watch {
            for _, v := range wresp.Events {
                fmt.Printf("%s %q : %q \n", v.Type,v.Kv.Key,v.Kv.Value)
            }
        }
    }
}

相關推薦

golang etcd 基礎操作

etcd的安裝 下載原始碼, 編譯執行 git clone https://github.com/coreos/etcd.git $ cd etcd $ ./build $ ./bin/etcd 測試etcd 設定值 $ ETCDCTL

轉大資料——通過java操作office/wps的 EXCEL

操作Office文件,要用到apache公司的一個工具包: poi-3.7-20101029.jar poi外掛的使用方式類似dom技術 不同版本: 接下來進行演示功能: 1.用純Java技術實現建立一個名為a.xls的檔案(工作薄), 在其中新

Python繪圖動態簡潔時鐘!小案例

  進群;960410445   即可獲取數十套PDF! 繪製程式碼 import turtle from datetime import * # 畫筆向前運動一段距離停下 def Skip(step): turtle.penup()

為什麽說程序員都應該GitHub

登錄 sign cloud rep 至少 後者 服務 沒有 是把 既熟悉又陌生的GitHub 關於GitHub,相信每一個程序員都再熟悉不過了。它為開發者提供Git倉庫的托管服務,是全世界最大的代碼集中地,被戲稱為“全球最大同性交友網站”。

WinFormBindingSource基礎操作實例教程

back only 參數 ase this reports mil com 使用 通常我們在進行數據綁定的時候,常用的數據源有DataSet、DataTable、BindingList<T>、還有強類型數據源。今天我們來通過實例了解一下BindingSourc

文本三劍客awk基礎操作

line 範圍 item之間 $nf 可選 小數點 expr i++ 科學計數法 1. awk基本介紹 功能說明:gawk - pattern scanning and processing languageawk是GNU項目,所以其實際的命令為gawk,因awk命令的二進

.NET Core Ocelot API網關

gin 配置服務 exceptio gen .config services local lec new .net 這幾年國內確實不好過。 很多都選擇轉行。不過.net Core跨平臺 開源之後 。社區的生態在慢慢建立。往好的趨勢發展。 對於堅守在.NET戰線的開發者來說

解決Laya釋出匯出QQ,替換最新的qqPlayCore.js後黑屏問題

QQ玩一玩除錯工具VS Code外掛下載 https://hudong.qq.com/docs/engine/debug/tools.html 最近QQ玩一玩核心qqPlayCore.js更新,官方的版本太老了 下載最新qqPlayCore.js檔案 https://h

數組

let lse length string clas div dex else != 1.// 搖號( 隨機抽取不重復數組 ) var arr = ‘01234‘.split(‘‘); var time = arr.length;

轉QQ分享,讓遊戲增加新的活力

邀請好友功能怎麼做? 個人性化分享怎麼做?分享是否成功? 分享渠道如何判斷? 耐心看完會給你一個答案 玩轉QQ玩一玩分享,讓遊戲增加新的活力 相關參考連結 設計規範 分享圖片尺寸:長寬比16:9 分享能力文件 分享使用場景 分

QQ常見異常總結與解決方案

文章目錄 1、遊戲啟動時QQPlayCore.js 出現異常 2、卡在99%載入介面 以及 啟動失敗,請稍後重試哦~ 3、此遊戲啟動耗時太久,請優化 1、遊戲

QQ最新除錯方法

模擬器上測試不能除錯與手Q相關的介面,而非手Q相關的介面如果是使用CocosCreator開發可以直接使用瀏覽器除錯。 QQ玩一玩最新除錯方法。之前的特殊版本手Q可以下崗了 目前QQ玩一玩只支援Android機。為什麼只支援Android機? 與手Q相關

QQ 獲取使用者影象暱稱以及CocosCreator動態載入網路圖片

文章目錄 1、CocosCreator 載入圖片的幾種方式 2、QQ 玩一玩通過openId獲取使用者影象、暱稱 QQ 玩一玩獲取使用者影象、暱稱以及CocosC

記錄白鷺接的坑

1.遊戲內所有文字往下偏移 這是因為 egret.brick.js 在將 TextField 轉為 BKTextField 時計算高度有問題,修改如下: // 修改前 BKCanvasRenderer.prototype.renderText = function (node,

Oracle():Oracle登入與基礎操作

win+R --> cmd --> sqlplus username/password   //以指定使用者名稱/密碼身份登入 1.以管理員登入 C:\Users\Administrator>sqlplus system/root 2.切換使用者 co

Python寫個俄羅斯方塊

主要使用Python的庫PyQt5 執行程式後出現這個畫面,當然在學習Python的道路上肯定會困難,沒有好的學習資料,怎麼去學習呢?                 學習Python中有不明白推薦加入交流群

QQ獲取PUIN

官方參考連結 https://hudong.qq.com/docs/engine/userInfo/pubAccount.html 前提概要 文件中詳細描述了查詢是否關注公眾號以及進入公眾號主頁 這兩個介面。但都需要PUIN,如何獲取PUIN呢?官方文件描述如下。 獲取P

白鷺,釐米秀小遊戲湯坑

輸入vsix 安裝外掛後連線手機 百度自己手機型號的usb除錯模式如何開啟  開啟它 2.用白鷺引擎將自己的專案釋出到玩一玩平臺 用vscode開啟res資料夾 去白鷺官方檢視常見的問題 先解決了 我主要遇到沒替換promise.js報錯的問題

Egret QQ適配【踩坑日記】

需要申明一點,這是我接過最坑的渠道了,各種神奇的問題,首先是介面比較奇怪而且新舊版本搞得很混亂,其次是平臺底層實現效能差而且很多限制。此外,這裡需要理清楚一個概念:QQ 玩一玩 和 QQ 玩吧 並非同一個東西,QQ 玩一玩也叫 QQ 輕遊戲 或 釐米遊戲 ,是基於 brick

QQ(輕遊戲)開發環境搭建與除錯

玩一玩開發環境搭建與除錯 前言 鑑於玩一玩開發目前只能基於Mac平臺開發,由於專案組的同學沒有Android的開發除錯經驗,操作起來不是非常的熟練,IOS除錯操作不便,故在此分享,如果您是老司機可以忽略本文。-By Javen Mac電腦推薦安裝: