Redis数据库

总结

  • Redis服务器的所有数据库都保存在redisServer.db数组中,而数据库的数量则由redisSerer.dbnum属性保存。
  • 客户端通过修改目标数据库指针,让它指向redisServer.db数组中的不同元素来切换不同的数据库。
  • 数据库主要有dict和expires两个字典构成,其中dict字典负责保存键值对,而expires 字典则负责保存键值对的过期时间。
  • 因为数据库由字典构成,所有对数据库的操作都是建立在字典操作之上的。
  • 数据库的键总是一个字符串对象,而值则可以是任意一种Redis对象类型,包括字符串对象、哈希对象、集合对象、列表对象和集合对象,分别对应字符串键、哈希表键、集合键、列表键、和有序集合键。
  • expires字典的键指向数据库中的某个键,而值则记录了数据库键的过期时间,过期时间是一个以毫秒为单位的UNIX时间戳。
  • redis 使用惰性删除和定期删除两种策略来删除过期的键:惰性删除策略只在碰到过期键时才进行删除操作,定期删除策略则每隔一段时间主动查找并删除过期键。
  • 执行SAVE命令或者BGSAVE命令所产生的新的RDB文件不会包含已经过期的键。
  • 当一个过期键被删除之后,服务器会追加一条DEL命令到现有的AOF文件的末尾,显示地删除过期键。
  • 当主服务器删除一个过期键之后,它会向从服务器发送一条DEL命令,显示地删除过期键。
  • 从服务器即使发现过期键也不会自动主动的删除它,而是等待主节点发来DEL命令,这种统一,中心化的过期键删除策略可以保证主从服务器数据的一致性。
  • 当Redis命令对数据库进行修改之后,服务器会根据配置向客户端发送数据库通知。

转载于:https://my.oschina.net/lvhuizhenblog/blog/673015

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值