티스토리 뷰

Go

[go] memcached 간단 예제

SchoolDevops 2022. 5. 17. 13:09

Elasticache for Memcached

Memcached Go Library 이용하기

Local Memcached with Docker

  • DOCKER를 이용하여 Memcached 실행하기.
docker run -d -p 11211:11211 memcached

go module 가져오기

  • 모듈 초기화 하기
go mod init github.com/schooldevops/memcached
  • memcached 라이브러리 획득하기
go get github.com/bradfitz/gomemcache/memcache

샘플 코드 작성

package main

import (
	"fmt"

	"github.com/bradfitz/gomemcache/memcache"
)

func main() {
	// Memcached에 커넥션을 연결한다. 
	mc := memcache.New("localhost:11211")

	// key/value 을 Memcached에 저장한다. 
	mc.Set(&memcache.Item{Key: "greeting", Value: []byte("Hello World")})

	// key를 이용하여 값을 조회한다. 결과값은 byte이다.
	item, err := mc.Get("greeting")

	if err != nil {
		panic("Error go with Panic")
	}

	// key, value, flags, expiration 값을 각각 조회한다.
	fmt.Println("Hello Greeting Key: ", item.Key)
	fmt.Println("Hello Greeting Value: ", string(item.Value))
	fmt.Println("Hello Greeting Flags: ", item.Flags)
	fmt.Println("Hello Greeting Expiration: ", item.Expiration)

}
  • memcache.New:
    • memcached 커넥션을 생성한다.
  • mc.Set:
    • 키/값 을 저장한다.
  • mc.Get:
    • 키에 대해서 값을 조회한다.
    • item으로 반환되며, (키, 값, 플래그, 유효시간) 을 가지고 있다.

테스트

$ go run main.go

Hello Greeting Key:  greeting
Hello Greeting Value:  Hello World
Hello Greeting Flags:  0
Hello Greeting Expiration:  0

관련 라이브러리

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/04   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
글 보관함