您的位置:首页 > 数据库 > Redis

redis系统命令源代码剖析笔记(3)

2017-07-04 22:06 585 查看
一:Del命令的源码

    1.del命令最终都是在dict中删除


    2. 代码执行流程图

         《1》 void delCommand(redisClient *c)
《2》 dbDelete(c->db,c->argv[j])  
          c->db 当前是哪个DB。
  c->argv[j] 命令参数【key的name】
《3》 dictDelete(db->dict,key->ptr) == DICT_OK 

    3. redisDb 默认有16个db,每个db=>redisDb    
装一下 Redis Desktop Manager  放到云盘里面

    4. 探索一下db->dict  db中的所有key都是存放在dict。

二:Exists   判断当前的key是否在字典中,原理就是在dictionary中找一下key是否存在

     1.代码执行流程
            void existsCommand(redisClient *c)
    int dbExists(redisDb *db, robj *key)
    dictFind(db->dict,key->ptr)     => JAVA中的Map源代码  C#中的Dictionary代码原理

三: select命令  切换数据库

      1.所有默认的数据都在db0号数据库。

      2.如何切换数据库 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  redis