init
This commit is contained in:
@@ -0,0 +1,100 @@
|
||||
package umredis
|
||||
|
||||
import (
|
||||
"context"
|
||||
"time"
|
||||
|
||||
"AngkorWalletScanning/umlog"
|
||||
|
||||
"github.com/redis/go-redis/v9"
|
||||
)
|
||||
|
||||
// version : 1.0.0
|
||||
// date : 2022-10-19
|
||||
// writer : lee.beomhee
|
||||
// modify : lee.beomhee (2022-10-19)
|
||||
|
||||
func RedisClusterConnect(host []string, password string) *redis.ClusterClient {
|
||||
var rdb *redis.ClusterClient
|
||||
if len(password) > 0 {
|
||||
rdb = redis.NewClusterClient(&redis.ClusterOptions{
|
||||
Addrs: host,
|
||||
Password: password,
|
||||
})
|
||||
} else {
|
||||
rdb = redis.NewClusterClient(&redis.ClusterOptions{
|
||||
Addrs: host,
|
||||
})
|
||||
}
|
||||
return rdb
|
||||
}
|
||||
|
||||
func RedisClusterDisConnect(cluster *redis.ClusterClient) {
|
||||
umlog.Debug("REDIS DISCONNECTION")
|
||||
cluster.Close()
|
||||
}
|
||||
|
||||
func ClusterGetKeys(cluster *redis.ClusterClient, keys string) ([]string, error) {
|
||||
return cluster.Keys(context.Background(), keys+"*").Result()
|
||||
}
|
||||
|
||||
func ClusterGetValue(cluster *redis.ClusterClient, key string) (string, error) {
|
||||
|
||||
return cluster.Get(context.Background(), key).Result()
|
||||
}
|
||||
|
||||
func ClusterHGetValue(cluster *redis.ClusterClient, key string, field string) (string, error) {
|
||||
return cluster.HGet(context.Background(), key, field).Result()
|
||||
}
|
||||
|
||||
func ClusterHGetAllValue(cluster *redis.ClusterClient, key string) (map[string]string, error) {
|
||||
return cluster.HGetAll(context.Background(), key).Result()
|
||||
}
|
||||
|
||||
func ClusterSetValue(cluster *redis.ClusterClient, key string, value any) error {
|
||||
_, err := cluster.Set(context.Background(), key, value, 0).Result()
|
||||
return err
|
||||
}
|
||||
|
||||
func ClusterHMSetValue(cluster *redis.ClusterClient, key string, value any) error {
|
||||
_, err := cluster.HMSet(context.Background(), key, value).Result()
|
||||
return err
|
||||
}
|
||||
|
||||
func ClusterHSetValue(cluster *redis.ClusterClient, key string, field string, value any) error {
|
||||
_, err := cluster.HSet(context.Background(), key, field, value).Result()
|
||||
return err
|
||||
}
|
||||
|
||||
func ClusterHINCRBY(cluster *redis.ClusterClient, key string, field string, value int64) error {
|
||||
_, err := cluster.HIncrBy(context.Background(), key, field, value).Result()
|
||||
return err
|
||||
}
|
||||
|
||||
func ClusterRemoveValue(cluster *redis.ClusterClient, key string, field string) error {
|
||||
_, err := cluster.HDel(context.Background(), key, field).Result()
|
||||
return err
|
||||
}
|
||||
|
||||
func ClusterRemoveKey(cluster *redis.ClusterClient, key string) error {
|
||||
_, err := cluster.Del(context.Background(), key).Result()
|
||||
return err
|
||||
}
|
||||
|
||||
func ClusterRemoveKeys(cluster *redis.ClusterClient, keys string) error {
|
||||
findKeys, err := cluster.Keys(context.Background(), keys+"*").Result()
|
||||
if err == nil {
|
||||
for _, key := range findKeys {
|
||||
_, err = cluster.Del(context.Background(), key).Result()
|
||||
if err != nil {
|
||||
break
|
||||
}
|
||||
}
|
||||
}
|
||||
return err
|
||||
}
|
||||
|
||||
func ClusterExpireKey(cluster *redis.ClusterClient, key string, sec time.Duration) error {
|
||||
_, err := cluster.Expire(context.Background(), key, sec).Result()
|
||||
return err
|
||||
}
|
||||
Reference in New Issue
Block a user