helper.go 790 B

12345678910111213141516171819202122232425262728293031323334
  1. package redisx
  2. import (
  3. "context"
  4. "fmt"
  5. "time"
  6. )
  7. // 工具方法(Del、Expire、TTL、Exists、Scan 等)
  8. func Del(ctx context.Context, keys ...string) error {
  9. if len(keys) == 0 {
  10. return fmt.Errorf("no key provided")
  11. }
  12. return getClient().Del(ctx, keys...).Err()
  13. }
  14. func Expire(ctx context.Context, key string, ttl time.Duration) (bool, error) {
  15. return getClient().Expire(ctx, key, ttl).Result()
  16. }
  17. func ExpireAt(ctx context.Context, key string, tm time.Time) (bool, error) {
  18. return getClient().ExpireAt(ctx, key, tm).Result()
  19. }
  20. func TTL(ctx context.Context, key string) (time.Duration, error) {
  21. return getClient().TTL(ctx, key).Result()
  22. }
  23. func Exists(ctx context.Context, key string) (bool, error) {
  24. n, err := getClient().Exists(ctx, key).Result()
  25. return n > 0, err
  26. }