Go redis操作

1. Redis

1.Redis key命令
  1. del key 删除key。
  2. dump key 序列化给定key,返回序列化后的值。
  3. exixts key 检查key是否存在。
  4. expire key 10 设置过期时间。
  5. keys pattern 查找符合给定模式的key。
  6. move key db 移动key到给定db。
  7. persist key 删除key过期时间
  8. pttl key 返回key过期时间(ms)
  9. rename key newkey 修改key名称
  10. type key 返回key存储的类型
2.String

Set Get del

3.Hash

HGet HSet HDel HGETALL

4.List

LPush LPop LRANGE

5.Set

SAdd SPop SMEMBERS

6.ZSet

ZAdd ZRANGE

2. Redis事务性

序号命令及描述
1DISCARD取消事务,放弃执行事务块内的所有命令。
2EXEC执行所有事务块内的命令。
3MULTI 标记一个事务块的开始。
4UNWATCH取消 WATCH 命令对所有 key 的监视。
5WATCH key [key …]监视一个(或多个) key ,如果在事务执行之前这个(或这些) key 被其他命令所改动,那么事务将被打断。

3. Go 操作Redis

package main

import (
	"fmt"
	"github.com/garyburd/redigo/redis"
)

var pool * redis.Pool

func init()  {
	pool = &redis.Pool{
		MaxIdle: 50,
		MaxActive: 100,
		IdleTimeout: 100,
		Dial: func() (redis.Conn, error) {
			c, err := redis.Dial("tcp","127.0.0.1:6379")
			if err != nil{
				fmt.Println("redis conn failed,",err)
				return c, err
			}
			fmt.Println("redis conn success")
			return c, err
		},
	}
}




// String Set Get
func StringSetGet()  {
	r := pool.Get()
	_, err := r.Do("Set","abc",100)		// 批量插入MSet
	// r.Do("expirce","abc",10) // 设置10秒过期时间
	if err != nil{
		fmt.Println("redis set failed",err)
		return
	}
	s, err := redis.Int(r.Do("Get","abc"))	// 批量获取MGet
	if err != nil{
		fmt.Println("redis get failed,",err)
		return
	}
	fmt.Println("Get key abc,value ",s)
}


// List(队列) lpush lpop
func ListLpushLpop()  {
	r := pool.Get()
	_, err := r.Do("lpush","book_list","abc","ceg",300)
	if err != nil{
		fmt.Println("list plush failed,",err)
		return
	}
	l, err := r.Do("lpop","book_list")
	if err != nil{
		fmt.Println("lpop book_list failed,",err)
		return
	}
	fmt.Println("lpop book_list success,",l)
}

// Hash HSet HGet
func HashHsetHget()  {
	r := pool.Get()
	_, err := r.Do("HSet","books","abc",100)
	if err != nil{
		fmt.Println("hash hset failed,",err)
		return
	}
	h, err := r.Do("HGet","books","abc")
	if err != nil{
		fmt.Println("hash hget failed,",err)
		return
	}
	fmt.Print("hash hget success,",h)
}



func main() {
	StringSetGet()
	ListLpushLpop()
	HashHsetHget()

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值