cache

package
v3.0.0-...-9d75b9b Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 7, 2022 License: Apache-2.0 Imports: 6 Imported by: 0

README

Registry Cache

Cache is a library that provides a caching layer for the go-micro registry.

If you're looking for caching in your microservices use the selector.

Interface

// Cache is the registry cache interface
type Cache interface {
	// embed the registry interface
	registry.Registry
	// stop the cache watcher
	Stop()
}

Usage

import "github.com/micro/go-micro/registry/cache"

# create a new cache
c := cache.New(registry)

# get a service from the cache
services, _ := c.GetService("helloworld")

Documentation

Overview

Package cache provides a registry cache

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Copy

func Copy(current []*registry.Service) []*registry.Service

Copy makes a copy of services

func CopyService

func CopyService(service *registry.Service) *registry.Service

CopyService make a copy of service

func Merge

func Merge(olist []*registry.Service, nlist []*registry.Service) []*registry.Service

Merge merges two lists of services and returns a new copy

func Remove

func Remove(old, del []*registry.Service) []*registry.Service

Remove removes services and returns a new copy

Types

type Cache

type Cache interface {
	// embed the registry interface
	registry.Registry
	// stop the cache watcher
	Stop()
}

Cache is the registry cache interface

func New

func New(r registry.Registry, opts ...Option) Cache

New returns a new cache

type Option

type Option func(o *Options)

func WithTTL

func WithTTL(t time.Duration) Option

WithTTL sets the cache TTL

type Options

type Options struct {
	// TTL is the cache TTL
	TTL time.Duration
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL