list.go 2.6 KB

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