| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- package server
- import (
- "context"
- "github.com/redis/go-redis/v9"
- "go_zh/config"
- "time"
- )
- type RedisServer struct {
- rdb *redis.Client
- }
- // 定义单例实例,但不在包级别初始化
- var redisServerInstance *RedisServer
- var ctx = context.Background()
- // 使用init函数初始化单例实例
- func init() {
- redisServerInstance = &RedisServer{
- rdb: config.Rdb,
- }
- }
- // 获取单例实例的方法
- func GetRedisServerInstance() *RedisServer {
- return redisServerInstance
- }
- func (r *RedisServer) SetStr(key string, val string, timeout int) bool {
- err := r.rdb.Set(ctx, key, val, time.Duration(timeout)*time.Second).Err()
- if err != nil {
- return false
- }
- return true
- }
- func (r *RedisServer) GetStr(key string) string {
- if key == "" {
- return ""
- }
- ctx := context.Background()
- val, err := r.rdb.Get(ctx, key).Result()
- if err != nil {
- return ""
- }
- return val
- }
|