redis操作
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

93 lines
1.3 KiB

  1. package redis
  2. import (
  3. redisdb "github.com/gomodule/redigo/redis"
  4. )
  5. /*
  6. * 存值
  7. * key
  8. * value
  9. * 2021/08/31
  10. */
  11. func SAdd(key string, value interface{}) (int64, error) {
  12. c := GetConn()
  13. reply, err := c.Do("SADD", key, value)
  14. CloseConn(c)
  15. if err != nil {
  16. return 0, err
  17. } else {
  18. return redisdb.Int64(reply, nil)
  19. }
  20. }
  21. /*
  22. * 删除hash值
  23. */
  24. func SRem(key, value interface{}) (int64, error) {
  25. c := GetConn()
  26. reply, err := c.Do("SREM", key, value)
  27. CloseConn(c)
  28. if err != nil {
  29. return 0, err
  30. } else {
  31. return redisdb.Int64(reply, nil)
  32. }
  33. }
  34. /**
  35. * 集合键是否存在
  36. * key
  37. * field
  38. */
  39. func SIsmember(key, value interface{}) (int64, error) {
  40. c := GetConn()
  41. reply, err := c.Do("SISMEMBER", key, value)
  42. CloseConn(c)
  43. if err != nil {
  44. return 0, err
  45. } else {
  46. return redisdb.Int64(reply, nil)
  47. }
  48. }
  49. /**
  50. * 集合成员数量
  51. */
  52. func SCard(key interface{}) (int64, error) {
  53. c := GetConn()
  54. reply, err := c.Do("SCard", key)
  55. CloseConn(c)
  56. if err != nil {
  57. return 0, err
  58. } else {
  59. return redisdb.Int64(reply, nil)
  60. }
  61. }
  62. //hash取值,返回[]byte
  63. func SMembers(key string) ([]byte, error) {
  64. c := GetConn()
  65. ret, err := c.Do("SMEMBERS", key)
  66. reply := make([]byte, 0)
  67. if err == nil {
  68. reply, err = redisdb.Bytes(ret, err)
  69. }
  70. CloseConn(c)
  71. return reply, err
  72. }