mirror of
https://github.com/duanhf2012/origin.git
synced 2026-02-03 22:45:13 +08:00
整理string/hash/list接口,新增test示例
This commit is contained in:
File diff suppressed because it is too large
Load Diff
91
sysmodule/redismodule/redismodule_test.go
Normal file
91
sysmodule/redismodule/redismodule_test.go
Normal file
@@ -0,0 +1,91 @@
|
||||
package redismodule
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"testing"
|
||||
)
|
||||
|
||||
func Test_Example(t *testing.T) {
|
||||
//1.构建RedisModule对象
|
||||
var module RedisModule
|
||||
var redisCfg ConfigRedis
|
||||
redisCfg.DbIndex = 0 //数据库索引
|
||||
redisCfg.IdleTimeout = 1000 //最大的空闲连接等待时间,超过此时间后,空闲连接将被关闭
|
||||
redisCfg.MaxIdle = 100 //最大的空闲连接数,表示即使没有redis连接时依然可以保持N个空闲的连接,而不被清除,随时处于待命状态。
|
||||
redisCfg.IdleTimeout = 100 //最大的空闲连接等待时间,超过此时间后,空闲连接将被关闭
|
||||
redisCfg.IP = "127.0.0.1" //redis服务器IP
|
||||
redisCfg.Port = 6379 //redis服务器端口
|
||||
//2.初始化redis配置
|
||||
module.Init(&redisCfg)
|
||||
|
||||
//3.string操作
|
||||
//普通操作
|
||||
module.SetString("key1","value1")
|
||||
module.SetString(1000,2*1000)
|
||||
module.SetStringExpire("key2","value2","60")
|
||||
|
||||
//支持直接存储struct数据
|
||||
jsonData := struct{
|
||||
A string
|
||||
B string
|
||||
}{"Aaaa","Bbbb"}
|
||||
module.SetStringJSON("key3",&jsonData)
|
||||
|
||||
//支持存储map数据结构,map中的key与value与redis的key,value对象
|
||||
mapData := map[interface{}]interface{}{}
|
||||
mapData["key4"] = "value4"
|
||||
mapData["key5"] = "value5"
|
||||
mapData[1] = 4
|
||||
module.SetStringMap(mapData)
|
||||
//读取字符串
|
||||
result,err := module.GetString(1)
|
||||
fmt.Print("result:",result,err)
|
||||
//读取json
|
||||
jsonData.A = ""
|
||||
jsonData.B = ""
|
||||
module.GetStringJSON("key3",&jsonData)
|
||||
//读取map
|
||||
mapDataNew,merr := module.GetStringMap([]string{"key1","key2","key3"})
|
||||
fmt.Print(mapDataNew,merr)
|
||||
//是否存在ExistsKey
|
||||
bhas,kerr := module.ExistsKey(1)
|
||||
fmt.Print(bhas,kerr)
|
||||
//删除key列表,返回删除结果信息
|
||||
mapResult,rerr := module.DelStringKeyList([]interface{}{"key3","key9"})
|
||||
fmt.Print(mapResult,rerr)
|
||||
|
||||
//4.Hash
|
||||
//HSET
|
||||
err = module.SetHash("rediskey","field",33)
|
||||
fmt.Print(err)
|
||||
//向Hash的key中存储map结构,map中的key与value分别对应哈希字段与值
|
||||
module.SetHashMapJSON("rediskey",mapData)
|
||||
//HGETALL获取所有的字段值,并以map[string]string格式返回
|
||||
hashRet,herr := module.GetAllHashJSON("rediskey")
|
||||
fmt.Print(hashRet,herr)
|
||||
//获取HASH值
|
||||
hashVal,verr := module.GetHash("rediskey","field")
|
||||
fmt.Print(hashVal,verr)
|
||||
//支持获取多个字段值
|
||||
hashRetList,hasherr := module.GetMuchHash("rediskey","field1","field2")
|
||||
fmt.Print(hashRetList,hasherr)
|
||||
//删除hashkey,支持多个字段
|
||||
module.DelHash("rediskey","field1","field2")
|
||||
|
||||
//5.List
|
||||
//LPush
|
||||
module.LPushList("listkey",1000,2000)
|
||||
lData := struct{
|
||||
A string
|
||||
B string
|
||||
}{"Aaaa","Bbbb"}
|
||||
//LPush 结构体
|
||||
module.LPushListJSON("listkey",&lData,&lData)
|
||||
//RPush同上
|
||||
//获取List长度
|
||||
listLen,_:=module.GetListLen("listkey")
|
||||
fmt.Print(listLen)
|
||||
//RPop
|
||||
popValue,_:=module.RPOPListValue("listkey")
|
||||
fmt.Print(popValue)
|
||||
}
|
||||
Reference in New Issue
Block a user