setOperate.go 913 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. package redis
  2. import (
  3. "github.com/gomodule/redigo/redis"
  4. "bet24.com/log"
  5. )
  6. //向名称为key的set中添加元素member
  7. func Set_SAdd(key, member string, expire int) bool {
  8. rc := RedisClient.Get()
  9. if rc == nil {
  10. log.Release("Set_SAdd no redis connection")
  11. return false
  12. }
  13. defer rc.Close()
  14. _, err := rc.Do("SADD", key, member)
  15. if err != nil {
  16. log.Release("Set_SAdd key=%v member=%v err=%v", key, member, err)
  17. return false
  18. }
  19. if expire > 0 {
  20. rc.Do("expire", key, expire)
  21. }
  22. return true
  23. }
  24. //返回名称为key的set的所有元素
  25. func Set_SMembers(key string) ([]string, bool) {
  26. rc := RedisClient.Get()
  27. if rc == nil {
  28. log.Release("Set_SMembers no redis connection")
  29. return nil, false
  30. }
  31. defer rc.Close()
  32. ret, err := redis.Strings(rc.Do("SMEMBERS", key))
  33. if err != nil {
  34. //log.Release("Set_SMembers key=%v err=%v", key, err)
  35. var r []string
  36. return r, true
  37. }
  38. return ret, true
  39. }