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

一: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.如何切换数据库 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值