You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
	
	
		
			43 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Go
		
	
			
		
		
	
	
			43 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Go
		
	
| package redis
 | |
| 
 | |
| import "context"
 | |
| 
 | |
| type HyperLogLogCmdable interface {
 | |
| 	PFAdd(ctx context.Context, key string, els ...interface{}) *IntCmd
 | |
| 	PFCount(ctx context.Context, keys ...string) *IntCmd
 | |
| 	PFMerge(ctx context.Context, dest string, keys ...string) *StatusCmd
 | |
| }
 | |
| 
 | |
| func (c cmdable) PFAdd(ctx context.Context, key string, els ...interface{}) *IntCmd {
 | |
| 	args := make([]interface{}, 2, 2+len(els))
 | |
| 	args[0] = "pfadd"
 | |
| 	args[1] = key
 | |
| 	args = appendArgs(args, els)
 | |
| 	cmd := NewIntCmd(ctx, args...)
 | |
| 	_ = c(ctx, cmd)
 | |
| 	return cmd
 | |
| }
 | |
| 
 | |
| func (c cmdable) PFCount(ctx context.Context, keys ...string) *IntCmd {
 | |
| 	args := make([]interface{}, 1+len(keys))
 | |
| 	args[0] = "pfcount"
 | |
| 	for i, key := range keys {
 | |
| 		args[1+i] = key
 | |
| 	}
 | |
| 	cmd := NewIntCmd(ctx, args...)
 | |
| 	_ = c(ctx, cmd)
 | |
| 	return cmd
 | |
| }
 | |
| 
 | |
| func (c cmdable) PFMerge(ctx context.Context, dest string, keys ...string) *StatusCmd {
 | |
| 	args := make([]interface{}, 2+len(keys))
 | |
| 	args[0] = "pfmerge"
 | |
| 	args[1] = dest
 | |
| 	for i, key := range keys {
 | |
| 		args[2+i] = key
 | |
| 	}
 | |
| 	cmd := NewStatusCmd(ctx, args...)
 | |
| 	_ = c(ctx, cmd)
 | |
| 	return cmd
 | |
| }
 |