<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                ## 緩存機制設計 **Store interface** 目前系統中使用到 `Redis`,`cache` 包不應該只依賴于 `Redis` ,后續如使用其他緩存方案,如 `Memcached` ,可以很方便切換。所以這里我們利用 `Go` 的 `interface` 功能,將數據存儲抽象化。 **RedisStore** `RedisStore` 是 `cahce` 包的 `Store interface Redis` 實現。目前我們的 `Redis` 里存放多種業務邏輯的數據,如數字驗證碼、短信驗證碼等,緩存的信息應該和這些業務數據使用不同的數據庫。 ## 使用 使用緩存前必須引用 `"gohub/pkg/cache"`包文件。 #### 設置緩存 設置自緩存(有效期2小時) ``` cache.Set("name", "張三", 120 * time.Minute) ``` 無返回值 ***** #### 緩存自增 針對數值類型的緩存數據,可以使用自增操作,例如: ``` // age自增(步進值為1) cache.Increment("age") // age自增(步進值為3),第二個參數是Int64 cache.Increment("age", cast.ToInt64(3)) ``` 注意:自增操作不會使用緩存前綴 ***** #### 緩存自減 針對數值類型的緩存數據,可以使用自減操作,例如: ``` // age自減(步進值為1) cache.Decrement("age") // age自減(步進值為3),第二個參數是Int64 cache.Decrement("age", cast.ToInt64(3)) ``` 注意:自減操作不會使用緩存前綴 ***** #### 獲取緩存 獲取緩存數據可以使用: ``` cache.Get("test") ``` 注意它的返回值不是字符串,如果你想轉換它可以使用: ``` cast.ToString(cache.Get("test")) ``` 獲取緩存還支持獲取指定類型的緩存數據: ``` // 應該傳地址, 示例:cache.GetObject("key", &model) cache.GetObject("test") cache.GetString("test") cache.GetBool("test") cache.GetInt("test") cache.GetInt32("test") cache.GetInt64("test") cache.GetUint("test") cache.GetUint32("test") cache.GetUint64("test") cache.GetFloat64("test") cache.GetTime("test") cache.GetDuration("test") cache.GetIntSlice("test") cache.GetStringMap("test") cache.GetStringMapString("test") ... ``` ***** #### 刪除緩存 ``` cache.Del("test") ``` ***** #### 清空緩存 ``` cache.Flush() ``` ## Redis使用 注意:直接操作`redis`是不會添加緩存前綴的 設置緩存 ``` redis.Redis.Set("hello", "hi from redis", 10*time.Second) ``` 讀取緩存 ``` redis.Redis.Get("hello") ```
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看