一、redis的介绍
通过代码和指令来 *** 作一个数据库
二、redis的 *** 作指令
三、redis的CRUD *** 作
String
hash
list有序可重复
set无序不重复
四、golang *** 作redis
Set/Get 接口, *** 作 Hash,对 hash 数据结构,field-val 是批量放入和读
package main
import(
"fmt"
"github.com/gomodule/redigo/redis"
)
func main(){
conn,err:=redis.Dial("tcp","127.0.0.1:6379")
if err!=nil{
fmt.Printf("redis Dial err:",err)
return
}
defer conn.Close()
_,err=conn.Do("Set","name","tom猫猫")
if err!=nil{
fmt.Println("set err=",err)
return
}
r,err:=redis.String(conn.Do("Get","name"))
if err!=nil{
fmt.Println("get err",err)
return
}
fmt.Println(" *** 作成功",r)
}
package main
import(
"fmt"
"github.com/gomodule/redigo/redis"
)
func main(){
conn,err:=redis.Dial("tcp","127.0.0.1:6379")
if err!=nil{
fmt.Printf("redis Dial err:",err)
return
}
defer conn.Close()
// _,err=conn.Do("HSet","user01","name","tom")
// if err!=nil{
// fmt.Println("hset err=",err)
// return
// }
// _,err=conn.Do("HSet","user01","age",18)
// if err!=nil{
// fmt.Println("hset err=",err)
// return
// }
_,err=conn.Do("HMSet","user02","name","tom","age",19)
if err!=nil{
fmt.Println("hset err=",err)
return
}
// r1,err:=redis.String(conn.Do("HGet","user01","name"))
// if err!=nil{
// fmt.Println("hget err",err)
// return
// }
// r2,err:=redis.Int(conn.Do("HMGet","user01","age"))
// if err!=nil{
// fmt.Println("hget err",err)
// return
// }
// fmt.Printf(" *** 作成功r1=%v,r2=%v",r1,r2)
r,err:=redis.Strings(conn.Do("HMGet","user02","name","age"))
if err!=nil{
fmt.Println("hget err",err)
return
}
for i,v:=range r{
fmt.Printf("r[%v]=%v\n",i,v)
}
}
redis常量池
package main
import(
"fmt"
"github.com/gomodule/redigo/redis"
)
var pool *redis.Pool
func init(){
pool = &redis.Pool{
MaxIdle: 8, //最大空闲链接数
MaxActive: 0, // 表示和数据库的最大链接数, 0 表示没有限制
IdleTimeout: 100, // 最大空闲时间
Dial: func() (redis.Conn, error) { // 初始化链接的代码, 链接哪个 ip 的 redis
return redis.Dial("tcp", "localhost:6379")
},
}
}
func main(){
conn:=pool.Get()
defer conn.Close()
_,err:=conn.Do("Set","name","tom")
if err != nil {
fmt.Println("conn.Do err=", err)
return
}
r, err := redis.String(conn.Do("Get", "name"))
if err != nil {
fmt.Println("conn.Do err=", err)
return
}
fmt.Println("r=", r)
}
总结
本文仅仅简单介绍了Golang的redis,此篇是通过b站尚硅谷Golang视频的学习做的笔记。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)