Redis Sentinel学习
定义 Redis sentinel称为哨兵模式,是Redis 高可用的实现方法,具有故障发现,故障自动转移,配置中心和客户端通知,2.8版本后sentinel生产可用。sentinel作为一个独立的进程,监控多个运行的Redis 数据库。 主要解决主从复制发生故障时,进行手动故障转移的复杂性问题, ...
Read more
Redis主从复制
定义 单个Redis数据库很容易出现单点故障和容量瓶颈问题,Redis支持将主数据库(Master)上的数据复制多份到在多个不同的从数据库(Slave)上,数据流向是单向的 - Master -> Slave。通常主数据进行数据写入操作,从数据库进行读操作,实现数据的读写分离。 实现方式 ...
Read more
Redis持久化常见问题
Fork操作 定义:调用fork函数给当前正在运行的进程创建一个子进程。根据copy-on-write(写时复制)机制,这是一种内核机制,在创建子进程并不发生复制,创建子进程后父子进程共用数据,只有在修改数据是才会创建新的空间。 Redis中需要用到fork操作的相关命令:bgsave,bgre ...
Read more
Redis持久化
定义 Redis所有数据保存在内存中,把内存中的数据保存在磁盘中,称之为持久化 RDB持久化 RDB 是 Redis 默认的持久化方案。在指定的时间间隔内,执行了指定次数的写操作,则会将内存中的数据写入到磁盘中,即在指定目录下生成一个dump.rdb文件。Redis 重启会通过加载dump. ...
Read more
Redis其他特性和功能
慢查询 定义 慢查询日志帮助开发和运维人员定位系统存在的慢操作。慢查询日志就是系统在命令执行前后计算每条命令的执行时间,当超过预设阀值,就将这条命令的相关信息(慢查询ID,发生时间戳,耗时,命令的详细信息)记录下来,可将其持久化到磁盘中供开发人员分析。 客户端请求生命周期 慢查询是一个先进先 ...
Read more
Redis数据结构和相应操作
Redis通用操作 Keys [pattern] # 遍历出指定模式的key,可使用 , ?等通配符 - 一般不在生产环境中使用,O(n)   _Keys_ # 遍历出所有key   Keys he[h-l]* # 遍历以 he 开头,第三个字符在 h-l 期间的匹配key dbsize ...
Read more
Redis是什么?
定义 高性能键值对数据库,支持的键值数据类型:字符串(String),字符串列表(list),字符串集合(set),有序字符串集合(sorted set),哈希(Hash)。 数据结构和内部编码 Redis 源码中设置了一个redisObject数据结构,描述了此种关系。 特性 速度快 ...
Read more
<LeetCode>最长公共前缀
题目描述 编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 “”。 示例 1: 输入: [“flower”,“flow”,“flight”] 输出: “fl” 示例 2: 输入: [“dog”,“racecar”,“car”]< 输出: “” 解释: 输 ...
Read more
<LeetCode> 无重复字符的最长子串长度
题目描述 给定一个字符串,请你找出其中不含有重复字符的最长子串的长度。 示例 1: 输入: “abcabcbb” 输出: 3 解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。 示例 2: 输入: “bbbbb” 输出: 1 解释: 因为无重复字符的最长子串是 “b”,所以其长度 ...
Read more
吴恩达机器学习课程练习代码实现(Octave版/Python版)
吴恩达机器学习课程练习代码实现(Octave版/Python版)  吴恩达老师的机器学习课程成为了众多机器学习爱好者进入机器学习世界的敲门砖, 老师通俗易懂的授课方式让人能够快速的了解机器学习。 老师的课后练习使用Octave语言进行编写, 但是现在机器学习中使用更加普遍的是Python语言, 为 ...
Read more