pull/145/head
zhaoshichen 6 years ago
parent 70a579e1cc
commit 57b935e80d
  1. 34
      doc/wiki-cn/cache-mc.md
  2. 24
      doc/wiki-cn/cache-redis.md

@ -61,13 +61,13 @@ demoExpire = "24h"
进入项目的internal/dao目录,打开dao.go,其中: 进入项目的internal/dao目录,打开dao.go,其中:
```go ```go
var ( var (
mc struct { mc struct {
Demo *memcache.Config Demo *memcache.Config
DemoExpire xtime.Duration DemoExpire xtime.Duration
} }
) )
checkErr(paladin.Get("memcache.toml").UnmarshalTOML(&mc)) checkErr(paladin.Get("memcache.toml").UnmarshalTOML(&mc))
``` ```
使用paladin配置管理工具将上文中的memcache.toml中的配置解析为我们需要使用的配置。 使用paladin配置管理工具将上文中的memcache.toml中的配置解析为我们需要使用的配置。
@ -82,11 +82,11 @@ type Dao struct {
在dao的主结构提中定义了memcache的连接池对象和过期时间。 在dao的主结构提中定义了memcache的连接池对象和过期时间。
```go ```go
dao = &Dao{ dao = &Dao{
// memcache // memcache
mc: memcache.New(mc.Demo), mc: memcache.New(mc.Demo),
mcExpire: int32(time.Duration(mc.DemoExpire) / time.Second), mcExpire: int32(time.Duration(mc.DemoExpire) / time.Second),
} }
``` ```
使用kratos/pkg/cache/memcache包的New方法进行连接池对象的初始化,需要传入上文解析的配置。 使用kratos/pkg/cache/memcache包的New方法进行连接池对象的初始化,需要传入上文解析的配置。
@ -153,11 +153,11 @@ func (d *Dao) CacheDemo(c context.Context, id int64) (res *Demo, err error) {
## 批量查询使用 ## 批量查询使用
```go ```go
replies, err := d.mc.GetMulti(c, keys) replies, err := d.mc.GetMulti(c, keys)
for _, key := range replies.Keys() { for _, key := range replies.Keys() {
v := &Demo{} v := &Demo{}
err = replies.Scan(key, v) err = replies.Scan(key, v)
} }
``` ```
如上为代码生成器生成的进行批量查询的代码片段,这里使用到mc.GetMulti(c,keys)方法获得返回值,与单个查询类似地,我们需要再使用scan方法将memcache的返回值转换为我们定义的结构体。 如上为代码生成器生成的进行批量查询的代码片段,这里使用到mc.GetMulti(c,keys)方法获得返回值,与单个查询类似地,我们需要再使用scan方法将memcache的返回值转换为我们定义的结构体。

@ -63,13 +63,13 @@ demoExpire = "24h"
进入项目的internal/dao目录,打开dao.go,其中: 进入项目的internal/dao目录,打开dao.go,其中:
```go ```go
var ( var (
rc struct { rc struct {
Demo *redis.Config Demo *redis.Config
DemoExpire xtime.Duration DemoExpire xtime.Duration
} }
) )
checkErr(paladin.Get("redis.toml").UnmarshalTOML(&rc)) checkErr(paladin.Get("redis.toml").UnmarshalTOML(&rc))
``` ```
使用paladin配置管理工具将上文中的redis.toml中的配置解析为我们需要使用的配置。 使用paladin配置管理工具将上文中的redis.toml中的配置解析为我们需要使用的配置。
@ -84,11 +84,11 @@ type Dao struct {
在dao的主结构提中定义了redis的连接池对象和过期时间。 在dao的主结构提中定义了redis的连接池对象和过期时间。
```go ```go
dao = &Dao{ dao = &Dao{
// redis // redis
redis: redis.NewPool(rc.Demo), redis: redis.NewPool(rc.Demo),
redisExpire: int32(time.Duration(rc.DemoExpire) / time.Second), redisExpire: int32(time.Duration(rc.DemoExpire) / time.Second),
} }
``` ```
使用kratos/pkg/cache/redis包的NewPool方法进行连接池对象的初始化,需要传入上文解析的配置。 使用kratos/pkg/cache/redis包的NewPool方法进行连接池对象的初始化,需要传入上文解析的配置。

Loading…
Cancel
Save