• 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)
    }
  • 相关阅读:
    1052. 爱生气的书店老板
    766. 托普利茨矩阵
    643.子数组的最大平均数I
    450. 删除二叉搜索树中的节点
    1489.找到最小生成树里的关键边和伪关键边
    839相似字符串
    1631.最小体力消耗路径
    SnowFlake雪花算法源码分析&灵活改造,常见分布式ID生成解决方案
    【目标检测】三、Faster R-CNN与R-FCN
    【目标检测】二、Fast R-CNN与SVD
  • 原文地址:https://www.cnblogs.com/gagaAurora/p/13613472.html
Copyright © 2020-2023  润新知