keyOperate.go 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. package redis
  2. import (
  3. "github.com/gomodule/redigo/redis"
  4. "bet24.com/log"
  5. )
  6. //向名称为key设置过期时间
  7. func Key_EXPIRE(key string, seconds int) bool {
  8. rc := RedisClient.Get()
  9. if rc == nil {
  10. log.Release("Key_EXPIRE no redis connection")
  11. return false
  12. }
  13. defer rc.Close()
  14. i, err := redis.Int(rc.Do("EXPIRE", key, seconds))
  15. if err != nil {
  16. log.Release("Key_EXPIRE key=%v seconds=%v err=%v", key, seconds, err)
  17. return false
  18. }
  19. if i == 1 {
  20. return true
  21. }
  22. return false
  23. }
  24. //是否存在某个key
  25. func Key_EXISTS(key string) bool {
  26. rc := RedisClient.Get()
  27. if rc == nil {
  28. log.Release("Key_EXISTS no redis connection")
  29. return false
  30. }
  31. defer rc.Close()
  32. i, err := redis.Int(rc.Do("EXISTS", key))
  33. if err != nil {
  34. log.Release("Key_EXISTS key=%v err=%v", key, err)
  35. return false
  36. }
  37. return i >= 1
  38. }
  39. func Key_Del(key string) {
  40. rc := RedisClient.Get()
  41. if rc == nil {
  42. log.Release("Key_Del no redis connection")
  43. return
  44. }
  45. defer rc.Close()
  46. _, err := redis.Int(rc.Do("DEL", key))
  47. if err != nil {
  48. log.Release("Key_Del key=%v err=%v", key, err)
  49. }
  50. }
  51. func Key_GetKeys(key string) []string {
  52. rc := RedisClient.Get()
  53. var ret []string
  54. if rc == nil {
  55. log.Release("Key_GetKeys no redis connection")
  56. return ret
  57. }
  58. defer rc.Close()
  59. r, err := redis.Strings(rc.Do("KEYS", key))
  60. if err != nil {
  61. log.Release("Key_GetKeys key=%v err=%v", key, err)
  62. return ret
  63. }
  64. return r
  65. }
  66. func Key_DelKeys(keys string) int {
  67. ret := 0
  68. rc := RedisClient.Get()
  69. if rc == nil {
  70. log.Release("Key_DelKeys no redis connection")
  71. return ret
  72. }
  73. defer rc.Close()
  74. r, err := redis.Strings(rc.Do("KEYS", keys))
  75. if err != nil {
  76. log.Release("Key_DelKeys keys=%v err=%v", keys, err)
  77. return ret
  78. }
  79. for _, v := range r {
  80. rc.Do("DEL", v)
  81. }
  82. return len(r)
  83. }