redis

package
v1.5.2 Latest Latest
Warning

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

Go to latest
Published: Apr 21, 2023 License: Apache-2.0 Imports: 10 Imported by: 0

README

Kubemq GCP-Redis Target Connector

Kubemq redis target connector allows services using kubemq server to access redis server functions such set, get and delete.

Prerequisites

The following are required to run the redis target connector:

  • kubemq cluster
  • redis v5.0.0 (or later)
  • access to gcp redis server
  • kubemq-targets deployment

Configuration

Redis target connector configuration properties:

Properties Key Required Description Example
url yes redis connection string "redis://localhost:6379"

Example:

bindings:
  - name: kubemq-query-redis
    source:
      kind: kubemq.kubemq.query
      name: kubemq-query
      properties:
        host: "localhost"
        port: "50000"
        client_id: "kubemq-query-redis-connector"
        auth_token: ""
        channel: "query.redis"
        group:   ""
        concurrency: "1"
        auto_reconnect: "true"
        reconnect_interval_seconds: "1"
        max_reconnects: "0"
    target:
      kind: gcp.cache.redis
      name: target-redis
      properties:
          url: "redis://localhost:6379"

Usage

Get Request

Get request metadata setting:

Metadata Key Required Description Possible values
key yes redis key string any string
method yes get "get"

Example:

{
  "metadata": {
    "key": "your-redis-key",
    "method": "get"
  },
  "data": null
}
Set Request

Set request metadata setting:

Metadata Key Required Description Possible values
key yes redis key string any string
method yes set "set"
etag no set etag version "0"
concurrency no set concurrency ""
"first-write"
"last-write"
consistency no set consistency ""
"strong"
"eventual"

Set request data setting:

Data Key Required Description Possible values
data yes data to set for the redis key base64 bytes array

Example:

{
  "metadata": {
    "key": "your-redis-key",
    "method": "set",
    "etag": "0",
    "concurrency": "",
    "consistency": ""
  },
  "data": "c29tZS1kYXRh" 
}
Delete Request

Delete request metadata setting:

Metadata Key Required Description Possible values
key yes redis key string any string
method yes delete "delete"

Example:

{
  "metadata": {
    "key": "your-redis-key",
    "method": "delete"
  },
  "data": null
}

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Connector

func Connector() *common.Connector

Types

type Client

type Client struct {
	// contains filtered or unexported fields
}

Client is a Client state store

func New

func New() *Client

func (*Client) Connector

func (c *Client) Connector() *common.Connector

func (*Client) Delete

func (c *Client) Delete(ctx context.Context, meta metadata) (*types.Response, error)

func (*Client) Do

func (c *Client) Do(ctx context.Context, req *types.Request) (*types.Response, error)

func (*Client) Get

func (c *Client) Get(ctx context.Context, meta metadata) (*types.Response, error)

func (*Client) Init

func (c *Client) Init(ctx context.Context, cfg config.Spec, log *logger.Logger) error

func (*Client) Set

func (c *Client) Set(ctx context.Context, meta metadata, value []byte) (*types.Response, error)

func (*Client) Stop

func (c *Client) Stop() error

Jump to

Keyboard shortcuts

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