Redis内部原理
来源:互联网 发布:淘宝会员等级表 编辑:程序博客网 时间:2024/06/08 15:35
redis默认创建16个数据库,通过select语句可以切换数据库,如
select 2
可用通过expire命令或者pexpire命令,以秒或毫秒精度为数据库中的某个键设置生存时间,到期后服务器自动删除键
set key value
expire key 5
TTL命令和PTTL命令返回一个键的生存时间
TTL key
PERSIST命令可以移除一个键的生存时间
PERSIST key
过期删除策略有三种
定时删除 创建定时器,让定时器来删除
惰性删除 获取键时,检查是否过期,过期则删除
定期删除 每隔段时间,程序对数据库进行一次检查,删除过期键
Redis用到了2,3两种策略
Redis2.8版本增加了数据库通知功能,客户端通过订阅给定的频道和模式,来获知数据库中键的变化,以及数据库中命令的执行情况
Redis数据库主要由dict和expires两个字典构成,其中dict字典负责保存键值对,而expires字典则负责保存键的过期时间
Redis提供了RDB持久化功能,这个功能可以将Redis在内存中的数据库状态保存到磁盘里面,RDB持久化即可以手动执行,也可以根据服务器配置选项定期执行。
手动载入使用save命令和bgsave命令。服务器配置保存后台调用bgsave命令。使用save选择设置多个保存条件时,只要其中一个条件被满足,服务器就会执行BGSAVE命令
当服务器启动时,如果用户没有设置,服务器会为save选项设置默认条件
除了RDB持久化功能之外,Redis还提供AOF(Append Only File)持久化功能。AOF持久化通过保存Redis服务器所执行的写命令来记录数据库状态.
在Redis中,用户可以通过执行SLAVEOF命令或者设置slaveof选项,让一个服务器去复制另一个服务器
127.0.0.1:12345> SLAVEOF 127.0.0.1 6379
Sentinel是Redis的高可用性解决方案,由一个或多个Sentinel实例组成的Sentinel系统可以监视任意多个主服务器,以及这些主服务器进入下线状态时,自动将下线主服务器属下的某个从服务器升级为新的主服务器,然后由新的主服务代替已下线的主服务器继续处理命令请求.
Redis的慢查询日志功能用于记录执行时间超过给定时长的命令请求。可以通过服务器配置修改响应的选项.SLOWLOG GET 命令查看服务器所保存的慢查询日志
通过执行MONITOR命令,客户端可以将自己变为一个监视器。每当服务器处理一条命令请求时,还会将关于这条命令请求的信息发送给所有监视器.
- Redis内部原理
- [转]Redis有序集内部实现原理分析
- [转]Redis有序集内部实现原理分析(二)
- Redis 源码解析 string内部实现原理之链表
- Redis的内部数据结构
- redis内部数据结构
- Redis 源码解析 string内部实现原理之简单动态字符串SDS
- redis原理
- redis原理
- redis 原理
- redis原理
- Redis原理
- Redis原理
- SQLSERVER内部原理
- Tapestry内部工作原理
- 程序内部执行原理
- SQLServer内部原理(转)
- selenium执行内部原理
- Doxygen C++注释规范
- Hive扩展功能(六)--HPL/SQL(可使用存储过程)
- JAVA的IO操作
- 多线程---线程池总结
- mac上搭建php工作环境
- Redis内部原理
- cocoapods安装第三方库
- OOP面向对象三大特点
- row_number() OVER(PARTITION BY)函数介绍
- 你不知道的JS读书笔记2—this对象
- 插入排序
- 百度webuploader点击反应太慢解决方案
- SQL2012不允许保存更改的解决办法
- 玩转Android上透明状态栏,全屏显示以及沉浸模式(Immersive Mode)