[zeromicro/go-zero]

2024-01-03 209 views
9

在model中有三个对缓存操作的api如下

func (cc CachedConn) DelCache(keys ...string) error {

}

func (cc CachedConn) GetCache(key string, v interface{}) error {

}

func (cc CachedConn) SetCache(key string, v interface{}) error {
}

但是,对于查询列表来说,有可能不同的条件,查询的列表数据就不一样,如果添加一个 redis 集合的api,这样可以比如把一个列表的key放到集合中,如果添加或者更新数据的话,就清理集合中的key所对应的列表key的缓存数据,比较方便,是否有比较更加优雅的处理办法

回答

5

我们缓存是针对单行记录的,多行需要拆分,在我的缓存设计分享视频里有讲

9

缓存是针对单行记录的;如果你想缓存列表类查询,建议也可以将query_field当做 cache key。我觉得这属于设计使用的问题。