redis.go 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  1. package like
  2. import (
  3. "context"
  4. "fmt"
  5. "go-common/library/cache/redis"
  6. "go-common/library/log"
  7. )
  8. const (
  9. _prefixAttention = "lg_"
  10. )
  11. func redisKey(key string) string {
  12. return _prefixAttention + key
  13. }
  14. // RsSet Dao
  15. func (dao *Dao) RsSet(c context.Context, key string, value string) (ok bool, err error) {
  16. var (
  17. rkey = redisKey(key)
  18. conn = dao.redis.Get(c)
  19. )
  20. defer conn.Close()
  21. if ok, err = redis.Bool(conn.Do("SET", rkey, value)); err != nil {
  22. log.Error("conn.Send(SET, %s, %s) error(%v)", rkey, value, err)
  23. return
  24. }
  25. return
  26. }
  27. // RsGet Dao
  28. func (dao *Dao) RsGet(c context.Context, key string) (res string, err error) {
  29. var (
  30. rkey = redisKey(key)
  31. conn = dao.redis.Get(c)
  32. )
  33. defer conn.Close()
  34. if res, err = redis.String(conn.Do("GET", rkey)); err != nil {
  35. if err == redis.ErrNil {
  36. err = nil
  37. } else {
  38. log.Error("conn.Do(GET %s) error(%v)", rkey, err)
  39. }
  40. }
  41. return
  42. }
  43. // RsSetNX Dao
  44. func (dao *Dao) RsSetNX(c context.Context, key string) (res bool, err error) {
  45. var (
  46. rkey = redisKey(key)
  47. conn = dao.redis.Get(c)
  48. )
  49. defer conn.Close()
  50. if res, err = redis.Bool(conn.Do("SETNX", rkey, "1")); err != nil {
  51. if err == redis.ErrNil {
  52. log.Error("conn.Do(GET key(%s)) error(%v)", rkey, err)
  53. err = nil
  54. } else {
  55. log.Error("conn.Do(GET key(%s)) error(%v)", rkey, err)
  56. return
  57. }
  58. }
  59. fmt.Print(res)
  60. return
  61. }
  62. // Rb Dao
  63. func (dao *Dao) Rb(c context.Context, key string) (res []byte, err error) {
  64. var (
  65. rkey = redisKey(key)
  66. conn = dao.redis.Get(c)
  67. )
  68. defer conn.Close()
  69. if res, err = redis.Bytes(conn.Do("GET", rkey)); err != nil {
  70. if err == redis.ErrNil {
  71. res = nil
  72. err = nil
  73. } else {
  74. log.Error("conn.Do(GET key(%v)) error(%v)", rkey, err)
  75. }
  76. }
  77. return
  78. }
  79. // Incr Dao
  80. func (dao *Dao) Incr(c context.Context, key string) (res bool, err error) {
  81. var (
  82. rkey = redisKey(key)
  83. conn = dao.redis.Get(c)
  84. )
  85. defer conn.Close()
  86. if res, err = redis.Bool(conn.Do("INCR", rkey)); err != nil {
  87. log.Error("conn.Do(INCR key(%s)) error(%v)", rkey, err)
  88. }
  89. return
  90. }
  91. // Incrby Dao
  92. func (dao *Dao) Incrby(c context.Context, key string) (res bool, err error) {
  93. var (
  94. rkey = redisKey(key)
  95. conn = dao.redis.Get(c)
  96. )
  97. defer conn.Close()
  98. if res, err = redis.Bool(conn.Do("INCRBY", rkey, 222)); err != nil {
  99. log.Error("conn.Do(INCRBY key(%s)) error(%v)", rkey, err)
  100. }
  101. return
  102. }