key.go 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146
  1. // Copyright 2019 github.com. All rights reserved.
  2. // Use of this source code is governed by github.com.
  3. package redis
  4. import (
  5. "time"
  6. )
  7. func (p *Redis) Keys(key string) (res []string, err error) {
  8. // 安全检查
  9. if p == nil {
  10. return res, errRedis
  11. }
  12. if p.cluster {
  13. // 客户端安全检查
  14. if p.cclient == nil {
  15. return res, errRedisCClient
  16. }
  17. return p.cclient.Keys(key).Result()
  18. }
  19. // 客户端安全检查
  20. if p.client == nil {
  21. return res, errRedisClient
  22. }
  23. return p.client.Keys(key).Result()
  24. }
  25. func (p *Redis) Expire(key string, seconds int64) (res bool, err error) {
  26. // 安全检查
  27. if p == nil {
  28. return res, errRedis
  29. }
  30. if p.cluster {
  31. // 客户端安全检查
  32. if p.cclient == nil {
  33. return res, errRedisCClient
  34. }
  35. return p.cclient.Expire(key, time.Duration(seconds)*time.Second).Result()
  36. }
  37. // 客户端安全检查
  38. if p.client == nil {
  39. return res, errRedisClient
  40. }
  41. return p.client.Expire(key, time.Duration(seconds)*time.Second).Result()
  42. }
  43. func (p *Redis) Exists(keys ...string) (res int64, err error) {
  44. // 安全检查
  45. if p == nil {
  46. return res, errRedis
  47. }
  48. if p.cluster {
  49. // 客户端安全检查
  50. if p.cclient == nil {
  51. return res, errRedisCClient
  52. }
  53. return p.cclient.Exists(keys...).Result()
  54. }
  55. // 客户端安全检查
  56. if p.client == nil {
  57. return res, errRedisClient
  58. }
  59. return p.client.Exists(keys...).Result()
  60. }
  61. func (p *Redis) Del(keys ...string) (res int64, err error) {
  62. // 安全检查
  63. if p == nil {
  64. return res, errRedis
  65. }
  66. if p.cluster {
  67. // 客户端安全检查
  68. if p.cclient == nil {
  69. return res, errRedisCClient
  70. }
  71. return p.cclient.Del(keys...).Result()
  72. }
  73. // 客户端安全检查
  74. if p.client == nil {
  75. return res, errRedisClient
  76. }
  77. return p.client.Del(keys...).Result()
  78. }
  79. func (p *Redis) IncrBy(key string, value int64) (res int64, err error) {
  80. // 安全检查
  81. if p == nil {
  82. return res, errRedis
  83. }
  84. if p.cluster {
  85. // 客户端安全检查
  86. if p.cclient == nil {
  87. return res, errRedisCClient
  88. }
  89. return p.cclient.IncrBy(key, value).Result()
  90. }
  91. // 客户端安全检查
  92. if p.client == nil {
  93. return res, errRedisClient
  94. }
  95. return p.client.IncrBy(key, value).Result()
  96. }
  97. func (p *Redis) Rename(key string, newkey string) (res string, err error) {
  98. // 安全检查
  99. if p == nil {
  100. return res, errRedis
  101. }
  102. if p.cluster {
  103. // 客户端安全检查
  104. if p.cclient == nil {
  105. return res, errRedisCClient
  106. }
  107. return p.cclient.Rename(key, newkey).Result()
  108. }
  109. // 客户端安全检查
  110. if p.client == nil {
  111. return res, errRedisClient
  112. }
  113. return p.client.Rename(key, newkey).Result()
  114. }