| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- package server
- import (
- "context"
- "github.com/redis/go-redis/v9"
- "go_zh/config"
- "sync"
- "time"
- )
- type redisServer struct {
- rdb *redis.Client
- }
- var (
- redisInstance *redisServer
- redisOnce sync.Once
- )
- var ctx = context.Background()
- // GetRedisServerInstance 获取单例实例
- func GetRedisServerInstance() *redisServer {
- redisOnce.Do(func() {
- redisInstance = &redisServer{
- rdb: config.Rdb,
- }
- })
- return redisInstance
- }
- 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 ""
- }
- val, err := r.rdb.Get(ctx, key).Result()
- if err != nil {
- return ""
- }
- return val
- }
|