Cache data validity period in Go: set through map.Store(key, value, expiration) syntax, where expiration is the time.Duration type validity period. For example, to store a user object in the cache and set a validity period of 5 minutes: userCache.Store("my-user", user, 5 * time.Minute). Expired data maintains cache validity through regular cleaning.
Expiration of cached data in Go
Caching is a common technique to improve the performance of web applications. It involves storing copies of frequently requested data to reduce latency when accessing the original data source. In Go, we can use sync.Map
to implement caching. However, in order to ensure the effectiveness of the cache, we must set the validity period of the cached data.
Syntax for setting the validity period
You can set the validity period of cached data through the following syntax:
map.Store(key, value, expiration)
Among them:
map
is sync.Map
instance key
is cache key value
is The cache value expiration
is the validity period, represented by the time.Duration
typeActual case
Suppose we need to cache a user object and set its validity period to 5 minutes. We can use the following code snippet:
package main import ( "sync" "time" ) var userCache = sync.Map{} func main() { // 创建一个用户对象 user := &User{Name: "John Doe", Email: "john.doe@example.com"} // 为用户对象设置 5 分钟的有效期 expiration := 5 * time.Minute // 将用户对象存储到缓存中 userCache.Store("my-user", user, expiration) }
In the above example, we create a sync.Map
instance named userCache
and use the Store
Method stores the user object in the cache. We also specify a validity period of 5 minutes. Afterwards, we can access the cached data from anywhere:
// 从缓存中获取用户对象 user, ok := userCache.Load("my-user") if ok { // 处理用户对象 }
If the cached data has expired, the Load
method will return nil
. Cache validity can be maintained by periodically cleaning out expired cache entries.
The above is the detailed content of How to set the validity period of Golang cached data?. For more information, please follow other related articles on the PHP Chinese website!