Redis cache

This commit is contained in:
2025-03-29 02:24:15 +08:00
parent f3f9ebb5af
commit 1651328a74
26 changed files with 786 additions and 636 deletions

14
pkg/internal/cache/redis.go vendored Normal file
View File

@@ -0,0 +1,14 @@
package cache
import "github.com/redis/go-redis/v9"
var Rdb *redis.Client
func ConnectRedis(addr, password string, db int) error {
Rdb = redis.NewClient(&redis.Options{
Addr: addr,
Password: password,
DB: db,
})
return nil
}

View File

@@ -2,6 +2,8 @@ package grpc
import (
"context"
"git.solsynth.dev/hypernet/nexus/pkg/internal/cache"
"git.solsynth.dev/hypernet/nexus/pkg/internal/kv"
"git.solsynth.dev/hypernet/nexus/pkg/internal/mq"
"git.solsynth.dev/hypernet/nexus/pkg/proto"
@@ -31,3 +33,16 @@ func (v *Server) AllocKv(ctx context.Context, request *proto.AllocKvRequest) (*p
Endpoints: viper.GetStringSlice("kv.endpoints"),
}, nil
}
func (v *Server) AllocCache(ctx context.Context, request *proto.AllocCacheRequest) (*proto.AllocCacheResponse, error) {
if cache.Rdb == nil {
return &proto.AllocCacheResponse{IsSuccess: false}, status.Error(codes.Unavailable, "cache wasn't configured")
}
return &proto.AllocCacheResponse{
IsSuccess: true,
Addr: viper.GetString("cache.addr"),
Password: viper.GetString("cache.password"),
Db: request.GetDb(),
}, nil
}