咨询热线:4006-75-4006

售前:9:00-23:30    备案:9:00-18:00    技术:7*24h

目录

三、连接Memcachedl实例

白名单设置

1、在云数据库管理面板中的Memcached产品的白名单中进行添加

image-72.png

2、在白名单添加面板中填入名称信息、相应的规则、对应关联的实例。添加后记得启用规则。

image-73.png

image-74.png

连接实例

1、登录我们的应用服务器(以Linux为例),测试网络端口情况(如:telnet、tcping)。

image-16.png

2、安装Memcached连接客户端测试。这里使用go语言编写了一个连接测试代码。用代码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、然后在服务器服务器上连接使用,这里我打包成mc-cli,然后再Linux服务器给予执行权限后执行使用。

chmod +x mc-cli
./mc-cli --help 

image-75.png

./mc-cli -ip 内网IP -port 11211 -username root -password 密码

image-76.png


首页
最新活动
个人中心