阅读量:1
cmd
是命令的实现函数的数组,命令实现函数的结构如下:
struct redisCommand {
// 命令名称
char *name;
// 命令执行函数
redisCommandProc *proc;
// 参数个数
int arity;
// 字符串表示flag
char *sflags; /* Flags as string representation, one char per flag. */
// 实际flag
int flags; /* The actual flags, obtained from the ‘sflags’ field. */
…
// 指定哪些参数是key
int firstkey; /* The first argument that’s a key (0 = no keys) */
int lastkey; /* The last argument that’s a key */
int keystep; /* The step between first and last key */
// 统计信息
long long microseconds, calls;
};
客户端的创建和关闭
当客户端向服务器发出connect请求的时候,服务器的事件处理器就会对这个事件进行处理,创建相应的客户端状态,并将这个新的客户端状态添加到服务器状态结构clients链表的末尾
/*
* 创建一个新客户端
*/
redisClient *createClient(int fd){
// 分配空间
redisClient *c =