redis设置改为日志输出不暂停程序

This commit is contained in:
junleea 2024-06-08 15:23:43 +08:00
parent 41df4a249c
commit a322c51c7c
1 changed files with 21 additions and 16 deletions

View File

@ -2,7 +2,6 @@ package worker
import ( import (
"fmt" "fmt"
"log"
"strconv" "strconv"
"time" "time"
) )
@ -25,14 +24,14 @@ func InitRedis() {
// 验证 Redis 客户端是否可以正常工作 // 验证 Redis 客户端是否可以正常工作
_, err := redisClient.Ping(ctx).Result() _, err := redisClient.Ping(ctx).Result()
if err != nil { if err != nil {
log.Fatalf("Error connecting to Redis: %v", err) fmt.Println("Error connecting to Redis: %v", err)
} }
} }
func CloseRedis() { func CloseRedis() {
// 关闭 Redis 客户端 // 关闭 Redis 客户端
if err := redisClient.Close(); err != nil { if err := redisClient.Close(); err != nil {
log.Fatalf("Error closing Redis client: %v", err) fmt.Println("Error closing Redis client: %v", err)
} }
} }
@ -40,7 +39,8 @@ func isContainKey(key string) bool {
ctx := context.Background() ctx := context.Background()
val, err := redisClient.Exists(ctx, key).Result() // 检查键是否存在, 如果存在则返回 1, 否则返回 0 val, err := redisClient.Exists(ctx, key).Result() // 检查键是否存在, 如果存在则返回 1, 否则返回 0
if err != nil { if err != nil {
log.Fatalf("Error getting key: %v", err) fmt.Println("Error getting key: %v", err)
return false
} }
if val == 0 { if val == 0 {
return false return false
@ -54,14 +54,16 @@ func SetRedis(key string, value string) bool {
// 设置键值对, 0 表示不设置过期时间, 如果需要设置过期时间, 可以设置为 time.Second * 10 等 // 设置键值对, 0 表示不设置过期时间, 如果需要设置过期时间, 可以设置为 time.Second * 10 等
err := redisClient.Set(ctx, key, value, time.Second*100).Err() err := redisClient.Set(ctx, key, value, time.Second*100).Err()
if err != nil { if err != nil {
log.Fatalf("Error setting key: %v", err) fmt.Println("Error setting key: %v", err)
return false return false
} }
return true return true
} }
// 设置hash // 设置hash
func SetHash(key string, id int, name, email string) { func SetHash(key string, id int, name, email string) bool {
//捕获错误,如果错误返回
ctx := context.Background() // 创建一个上下文 ctx := context.Background() // 创建一个上下文
fields := map[string]interface{}{ fields := map[string]interface{}{
"id": strconv.Itoa(id), "id": strconv.Itoa(id),
@ -72,12 +74,15 @@ func SetHash(key string, id int, name, email string) {
// 设置哈希表的字段值, 0 表示不设置过期时间, 如果需要设置过期时间, 可以设置为 time.Second * 10 等 // 设置哈希表的字段值, 0 表示不设置过期时间, 如果需要设置过期时间, 可以设置为 time.Second * 10 等
err := redisClient.HSet(ctx, key, fields).Err() err := redisClient.HSet(ctx, key, fields).Err()
if err != nil { if err != nil {
log.Fatalf("Error setting key: %v", err) fmt.Println("Error setting key: %v", err)
return false
} }
err = redisClient.Expire(ctx, key, time.Hour*10).Err() err = redisClient.Expire(ctx, key, time.Hour*10).Err()
if err != nil { if err != nil {
log.Fatalf("Error setting key: %v", err) fmt.Println("Error setting key: %v", err)
return false
} }
return true
} }
// 获取hash // 获取hash
@ -85,7 +90,7 @@ func GetHash(key string) RUser {
ctx := context.Background() ctx := context.Background()
val, err := redisClient.HGetAll(ctx, key).Result() // 从 Redis 读取哈希表, 如果键不存在则返回空字符串, 如果出现错误则返回错误 val, err := redisClient.HGetAll(ctx, key).Result() // 从 Redis 读取哈希表, 如果键不存在则返回空字符串, 如果出现错误则返回错误
if err != nil { if err != nil {
log.Fatalf("Error getting key: %v", err) fmt.Println("Error getting key: %v", err)
} }
id, _ := strconv.Atoi(val["id"]) id, _ := strconv.Atoi(val["id"])
name, _ := val["name"] name, _ := val["name"]
@ -99,7 +104,7 @@ func SetRedisWithExpire(key string, value string, expire time.Duration) bool { /
// 设置键值对, 0 表示不设置过期时间, 如果需要设置过期时间, 可以设置为 time.Second * 10 等 // 设置键值对, 0 表示不设置过期时间, 如果需要设置过期时间, 可以设置为 time.Second * 10 等
err := redisClient.Set(ctx, key, value, expire).Err() err := redisClient.Set(ctx, key, value, expire).Err()
if err != nil { if err != nil {
log.Fatalf("Error setting key: %v", err) fmt.Println("Error setting key: %v", err)
return false return false
} }
return true return true
@ -120,7 +125,7 @@ func popRedisList(key string) string {
ctx := context.Background() ctx := context.Background()
val, err := redisClient.LPop(ctx, key).Result() // 从 Redis 读取键值, 如果键不存在则返回空字符串, 如果出现错误则返回错误 val, err := redisClient.LPop(ctx, key).Result() // 从 Redis 读取键值, 如果键不存在则返回空字符串, 如果出现错误则返回错误
if err != nil { if err != nil {
log.Fatalf("Error reading from Redis: %v", err) fmt.Println("Error reading from Redis: %v", err)
} }
return val return val
} }
@ -130,7 +135,7 @@ func pushRedisList(key string, value string) {
ctx := context.Background() ctx := context.Background()
err := redisClient.RPush(ctx, key, value).Err() err := redisClient.RPush(ctx, key, value).Err()
if err != nil { if err != nil {
log.Fatalf("Error setting key: %v", err) fmt.Println("Error setting key: %v", err)
} }
} }
@ -139,7 +144,7 @@ func delRedis(key string) {
ctx := context.Background() ctx := context.Background()
err := redisClient.Del(ctx, key).Err() err := redisClient.Del(ctx, key).Err()
if err != nil { if err != nil {
log.Fatalf("Error setting key: %v", err) fmt.Println("Error setting key: %v", err)
} }
} }
@ -155,7 +160,7 @@ func (u *RUser) toJSONString() string {
// 将User对象编码为JSON字符串 // 将User对象编码为JSON字符串
userJSON, err := json.Marshal(u) userJSON, err := json.Marshal(u)
if err != nil { if err != nil {
log.Fatalf("Failed to marshal user: %v", err) fmt.Println("Failed to marshal user: %v", err)
} }
return string(userJSON) return string(userJSON)
} }
@ -165,7 +170,7 @@ func hSetRedis(key string, field string, value string) {
ctx := context.Background() ctx := context.Background()
err := redisClient.HSet(ctx, key, field, value).Err() err := redisClient.HSet(ctx, key, field, value).Err()
if err != nil { if err != nil {
log.Fatalf("Error setting key: %v", err) fmt.Println("Error setting key: %v", err)
} }
} }
@ -174,7 +179,7 @@ func hGetRedis(key string, field string) string {
ctx := context.Background() ctx := context.Background()
val, err := redisClient.HGet(ctx, key, field).Result() val, err := redisClient.HGet(ctx, key, field).Result()
if err != nil { if err != nil {
log.Fatalf("Error getting key: %v", err) fmt.Println("Error getting key: %v", err)
} }
return val return val
} }