
Redis应用场Redis支持诸如字符串(strings)、哈希(hashes)、列表(lists)、集合(sets)、带范围查询的排序集合(sorted sets)、位图(bitmaps)、hyperloglogs。
go get -u github.com/go-redis/redis
package main
import (
"fmt"
"github.com/go-redis/redis"
)
// redis
// 定义一个全局变量
var redisdb *redis.Client
func initRedis()(err error){
redisdb = redis.NewClient(&redis.Options{
Addr: "127.0.0.1:6379", // 指定
Password: "",
DB:0, // redis一共16个库,指定其中一个库即可
})
_,err = redisdb.Ping().Result()
return
}
func main() {
err := initRedis()
if err != nil {
fmt.Printf("connect redis failed! err : %vn",err)
return
}
fmt.Println("redis连接成功!")
}
现在我们来进行基本的使用吧,原来我们说过,一共五种数据类型:string,hash,list,set,sortset。
// 存普通string类型,10分钟过期
redisdb.Set("test:name","科科儿子",time.Minute*10)
// 存hash数据
redisdb.HSet("test:class","521",42)
// 存list数据
redisdb.RPush("test:list",1) // 向右边添加元素
redisdb.LPush("test:list",2) // 向左边添加元素
// 存set数据
redisdb.SAdd("test:set","apple")
redisdb.SAdd("test:set","pear")
// zset 添加
func zset() {
key := "rank"
items := []redis.Z{
redis.Z{Score: 90,Member:"PHP"},
redis.Z{Score: 93,Member:"JAVA"},
redis.Z{Score: 96,Member:"C++"},
redis.Z{Score: 92,Member:"PYTHON"},
redis.Z{Score: 100,Member:"GOLANG"},
}
// 添加元素到redis中
_,err := redisdb.ZAdd(key, items...).Result()
if err != nil {
fmt.Printf("redis zadd failed! err:%vn",err)
return
}
fmt.Println("数据传输成功!!!")
}
加减操作
按名次取值操作
按分数范围取值