forked from pyb1993/JavaRedis
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathPFaddCommandHandler.java
More file actions
26 lines (21 loc) · 866 Bytes
/
PFaddCommandHandler.java
File metadata and controls
26 lines (21 loc) · 866 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
package RedisCommand;
import Common.RedisStringList;
import RedisDataBase.RedisDb;
import RedisDataBase.RedisString;
import io.netty.channel.ChannelHandlerContext;
import MessageOutput.MessageOutput;
import java.util.ArrayList;
import java.util.List;
/**
* 用来实现hyperLogLog命令里面的pfadd命令
* **/
public class PFaddCommandHandler implements RedisCommandHandler<RedisStringList> {
static private final RedisString pfaddConstant = new RedisString("pfadd");
public void handle(ChannelHandlerContext ctx, RedisString requestId, RedisStringList message){
ArrayList<String> a = message.getArr();
List<String> values = a.subList(1,a.size());
String key = a.get(0);
RedisDb.pfadd(RedisString.allocate(key),values);// todo 优化
ctx.writeAndFlush(new MessageOutput(requestId,pfaddConstant,""));
}
}