redisCoon.go 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122
  1. package dbUtil
  2. import (
  3. "encoding/json"
  4. "fmt"
  5. "github.com/gomodule/redigo/redis"
  6. "github.com/shopspring/decimal"
  7. "os"
  8. "strings"
  9. )
  10. //var conn redis.Conn
  11. var pool *redis.Pool
  12. var TopsMap map[string]string
  13. var MethodMap map[string]string
  14. var LvMap map[int]decimal.Decimal
  15. func init(){
  16. pool = &redis.Pool{
  17. MaxIdle: 500,
  18. MaxActive: 2000,
  19. IdleTimeout: 120,
  20. Dial: func() (redis.Conn, error) {
  21. coon, err := redis.Dial("tcp", "127.0.0.1:6379")
  22. if err!=nil{
  23. fmt.Println(err)
  24. os.Exit(1)
  25. }
  26. coon.Send("auth","0x817A=7%BJ#x%H=1rK")
  27. return coon,err
  28. },
  29. }
  30. tm :=make(map[string]string,0)
  31. tm["0xddd670a4142d06229b922c5d433d29131580e1a2952c86700b0a36ea9e8b87ee"] = "newDeposit"
  32. tm["0x056f1f5cdd8662230b94b7f88e06d95549d18e77cb2959933db3849d36df790a"] = "newWithdraw"
  33. TopsMap = tm
  34. mm :=make(map[string]string,0)
  35. mm["transferFrom"] = "Transfer"
  36. mm["sell"] = "SellOrder"
  37. MethodMap = mm
  38. lm :=make(map[int]decimal.Decimal,0)
  39. lm[1] = decimal.NewFromFloat(0.1)
  40. lm[2] = decimal.NewFromFloat(0.08)
  41. lm[3] = decimal.NewFromFloat(0.03)
  42. lm[4] = decimal.NewFromFloat(0.03)
  43. lm[5] = decimal.NewFromFloat(0.03)
  44. lm[6] = decimal.NewFromFloat(0.03)
  45. lm[7] = decimal.NewFromFloat(0.03)
  46. lm[8] = decimal.NewFromFloat(0.03)
  47. lm[9] = decimal.NewFromFloat(0.03)
  48. lm[10] = decimal.NewFromFloat(0.03)
  49. LvMap = lm
  50. }
  51. func GetValue(key string,t int)interface{}{
  52. rc := pool.Get()
  53. defer rc.Close()
  54. key = strings.ToLower(key)
  55. if t == 1{
  56. i, e := rc.Do("get", key)
  57. if e!=nil {
  58. fmt.Println("e=",e)
  59. return 0
  60. }
  61. reply, _:= redis.Int64(i,e)
  62. return reply
  63. }else if t == 2{
  64. //fmt.Println("GetValue key=",key)
  65. r, e := rc.Do("GET", key)
  66. if e!=nil {
  67. //fmt.Println("eeeeee=",e)
  68. return nil
  69. }
  70. //fmt.Println("=rrrrr==",r)
  71. reply, err := redis.Bytes(r,e)
  72. if err!=nil {
  73. //fmt.Println("错误13331=",err)
  74. return nil
  75. }
  76. //fmt.Println("===",string(reply))
  77. var d *[]string
  78. err = json.Unmarshal(reply, &d)
  79. if err!=nil {
  80. fmt.Println("错误11=",err)
  81. }
  82. //fmt.Printf("d2结果的原始类型%T,值为%v\n", d, *d)
  83. return *d
  84. }else if t == 3{
  85. i, e := rc.Do("get", key)
  86. if e!=nil {
  87. fmt.Println("e=",e)
  88. return 0
  89. }
  90. reply, _:= redis.String(i,e)
  91. return reply
  92. }else{
  93. return ""
  94. }
  95. }
  96. func SetValue(key string,value interface{}){
  97. rc := pool.Get()
  98. defer rc.Close()
  99. key = strings.ToLower(key)
  100. rc.Do("set",key,value)
  101. }
  102. func SetValueTime(key string,value interface{},t int64){
  103. rc := pool.Get()
  104. defer rc.Close()
  105. key = strings.ToLower(key)
  106. rc.Do("set",key,value,"EX",t)
  107. }
  108. func DeleteValue(key string){
  109. rc := pool.Get()
  110. defer rc.Close()
  111. rc.Do("DEL",key)
  112. }