在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
下载地址 : Link 下载后
解压后 绿色为客户端 红色为服务端
Redis命令参考API手册
2: http://redisdoc.com/index.html
Redis 的 五大数据类型1: string(字符串) 2: Hash(哈希) 3: List(列表) 4: Set(集合) 5: zset(sorted set) 有序集合
Redis数据库的 Creat Read Update Delete(增删改查)操作
set key value (set数据时,存在就修改,不存在就添加)
get key
select index
keys *
dbsize
flushdb
flushall
del 对象 key del monster name
setex name 10 zhangsan
hset hero name tom
hget hero name
hexists 对象 key 1表示有 0表示无
lrange key start stop irange monster 0 -1 (0表示从头开始,-1表示以最后一个数据结束)
Redis 在GO中的操作
github地址:https://github.com/gomodule/redigo 安装命令:
1 package main 2 3 import ( 4 "fmt" 5 6 "github.com/gomodule/redigo/redis" 7 ) 8 9 func main() { 10 conn, err := redis.Dial("tcp", "127.0.0.1:6379") 11 if err != nil { 12 fmt.Println("GO连接数据库127.0.0.1失败:", err) 13 return 14 } 15 //fmt.Println("GO连接数据库成功\n", conn) 16 /* 往数据库里 写入数据 set */ 17 _, err2 := conn.Do("set", "name", "tom") 18 if err != nil { 19 fmt.Println("set数据错误: ", err2) 20 return 21 } 22 /*延迟关闭服务器*/ 23 defer conn.Close() 24 fmt.Println("set数据成功", conn) 25 26 /* 往数据库里 请求数据 get 27 r, err3 := redis.String(conn.Do("get", "name")) 28 */ 29 r, err3 := conn.Do("get", "name") 30 if err != nil { 31 fmt.Println("set数据错误: ", err3) 32 return 33 } 34 35 /* 把数据返回值从 接口 转换成 string类型 */ 36 result, _ := redis.String(r, err3) 37 38 fmt.Println("get数据成功", result) 39 }
若遇下面到报错:解决方法 del 对象 先删除这个对象 在创建获取即可
1 package main 2 3 import ( 4 "fmt" 5 6 "github.com/gomodule/redigo/redis" 7 ) 8 9 func main() { 10 11 conn, err := redis.Dial("tcp", "127.0.0.1:6379") 12 if err != nil { 13 fmt.Println("连接数据库失败: ", err) 14 return 15 } 16 defer conn.Close() 17 18 /* 一次操作写入 多个数据 */ 19 _, err2 := conn.Do("HMSet", "hero", "name", "托塔李天王", "age", 18, "sex", "男") 20 21 if err != nil { 22 fmt.Println("向 Redis数据库 写入数据 失败! :", err2) 23 return 24 } 25 26 /* 一次 操作 获取 多个数据 */ 27 result, err3 := redis.Strings(conn.Do("HGetAll", "hero")) 28 29 if err3 != nil { 30 fmt.Println("向 Redis数据库 请求数据 失败! ", err3) 31 return 32 } 33 for value, key := range result { 34 fmt.Printf("Hero[%v] = [%v]\n", value, key) 35 } 36 37 } 38 39 //输出: 40 Hero[0] = [name] 41 Hero[1] = [托塔李天王] 42 Hero[2] = [age] 43 Hero[3] = [18] 44 Hero[4] = [sex] 45 Hero[5] = [男]
1 package main 2 3 import ( 4 "fmt" 5 6 "github.com/gomodule/redigo/redis" 7 ) 8 9 var ( 10 //Pool 全局变量 连接池Pool 11 Pool *redis.Pool 12 ) 13 14 //当程序启动时初始化执行,初始化连接池 15 func init() { 16 Pool = &redis.Pool{ 17 MaxIdle: 10, //最大空闲 连接数 18 MaxActive: 0, //与数据库的最大连接数 0表示不限制 19 IdleTimeout: 100, //最大空闲时间,超过此事件自动回收连接 20 Dial: func() (redis.Conn, error) { 21 //连接的IP/端口 22 return redis.Dial("tcp", "127.0.0.1:6379") 23 }, 24 } 25 } 26 27 func main() { 28 //从连接池中获取一个连接 29 conn := Pool.Get() 30 31 defer conn.Close() 32 33 //往数据库中写入数据 34 _, err := conn.Do("set", "name", "杰克奥特曼") 35 if err != nil { 36 fmt.Println("往Redis中写入数据失败") 37 return 38 } 39 40 //从数据库中获取数据 41 result, err := redis.String(conn.Do("get", "name")) 42 if err != nil { 43 fmt.Println("从Redis中获取数据失败!") 44 return 45 } 46 fmt.Println("从Redis中获取数据成功!") 47 fmt.Printf("name:%v", result) 48 }
|
请发表评论