Golang学习笔记-Redis数据库的使用

window下载安装

https://github.com/microsoftarchive/redis/releases/tag/win-3.2.100

#下载解压后,使用cmd命令行进入解码目录,执行:
#运行服务器
redis-server.exe redis.windows.conf
#或者直接双击redis-server.exe

#再打开一个cmd,进入安装目录,执行客户端:
#或者双击redis-cli.exe
redis-cli.exe -h 127.0.0.1 -p 6379
#然后就可以进行操作redis数据库啦

#redis命令参考
http://redisdoc.com/
#设置键值
set key abc
#取出键值对:
get key
#结果
"abc"
#查看所有的key
keys *
#切换redis数据库,安装好了默认有16个数据库
select 0
#查看当前key-val数量
dbsize
#情况当前数据库key-val和清空所有数据库的key-val
flushdb
fulshall

数据类型

String 类型是二进制安全的,除普通的字符串以外,也可以存放图片等数据,value最大是512M

Hash --
hset user1 name "myName"
hset unser1 age 24
#查看哈希表key中,给定域filed是否存在
hexists user2 name

-------
List --
Set --
zset --

golang操作Redis

//在GOPATH项目路径下执行(请先安装git)
go get github.com/garyburd/redigo/redis
package main
import(
	"fmt"
	"github.com/garyburd/redigo/redis"
)

func main(){
    
    
	//通过go操作redis,进行读写
	//1,连接数据库
	conn,err := redis.Dial("tcp","127.0.0.1:6379")
	if err != nil{
    
    
		fmt.Println("err:",err)
		return
	}

	defer conn.Close()

	//Set,Get接口
	//写入数据
	_,err = conn.Do("Set","name","lucky")
	if err != nil {
    
    
		fmt.Println("err:",err)
		return
	}
	
	r,err := redis.String(conn.Do("Get","name"))
	if err != nil {
    
    
		fmt.Println("err:",err)
		return
	}

	fmt.Println("r:",r)

	//Hash
	_,err = conn.Do("HSet","user01","age","25")
	if err != nil {
    
    
		fmt.Println("err:",err)
		return
	}

	r2,err := redis.Int(conn.Do("HGet","user01","age"))
	if err != nil {
    
    
		fmt.Println("err:",err)
		return
	}

	fmt.Println("r:",r2)

	///
	_,err = conn.Do("HMSet","user02","name","yk","age",25)
	if err != nil {
    
    
		fmt.Println("err:",err)
		return
	}

	r3,err := redis.Strings(conn.Do("HMGet","user02","name","age"))
	if err != nil {
    
    
		fmt.Println("err:",err)
		return
	}

	for i,v := range r3{
    
    
		fmt.Printf("r[%v]:%v\n",i,v)
	}
	
	///注意,无user
	_,err = conn.Do("MSet","name","yk","adress","广东广州")
	if err != nil {
    
    
		fmt.Println("err:",err)
		return
	}

	r4,err := redis.Strings(conn.Do("MGet","name","adress"))
	if err != nil {
    
    
		fmt.Println("err:",err)
		return
	}

	for i,v := range r4{
    
    
		fmt.Printf("r[%v]:%v\n",i,v)
	}
	
}
#输出结果噢 
r: lucky
r: 25
r[0]:yk
r[1]:25
r[0]:yk
r[1]:广东广州

猜你喜欢

转载自blog.csdn.net/qq_40904479/article/details/105910864