style(cache): 格式化代码注释中的空格并添加 DISTINCT 选项

- 修复了缓存相关文件中注释开头缺少空格的问题
- 在 db/hotimedb.go 中为 vcond 数组添加了 "DISTINCT" 选项
- 注释掉了 session.go 中的并发控制代码以简化实现
This commit is contained in:
2026-01-22 02:44:53 +08:00
parent 2ecb12bd7d
commit 7843f7e8d6
13 changed files with 26 additions and 19 deletions
+1 -1
View File
@@ -6,7 +6,7 @@ import (
) )
// HoTimeCache 可配置memorydbredis,默认启用memory,默认优先级为memory>redis>db,memory与数据库缓存设置项一致, // HoTimeCache 可配置memorydbredis,默认启用memory,默认优先级为memory>redis>db,memory与数据库缓存设置项一致,
//缓存数据填充会自动反方向反哺,加入memory缓存过期将自动从redis更新,但memory永远不会更新redis,如果是集群建议不要开启memory,配置即启用 // 缓存数据填充会自动反方向反哺,加入memory缓存过期将自动从redis更新,但memory永远不会更新redis,如果是集群建议不要开启memory,配置即启用
type HoTimeCache struct { type HoTimeCache struct {
*Error *Error
dbCache *CacheDb dbCache *CacheDb
+2 -2
View File
@@ -87,7 +87,7 @@ func (that *CacheDb) initDbTable() {
} }
//获取Cache键只能为string类型 // 获取Cache键只能为string类型
func (that *CacheDb) get(key string) interface{} { func (that *CacheDb) get(key string) interface{} {
cached := that.Db.Get("cached", "*", Map{"key": key}) cached := that.Db.Get("cached", "*", Map{"key": key})
@@ -108,7 +108,7 @@ func (that *CacheDb) get(key string) interface{} {
return data.Get("data") return data.Get("data")
} }
//key value ,时间为时间戳 // key value ,时间为时间戳
func (that *CacheDb) set(key string, value interface{}, tim int64) { func (that *CacheDb) set(key string, value interface{}, tim int64) {
bte, _ := json.Marshal(Map{"data": value}) bte, _ := json.Marshal(Map{"data": value})
+2 -2
View File
@@ -30,7 +30,7 @@ func (that *CacheRedis) SetError(err *Error) {
that.Error = err that.Error = err
} }
//唯一标志 // 唯一标志
func (that *CacheRedis) GetTag() int64 { func (that *CacheRedis) GetTag() int64 {
if that.tag == int64(0) { if that.tag == int64(0) {
@@ -85,7 +85,7 @@ func (that *CacheRedis) del(key string) {
} }
} }
//key value ,时间为时间戳 // key value ,时间为时间戳
func (that *CacheRedis) set(key string, value string, time int64) { func (that *CacheRedis) set(key string, value string, time int64) {
_, err := that.conn.Do("SET", key, value, "EX", ObjToStr(time)) _, err := that.conn.Do("SET", key, value, "EX", ObjToStr(time))
if err != nil { if err != nil {
+1 -1
View File
@@ -13,7 +13,7 @@ type CacheIns interface {
Cache(key string, data ...interface{}) *Obj Cache(key string, data ...interface{}) *Obj
} }
//单条缓存数据 // 单条缓存数据
type cacheData struct { type cacheData struct {
time int64 time int64
data interface{} data interface{}
+1 -1
View File
@@ -8,7 +8,7 @@ type ContextBase struct {
tag string tag string
} }
//唯一标志 // 唯一标志
func (that *ContextBase) GetTag() string { func (that *ContextBase) GetTag() string {
if that.tag == "" { if that.tag == "" {
+1 -1
View File
@@ -141,7 +141,7 @@ func Substr(str string, start int, length int) string {
} }
// IndexLastStr 获取最后出现字符串的下标 // IndexLastStr 获取最后出现字符串的下标
//return 找不到返回 -1 // return 找不到返回 -1
func IndexLastStr(str, sep string) int { func IndexLastStr(str, sep string) int {
sepSlice := []rune(sep) sepSlice := []rune(sep)
strSlice := []rune(str) strSlice := []rune(str)
+1 -1
View File
@@ -33,7 +33,7 @@ func (that *Context) Mtd(router [3]string) Map {
return d return d
} }
//打印 // 打印
func (that *Context) Display(statu int, data interface{}) { func (that *Context) Display(statu int, data interface{}) {
resp := Map{"status": statu} resp := Map{"status": statu}
+1 -1
View File
@@ -891,7 +891,7 @@ func (that *HoTimeDB) Count(table string, qu ...interface{}) int {
} }
var condition = []string{"AND", "OR"} var condition = []string{"AND", "OR"}
var vcond = []string{"GROUP", "ORDER", "LIMIT"} var vcond = []string{"GROUP", "ORDER", "LIMIT", "DISTINCT"}
// Count 计数 // Count 计数
func (that *HoTimeDB) Sum(table string, column string, qu ...interface{}) float64 { func (that *HoTimeDB) Sum(table string, column string, qu ...interface{}) float64 {
+2 -2
View File
@@ -49,7 +49,7 @@ func (that *dingdongyun) SendTz(umoblie []string, tpt string, data map[string]st
return that.send(that.TzUrl, umobleStr, tpt) return that.send(that.TzUrl, umobleStr, tpt)
} }
//发送短信 // 发送短信
func (that *dingdongyun) send(mUrl string, umoblie string, content string) (bool, error) { func (that *dingdongyun) send(mUrl string, umoblie string, content string) (bool, error) {
data_send_sms_yzm := url.Values{"apikey": {that.ApiKey}, "mobile": {umoblie}, "content": {content}} data_send_sms_yzm := url.Values{"apikey": {that.ApiKey}, "mobile": {umoblie}, "content": {content}}
@@ -74,7 +74,7 @@ func (that *dingdongyun) send(mUrl string, umoblie string, content string) (bool
return true, nil return true, nil
} }
//调用url发送短信的连接 // 调用url发送短信的连接
func (that *dingdongyun) httpsPostForm(url string, data url.Values) (string, error) { func (that *dingdongyun) httpsPostForm(url string, data url.Values) (string, error) {
resp, err := http.PostForm(url, data) resp, err := http.PostForm(url, data)
+2 -2
View File
@@ -9,8 +9,8 @@ import (
"github.com/silenceper/wechat/v2/officialaccount/oauth" "github.com/silenceper/wechat/v2/officialaccount/oauth"
) )
//基于此文档开发 // 基于此文档开发
//https://github.com/silenceper/wechat/blob/v2/doc/api/officialaccount.md // https://github.com/silenceper/wechat/blob/v2/doc/api/officialaccount.md
type h5Program struct { type h5Program struct {
Memory *cache.Memory Memory *cache.Memory
Config *h5config.Config Config *h5config.Config
+2 -2
View File
@@ -9,8 +9,8 @@ import (
"time" "time"
) )
//基于此文档开发 // 基于此文档开发
//https://github.com/silenceper/wechat/blob/v2/doc/api/officialaccount.md // https://github.com/silenceper/wechat/blob/v2/doc/api/officialaccount.md
type wxpay struct { type wxpay struct {
client *wechat.ClientV3 client *wechat.ClientV3
ctx context.Context ctx context.Context
+2 -2
View File
@@ -109,7 +109,7 @@ func copyDir(src string, dest string) {
} }
} }
//egodic directories // egodic directories
func getFilelist(path string) { func getFilelist(path string) {
err := filepath.Walk(path, func(path string, f os.FileInfo, err error) error { err := filepath.Walk(path, func(path string, f os.FileInfo, err error) error {
if f == nil { if f == nil {
@@ -136,7 +136,7 @@ func PathExists(path string) (bool, error) {
return false, err return false, err
} }
//copy file // copy file
func CopyFile(src, dst string) (w int64, err error) { func CopyFile(src, dst string) (w int64, err error) {
srcFile, err := os.Open(src) srcFile, err := os.Open(src)
if err != nil { if err != nil {
+8 -1
View File
@@ -3,14 +3,16 @@ package hotime
import ( import (
. "code.hoteas.com/golang/hotime/cache" . "code.hoteas.com/golang/hotime/cache"
. "code.hoteas.com/golang/hotime/common" . "code.hoteas.com/golang/hotime/common"
//"sync"
) )
//session对象 // session对象
type SessionIns struct { type SessionIns struct {
*HoTimeCache *HoTimeCache
SessionId string SessionId string
Map Map
ContextBase ContextBase
//mutex sync.Mutex
} }
func (that *SessionIns) set() { func (that *SessionIns) set() {
@@ -25,10 +27,14 @@ func (that *SessionIns) Session(key string, data ...interface{}) *Obj {
if len(data) != 0 { if len(data) != 0 {
if data[0] == nil { if data[0] == nil {
//that.mutex.Lock()
delete(that.Map, key) delete(that.Map, key)
//that.mutex.Unlock()
that.set() that.set()
} else { } else {
//that.mutex.Lock()
that.Map[key] = data[0] that.Map[key] = data[0]
//that.mutex.Unlock()
that.set() that.set()
} }
return &Obj{Data: nil} return &Obj{Data: nil}
@@ -52,5 +58,6 @@ func (that *SessionIns) get() {
} }
func (that *SessionIns) Init(cache *HoTimeCache) { func (that *SessionIns) Init(cache *HoTimeCache) {
//that.mutex=sync.Mutex{}
that.HoTimeCache = cache that.HoTimeCache = cache
} }