1

redis操作

安装redis

下载、解压、编译Redis

$ wget http://download.redis.io/releases/redis-6.0.6.tar.gz
$ tar xzf redis-6.0.6.tar.gz
$ cd redis-6.0.6
$ make

我make的时候出现了这样的问题

 

方法1:我的Linux版本6.8x64

依次执行以下命令解决

cd /home

wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm

rpm -ivh epel-release-6-8.noarch.rpm

yum install XXX

方法2:

1、安装gcc套装(如果是新系统gcc通常安装不全面)
yum install cpp
yum install binutils
yum install glibc
yum install glibc-kernheaders
yum install glibc-common
yum install glibc-devel
yum install gcc
yum install make
2、升级gcc
yum -y install centos-release-scl
yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils
scl enable devtoolset-9 bash

然后继续执行make  好用了!!!  ----有时候需要切换到root用户,才有权限   

$ su    //切换到root用户

 

进入到解压后的 src 目录,通过如下命令启动Redis:

$ src/redis-server

成功啦!!!嘿嘿嘿
打开另一个窗口-输入
$ src/redis-cli

 

 

 

 现在可以输入命令了,享受吧!

 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) {
            return redis.Dial("tcp","192.168.10.163:6379")
        },
    }
}




func main(){
    poolOperation()
    stringOperation()
    listOperation()
    hashOperation()


}
//连接池
func poolOperation(){
    conn :=pool.Get()
    defer conn.Close()
    //存入
    _,err :=conn.Do("set","name","佩奇")
    if err!=nil{
        fmt.Println("conn Do err =",err)
        return
    }
    //取出
    r1,err :=redis.String(conn.Do("get","name"))
    if err!=nil{
        fmt.Println("conn.Do err=",err)
        return
    }
    fmt.Println("r=",r1)
    conn2 :=pool.Get()
    _,err = conn2.Do("set","name2","锅包肉00")
    if err !=nil{
        fmt.Println("conn do err",err)
        return
    }
    //取出2
    r2,err :=redis.String(conn2.Do("get","name2"))
    if err !=nil{
        fmt.Println("conn.do err=",err)
        return
    }
    fmt.Println("r2=",r2)
}

//字符串操作
func stringOperation(){
    conn,err :=redis.Dial("tcp","192.168.10.163:6379")
    if err!=nil{
        fmt.Println(err)
        return
    }
    defer conn.Close()
    //通过go向redis写入字符串
    _,err = conn.Do("set","name","abcdefghi嘎嘎" )
    if err!=nil {
        fmt.Println(err)
        return
    }

    //对数据设置有效期
    _,err =conn.Do("expire","name",10)

    r,err := redis.String(conn.Do("get","name"))
    if err!=nil {
        fmt.Println("set err=",err)
        return
    }
    fmt.Println("操作ok",r)
}

//列表操作、
func listOperation(){
    conn,err :=redis.Dial("tcp","192.168.10.163:6379")
    if err!=nil{
        fmt.Println(err)
        return
    }
    defer conn.Close()

    _,err = conn.Do("Lpush","gaga","小明",30,"校长",34)
    if err!=nil{
        fmt.Println(err)

    }
    r,err :=redis.String(conn.Do("rpop","gaga"))
    fmt.Println("push",r)
}


//hash操作
func hashOperation(){
    conn,err :=redis.Dial("tcp","192.168.10.163:6379")
    if err!=nil{
        fmt.Println(err)
        return
    }
    defer conn.Close()


    _,err =conn.Do("HSet","user","name","join")
    if err!=nil{
        fmt.Println(err)
        return
    }

    r1,err :=redis.String(conn.Do("HGet","user","name"))
    fmt.Println("r1",r1)
}

 

posted @ 2020-09-04 13:58  Auroragaga  阅读(99)  评论(0编辑  收藏  举报