redis的值的数据结构可以是队列,并且可以操作头部或者尾部,用法如下:
package main
import (
"fmt"
"github.com/go-redis/redis"
)
func main() {
client := redis.NewClient(&redis.Options{
Addr: "127.0.0.1:6380",
Password: "",
DB: 0,
})
var reply int64
var err error
reply, err = client.LPush("key", "value1", "value2", "value3").Result()
fmt.Printf("reply=%d err_lpush=%v\n", reply, err)
reply, err = client.RPush("key", "value4", "value5", "value6").Result()
fmt.Printf("reply=%d err_rpush=%v\n", reply, err)
var values []string
values, err = client.LRange("key", 0 , -1).Result()
fmt.Printf("values=%v err_lrange=%v\n", values, err)
var elem string
elem, err = client.LPop("key").Result()
fmt.Printf("reply=%s err_lpop=%v\n", elem, err)
elem, err = client.RPop("key").Result()
fmt.Printf("reply=%s err_rpop=%v\n", elem, err)
values, err = client.LRange("key", 0 , -1).Result()
fmt.Printf("values=%v err_lrange=%v\n", values, err)
}
输出:
reply=3 err_lpush=<nil>
reply=6 err_rpush=<nil>
values=[value3 value2 value1 value4 value5 value6] err_lrange=<nil>
reply=value3 err_lpop=<nil>
reply=value6 err_rpop=<nil>
values=[value2 value1 value4 value5] err_lrange=<nil>