Redis服务器的数据库实现
1.服务器中的数据库
初始化服务器时,程序会根据dbnum属性来决定创建多少个数据库
dbnum属性的值由服务器配置的database决定,默认情况下为16,所以Redis默认会创建16个数据库
2.切换数据库
默认情况下,Redis客户端的目标数据库为0号库,可以用select命令来切换目标数据库
通过修改redisClient.db指针,让它指向服务器中的不同数据库,从而实现切换目标数据库的功能
3.数据库键空间
- 1.添加新键
添加一个新键值对到数据库,实际上就是将一个新键值对添加到键空间字典里面,其中键为字符串对象,而值则为任意一种类型的Redis对象 - 2.删除键
删除数据库中的一个键,就是在键空间里面删除键所对应的键值对对象 - 3.更新键
就是在键空间里面键所对应的值对象进行更新 - 4.读写键空间时的维护操作
1.在读取一个键后,服务器会根据键是否存在来更新服务器的键空间命中(hit)或键空间不命中(miss)次数
2.在读取一个键之后,服务器会更新键的LRU,通过Object idletime命令查看key的闲置时间