设为首页 加入收藏

TOP

Redis源码分析(八)---t_hash哈希转换(三)
2015-07-24 12:04:41 来源: 作者: 【 】 浏览:90
Tags:Redis 源码 分析 ---t_hash 哈希 转换
alue; } 客户端的命令操作其实是基于一个叫redisClient的对象,这个其实也就是robj对象,命令传输时,这个robj->ptr存着,具体的数据,robj->args[]存放了各种参数,后面就是调用前面的方法了,唯一不一样的是,命令调用后要有回复和更新通知操作。,下面是一个设置的命令;?
/* hashType处理客户端的命令请求 */
void hsetCommand(redisClient *c) {
    int update;
    robj *o;

    if ((o = hashTypeLookupWriteOrCreate(c,c->argv[1])) == NULL) return;
    hashTypeTryConversion(o,c->argv,2,3);
    hashTypeTryObjectEncoding(o,&c->argv[2], &c->argv[3]);
    //命令的操作都是通过,客户端中的对象,和存在于里面的命令参数组成
    update = hashTypeSet(o,c->argv[2],c->argv[3]);
    //操作完添加回复
    addReply(c, update ? shared.czero : shared.cone);
    //发送通知表示命令执行完毕,预测者会触发窗口上的显示
    signalModifiedKey(c->db,c->argv[1]);
    notifyKeyspaceEvent(REDIS_NOTIFY_HASH,"hset",c->argv[1],c->db->id);
    
    //客户端命令执行成功,因为客户单此时的数据时最新的,服务端的脏数据就自然多了一个,
    server.dirty++;
}
其他命令与此类似,就不说了。可以看见,现在慢慢的能够略微向逻辑层的代码靠近了,后面的代码也一定非常精彩。
首页 上一页 1 2 3 下一页 尾页 3/3/3
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇toadfororacle,格式化配置备份Fm.. 下一篇知道归档日志sequence#,查处该归..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

Shell 基本运算符 -
Shell 函数 | 菜鸟教
Linux 常用命令集合
socket 编程如何实现
Python创建简易的Soc