redis.go 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. package utils
  2. import (
  3. "gd_auth_check/common.in/cache"
  4. "encoding/json"
  5. "errors"
  6. "fmt"
  7. )
  8. func RedisSet(tabname string, tail string, value interface{}) error {
  9. bytes, err := json.Marshal(value)
  10. if err != nil {
  11. return err
  12. }
  13. key := fmt.Sprintf("%s-%s", tabname, tail)
  14. _, err = cache.Redis.Set(key, string(bytes))
  15. return err
  16. }
  17. func RedisSetEx(key string, seconds int64, value interface{}) error {
  18. bytes, err := json.Marshal(value)
  19. if err != nil {
  20. return err
  21. }
  22. _, err = cache.Redis.SetEx(key, seconds, string(bytes))
  23. return err
  24. }
  25. func RedisSetNxEx(key string, seconds int64, value interface{}) (bool,error) {
  26. bytes, err := json.Marshal(value)
  27. if err != nil {
  28. return false ,err
  29. }
  30. isSucess, err := cache.Redis.SetNxEx(key, string(bytes), seconds)
  31. return isSucess,err
  32. }
  33. func RedisGetKey(option string) (string, error) {
  34. array, err := cache.Redis.Keys(option)
  35. if err != nil {
  36. return "", err
  37. }
  38. if len(array) == 0 {
  39. return "", errors.New("no record")
  40. }
  41. return fmt.Sprintf("%s", array[0]), nil
  42. }
  43. func RedisGet(key string, value interface{}) error {
  44. ret, err := cache.Redis.Get(key)
  45. if err != nil {
  46. return err
  47. }
  48. if ret == "" {
  49. return errors.New("empty")
  50. }
  51. err = json.Unmarshal([]byte(ret), value)
  52. return err
  53. }
  54. func RedisDelKey(key string) error {
  55. _, err := cache.Redis.Del(key)
  56. return err
  57. }