三、連接Memcachedl實(shí)例
白名單設(shè)置
1、在云數(shù)據(jù)庫管理面板中的Memcached產(chǎn)品的白名單中進(jìn)行添加

2、在白名單添加面板中填入名稱信息、相應(yīng)的規(guī)則、對(duì)應(yīng)關(guān)聯(lián)的實(shí)例。添加后記得啟用規(guī)則。


連接實(shí)例
1、登錄我們的應(yīng)用服務(wù)器(以Linux為例),測試網(wǎng)絡(luò)端口情況(如:telnet、tcping)。

2、安裝Memcached連接客戶端測試。這里使用go語言編寫了一個(gè)連接測試代碼。用代碼go build打包下。
package main
import (
"flag"
"fmt"
"log"
"os"
"github.com/memcachier/mc/v3"
)
func main() {
// Define CLI flags
ip := flag.String("ip", "127.0.0.1", "Memcached server IP address")
port := flag.String("port", "11211", "Memcached server port")
username := flag.String("username", "root", "Memcached username")
password := flag.String("password", "", "Memcached password")
key := flag.String("key", "", "Key to read/write in Memcached")
value := flag.String("value", "", "Value to write to Memcached")
// Custom usage message
flag.Usage = func() {
fmt.Fprintf(os.Stderr, "Usage: %s [options]\\n", os.Args[0])
fmt.Fprintf(os.Stderr, "Options:\\n")
flag.PrintDefaults()
fmt.Fprintf(os.Stderr, "\\nExamples:\\n")
fmt.Fprintf(os.Stderr, " Connect to Memcached server:\\n")
fmt.Fprintf(os.Stderr, " %s -ip 10.104.1.9 -port 11211 -username root -password abcABC@123\\n", os.Args[0])
fmt.Fprintf(os.Stderr, " Write key-value pair:\\n")
fmt.Fprintf(os.Stderr, " %s -ip 10.104.1.9 -port 11211 -username root -password abcABC@123 -key example_key -value example_value\\n", os.Args[0])
fmt.Fprintf(os.Stderr, " Read value:\\n")
fmt.Fprintf(os.Stderr, " %s -ip 10.104.1.9 -port 11211 -username root -password abcABC@123 -key example_key\\n", os.Args[0])
fmt.Fprintf(os.Stderr, " Retrieve server statistics:\\n")
fmt.Fprintf(os.Stderr, " %s -ip 10.104.1.9 -port 11211 -username root -password abcABC@123\\n", os.Args[0])
}
// Parse CLI flags
flag.Parse()
// Create a new Memcached client
client := mc.NewMC(fmt.Sprintf("%s:%s", *ip, *port), *username, *password)
if client == nil {
log.Fatalf("NewMC(%s:%s, %s, %s) returned error", *ip, *port, *username, *password)
}
defer client.Quit()
if *key != "" {
if *value != "" {
// Write data to Memcached
ok, err := client.Set(*key, *value, 0, 0, 0)
if err != nil || ok == 0 {
log.Fatalf("Error setting key '%s': %v", *key, err)
}
fmt.Printf("Set key '%s' with value '%s'\\n", *key, *value)
} else {
// Read data from Memcached
value, _, _, err := client.Get(*key)
if err != nil {
log.Fatalf("Error getting key '%s': %v", *key, err)
}
fmt.Printf("Retrieved value for key '%s': %s\\n", *key, value)
}
} else {
// Get Memcached statistics
stats, err := client.Stats()
if err != nil {
log.Fatalf("Error getting stats: %v", err)
}
// Print statistics
for server, stat := range stats {
fmt.Printf("Stats for server %s:\\n", server)
for key, value := range stat {
fmt.Printf("%s: %s\\n", key, value)
}
}
}
}
3、然后在服務(wù)器服務(wù)器上連接使用,這里我打包成mc-cli,然后再Linux服務(wù)器給予執(zhí)行權(quán)限后執(zhí)行使用。
chmod +x mc-cli
./mc-cli --help

./mc-cli -ip 內(nèi)網(wǎng)IP -port 11211 -username root -password 密碼
