- conn:
- package main
- import (
- "fmt"
- "github.com/garyburd/redigo/redis"
- )
- func main() {
- c, err := Redis.Dial("tcp", "localhost:6379")
- if err != nil {
- fmt.Println("conn redis failed,", err)
- return
- }
- defer c.Close()
- }
- hset:
- package main
- import (
- "fmt"
- "github.com/garyburd/redigo/redis"
- )
- func main() {
- c, err := Redis.Dial("tcp", "localhost:6379")
- if err != nil {
- fmt.Println("conn redis failed,", err)
- return
- }
- defer c.Close()
- _, err = c.Do("HSet", "books", "abc", 100)
- if err != nil {
- fmt.Println(err)
- return
- }
- r, err := Redis.Int(c.Do("HGet", "books", "abc"))
- if err != nil {
- fmt.Println("get abc failed,", err)
- return
- }
- fmt.Println(r)
- }
- list:
- package main
- import (
- "fmt"
- "github.com/garyburd/redigo/redis"
- )
- func main() {
- c, err := Redis.Dial("tcp", "localhost:6379")
- if err != nil {
- fmt.Println("conn redis failed,", err)
- return
- }
- defer c.Close()
- _, err = c.Do("lpush", "book_list", "abc", "ceg", 300)
- if err != nil {
- fmt.Println(err)
- return
- }
- r, err := Redis.String(c.Do("lpop", "book_list"))
- if err != nil {
- fmt.Println("get abc failed,", err)
- return
- }
- fmt.Println(r)
- }
- set:
- package main
- import (
- "fmt"
- "github.com/garyburd/redigo/redis"
- )
- func main() {
- var p *int
- var a int
- p = &a
- *p = 0
- c, err := Redis.Dial("tcp", "localhost:6379")
- if err != nil {
- fmt.Println("conn redis failed,", err)
- return
- }
- defer c.Close()
- _, err = c.Do("Set", "abc", 100)
- if err != nil {
- fmt.Println(err)
- return
- }
- r, err := Redis.Int(c.Do("Get", "abc"))
- if err != nil {
- fmt.Println("get abc failed,", err)
- return
- }
- fmt.Println(r)
- }
批量 set:
- package main
- import (
- "fmt"
- "github.com/garyburd/redigo/redis"
- )
- func main() {
- c, err := Redis.Dial("tcp", "localhost:6379")
- if err != nil {
- fmt.Println("conn redis failed,", err)
- return
- }
- defer c.Close()
- _, err = c.Do("MSet", "abc", 100, "efg", 300)
- if err != nil {
- fmt.Println(err)
- return
- }
- r, err := Redis.Ints(c.Do("MGet", "abc", "efg"))
- if err != nil {
- fmt.Println("get abc failed,", err)
- return
- }
- for _, v := range r {
- fmt.Println(v)
- }
- }
过期时间:
- package main
- import (
- "fmt"
- "github.com/garyburd/redigo/redis"
- )
- func main() {
- c, err := Redis.Dial("tcp", "localhost:6379")
- if err != nil {
- fmt.Println("conn redis failed,", err)
- return
- }
- defer c.Close()
- _, err = c.Do("expire", "abc", 10)
- if err != nil {
- fmt.Println(err)
- return
- }
- }
连接池:
- package main
- import (
- "fmt"
- "github.com/garyburd/redigo/redis"
- )
- var pool *Redis.Pool
- func init() {
- pool = &Redis.Pool{
- MaxIdle: 16,
- MaxActive: 0,
- IdleTimeout: 300,
- Dial: func() (Redis.Conn, error) {
- return Redis.Dial("tcp", "localhost:6379")
- },
- }
- }
- func main() {
- c := pool.Get()
- defer c.Close()
- _, err := c.Do("Set", "abc", 100)
- if err != nil {
- fmt.Println(err)
- return
- }
- r, err := Redis.Int(c.Do("Get", "abc"))
- if err != nil {
- fmt.Println("get abc failed,", err)
- return
- }
- fmt.Println(r)
- pool.Close()
- }
来源: http://www.bubuko.com/infodetail-2950209.html