Redis是基于C语言编写的开源数据库,支持Key-Value的持久化存储。
Redis支持多种数据类型,value值可以是字符串、链表、集合和哈希类型。
Redis支持push/pop、add/remove及去交集并集差集等的复杂操作。
Redis最大的优势是读取性能高,Redis的数据缓存在内存中,所以读写效率高,同时Redis也可以将数据持久化到磁盘,保证大量数据的存储性。
1、Ubuntu环境下redis安装,终端输入如下命令:
$sudo apt-get update
$sudo apt-get install redis-server
安装成功后,即可启动redis服务,输入:
$ redis-server
打开终端:
$ redis-cli
默认启动本机ip:127.0.0.1,端口是6397
终端命令行输入redis命令,增加一条key-value值,如下:
set key1 helloworld
输入get命令:
get key1
输出结果为:helloworld
以上说明redis安装并启动成功。
2、安装redis的go语言驱动
ubuntu终端输入:
go get github.com/garyburd/redigo/redis
完成后会在GOPATH目录下下载redis驱动包。
代码如下:
package redis
import (
"log"
"github.com/garyburd/redigo/redis"
)
const (
netWrok = "tcp"
addr = "127.0.0.1:6397"
)
func SetValue(key string, value interface{}) {
conn, err := redis.Dial(netWrok, addr)
if err != nil {
log.Fatal(err.Error())
}
defer conn.Close()
_, e := conn.Do("SET", key, value)
if e != nil {
log.Fatal(e.Error())
}
}
func GetValue(key string) interface{} {
conn, err := redis.Dial(netWrok, addr)
if err != nil {
log.Fatal(err.Error())
}
defer conn.Close()
value, e := conn.Do("GET", key)
if e != nil {
log.Fatal(e.Error())
}
return value
}