Redis 数据库结构 Redis redisDb 
Redis是一个基于内存的数据库,数据存储在内存中,以键值对的形式存储.
Redis的数据库结构:
c
// redisDb 结构
type struct redisDb {
    dict *dict;           //字典
    dict *expires;        // 过期键
    dict *blocking_keys;
    dict *ready_keys;
    dict *watched_keys;
    int id;
    long long avg_ttl;
    list *defrag_later;
} redisDb;
// dict 结构
typedef struct dict {
    dictType *type;
    void *privdata;
    dictht ht[2];
    long rehashidx;
    unsigned long iterators;
} dict;redisDb 代表Redis数据库结构,各种操作对象,都存储在dict数据结构里.
dict是Redis的字典结构,存储键值对.expires是Redis的过期键字典结构,存储过期键.
操作Redis在内存中的表现 
添加数据# 即添加键值对,添加到dict结构字典中,Key必须为String对象,value为任何类型的对象,添加数据后,会在redisDb里字段dict上添加dict对象查询数据# 直接在dict找到对应的key,即完成查询更新数据# 对已经Key对象的任何变更操作,都是更新删除数据# 删除即把key和value从dict结构里删除
关于过期键 expiresKey 
Redis可以设置过期键,到达一定时间,这些对象会被自动过期并回收
过期键存储在expires字典上,expires字典中,value就是过期时间
在redisDb中,dict和expires中Key对象,实际都是存储String对象指针,两个的key都会指向内存相应的字符串地址
链接