Redis入门指南(第2版).人民邮电出版社.李子骅
2019-02-25 14:08:39 13 举报
AI智能生成
redis入门书籍,很合适新手阅读
作者其他创作
大纲/内容
数据类型
字符串类型
列表类型
散列类型
集合类型
有序集合类型
事务处理
无回滚机制,错误的命令不影响正确的命令执行,会造成数据失真
事务期间不被其他命令插入,又因是单线程,所以会有性能问题
watch命令
监控的键值被修改后,阻止之后的事务不被执行;不能阻止其他客户端修改键值
过期时间
主动触发
当内存占满时,则会触发删除策略
定期删除
被动触发
访问一个过期的KEY,则该KEY会被删除
订阅/发布
发布 publish
订阅 subscribe
管道
将多个不需要分先后顺序的命令通过一次网络连接发送到redis服务器,再统一返回结果
内部编码
分redisObject 和 sdshdr 对象
如果是存储string ,则redisObject、sdshdr都需要占用;其中redisObject.ptr 指向 sdshdr
如果是存储int,则只需redisObject,其中 redisObject.ptr则为int 的值
持久化
定时持久化RDB
通过快照方式完成
通过配置规则;调用save,bgsave,flushall ,执行复制时都会触发快照
快照数据是fork那一刻的数据
即时持久化AOF
append only file,每一次写命令都会写到AOF文件中
数据则在硬盘缓存中,默认30秒同步一次到硬盘中
可以修改appendfsync参数来实现同步的时间间隔,或是每次写入都同步
集群
复制
可以从主数据库复制数据到从数据库,默认从数据库数据变化不会同步到主数据库
支持全量复制,增量复制(每个数据库实例都是唯一),从数据库将偏移量发给主数据库,主数据库根据偏移量发送命令,从数据库收到命令和新偏移量并记录;
支持硬盘(默认)、无硬盘复制;快照文件无需持久化,在内存中通过网络传输给从数据库
采用了乐观复制策略,容忍主从数据库在一定时间间隔的数据不一致
从数据库崩溃后,主数据库会自动同步数据到从数据库
主数据库崩溃后,需要通过哨兵机制来切换主从数据库,然后再同步数据到“新”从数据库
哨兵
支持多哨兵监听同一个网络环境;哨兵监控数据库,哨兵监控哨兵
每10秒获取INFO信息,判断新接入的数据库
每2秒向主数据库发送hello信息,分享哨兵自己的信息,被其他哨兵判断是事新接入的哨兵,并加入到哨兵列表中
每1秒向节点发送ping信息,判断是否停止服务
监听主从数据库运行状态,从主观,客观判断(多个从数据库主观判断达到一个指标参数时)主从数据库是否崩溃
根据算法切换主从数据库
集群
不同的主机,会负责不同的插槽,由算法分配,不会重复(哪些键归哪些节点负责)
插槽的分配,数据分配到不同的插槽上
当有多个键时,且多个键位于同一节点时才能正常支持(如散列)
可以将一台主机的插槽分配到别一台主机上
感悟:Redis本身是一个小而精的数据库;所以它所涉及的内容并不多,新人上手也很快。该书所讲的内容也不深,而是恰到好处的给新人们讲到了应该需要知道的点。若想更深入的了解Redis,则要查阅其他相关书箱了。
收藏
0 条评论
下一页