redisCoon.go 2.8 KB

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