cache

package
v2.2.0 Latest Latest
Warning

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

Go to latest
Published: Feb 23, 2024 License: Apache-2.0 Imports: 11 Imported by: 0

Documentation

Overview

Copyright 2023 The KodeRover Authors.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ICache

type ICache interface {
	Store(key string, data string) error
	Load(key string) (string, error)
	List() ([]string, error)
	Exists(key string) bool
	IsCacheDisabled() bool
}

func New

func New(noCache bool) ICache

New returns a memory cache which implements the iCache interface

func NewMemCache

func NewMemCache(noCache bool) ICache

type MemCache

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

func (*MemCache) Exists

func (s *MemCache) Exists(key string) bool

func (*MemCache) IsCacheDisabled

func (s *MemCache) IsCacheDisabled() bool

func (*MemCache) List

func (s *MemCache) List() ([]string, error)

func (*MemCache) Load

func (s *MemCache) Load(key string) (string, error)

func (*MemCache) Store

func (s *MemCache) Store(key string, data string) error

type RedisCache

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

func NewRedisCache

func NewRedisCache(db int) *RedisCache

NewRedisCache callers has to make sure the caller has the settings for redis in their env variables.

func (*RedisCache) AddElementsToSet

func (c *RedisCache) AddElementsToSet(key string, elements []string, ttl time.Duration) error

func (*RedisCache) Delete

func (c *RedisCache) Delete(key string) error

func (*RedisCache) Exists

func (c *RedisCache) Exists(key string) (bool, error)

func (*RedisCache) FlushDBAsync

func (c *RedisCache) FlushDBAsync() error

func (*RedisCache) GetString

func (c *RedisCache) GetString(key string) (string, error)

func (*RedisCache) HDelete

func (c *RedisCache) HDelete(key, field string) error

func (*RedisCache) HGetAllString

func (c *RedisCache) HGetAllString(key string) (map[string]string, error)

func (*RedisCache) HGetString

func (c *RedisCache) HGetString(key, field string) (string, error)

func (*RedisCache) HWrite

func (c *RedisCache) HWrite(key, field, val string, ttl time.Duration) error

func (*RedisCache) ListSetMembers

func (c *RedisCache) ListSetMembers(key string) ([]string, error)

func (*RedisCache) Publish

func (c *RedisCache) Publish(channel, message string) error

func (*RedisCache) RemoveElementsFromSet

func (c *RedisCache) RemoveElementsFromSet(key string, elements []string) error

func (*RedisCache) SetNX

func (c *RedisCache) SetNX(key, val string, ttl time.Duration) error

func (*RedisCache) Subscribe

func (c *RedisCache) Subscribe(channel string) (<-chan *redis.Message, func() error)

func (*RedisCache) Write

func (c *RedisCache) Write(key, val string, ttl time.Duration) error

type RedisLock

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

func NewRedisLock

func NewRedisLock(key string) *RedisLock

func NewRedisLockWithExpiry

func NewRedisLockWithExpiry(key string, expiry time.Duration) *RedisLock

func (*RedisLock) Lock

func (lock *RedisLock) Lock() error

func (*RedisLock) TryLock

func (lock *RedisLock) TryLock() error

func (*RedisLock) Unlock

func (lock *RedisLock) Unlock() error

Jump to

Keyboard shortcuts

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