소스 검색

feat(Command): cache forget 命令

runningwater 5 달 전
부모
커밋
c28ba06818
2개의 변경된 파일23개의 추가작업 그리고 1개의 파일을 삭제
  1. 1 0
      README.md
  2. 22 1
      app/cmd/cache.go

+ 1 - 0
README.md

@@ -76,6 +76,7 @@ UNIQUE KEY `migration` (`migration`)
 
 #### 🚀 新功能
 
+- *(Command)* Cache forget 命令
 - *(Command)* Cache clear 命令
 - 缓存友情链接列表
 - Cache 包

+ 22 - 1
app/cmd/cache.go

@@ -1,6 +1,8 @@
 package cmd
 
 import (
+	"fmt"
+
 	"github.com/spf13/cobra"
 
 	"github.com/runningwater/gohub/pkg/cache"
@@ -18,12 +20,31 @@ var CmdCacheClear = &cobra.Command{
 	Run:   runCacheClear,
 }
 
+var CmdCacheForget = &cobra.Command{
+	Use:   "forget",
+	Short: "Delete redis key, example: gohub cache forget key",
+	Run:   runCacheForget,
+}
+
 func runCacheClear(cmd *cobra.Command, args []string) {
 	cache.Flush()
 	console.Success("Cache cleared")
 }
 
+func runCacheForget(cmd *cobra.Command, args []string) {
+	cache.Forget(cacheKey)
+	console.Success(fmt.Sprintf("Cache key [%s] deleted", cacheKey))
+}
+
+// forget 命令的选项
+var cacheKey string
+
 func init() {
 	// 注册 cache 命令的子命令
-	CmdCache.AddCommand(CmdCacheClear)
+	CmdCache.AddCommand(CmdCacheClear, CmdCacheForget)
+
+	// 注册 forget 命令的选项
+	CmdCacheForget.Flags().StringVarP(&cacheKey, "key", "k", "", "Cache key")
+	_ = CmdCacheForget.MarkFlagRequired("key")
+
 }