吃透Redis系列(七):哨兵机制详细介绍

文章目录一,什么是哨兵二,部署1,部署主从节点2,部署哨兵节点3,演示故障转移1,首先,使用kill命令杀掉主节点2,info sentinel查看哨兵情况3,重启6379节点:可以看到6379节点成为了6380节点的从节点4,在故障转移阶段,哨兵和主从节点的配置文件都会被改写4,总结三,客户端访问哨兵系统1,代码演示2,客户端原理3,总结四,哨兵的实现原理1,哨兵节点支持的命令2,基本原理五,配置与实践建议1,配置2,实践建议六,总结在 吃透Redis系列(六):主从复制详细介绍中曾提到,Redis主从
分类: 其他 发布时间: 01-26 23:49 阅读次数: 0

吃透Redis系列(八):集群详细介绍

在前面的文章中,已经介绍了Redis的几种高可用技术:持久化、主从复制和哨兵,但这些方案仍有不足,其中最主要的问题是存储能力受单机限制,以及无法实现写操作的负载均衡。Redis集群解决了上述问题,实现了较为完善的高可用方案。本文将详细介绍集群,主要内容包括:集群的作用;集群的搭建方法及设计方案;集群的基本原理;客户端访问集群的方法;以及其他实践中需要的集群知识(集群扩容、故障转移、参数优化等)。一,集群的作用集群,即Redis Cluster,是Redis 3.0开始引入的分布式存储方案。集群由多个
分类: 其他 发布时间: 01-26 23:49 阅读次数: 0

吃透Redis系列(九):Redis代理twemproxy和predixy详细介绍

文章目录一,实现Redis集群方案1,客户端分片2,代理分片2.1,twemproxy2.2,predixy3,服务端分片redis cluster4,方案选择二,twemproxy1,twemproxy使用1.1,clone代码1.2,生成configure文件1.3,执行./configure1.4,执行make1.5,拷贝nutcracker.init1.6,给twemproxy赋可执行权限1.7,拷贝配置文件1.8,拷贝make生成的nutcracker可执行程序到/usr/bin目录下1.9,修改
分类: 其他 发布时间: 01-26 23:48 阅读次数: 0

吃透Redis系列(十):Redis内存模型详细介绍

文章目录前言一,Redis内存统计二、Redis内存划分1,数据2,进程本身运行需要的内存3,缓存内存4,内存碎片三,Redis数据存储的细节1,概述2,jemalloc3,redisObject3.1,type3.2,encoding3.3,lru3.4,refcount3.5,ptr3.6,总结4,SDS4.1,SDS结构4.2,SDS与C字符串的比较4.3,SDS与C字符串的应用四,Redis的对象类型与内部编码1,字符串1.1,概况1.2,内部编码1.3,编码转换2,列表2.1,概况2.2,内部编码
分类: 其他 发布时间: 01-26 23:48 阅读次数: 0

吃透Redis系列(十一):Jedis和Lettuce客户端详细介绍

Redis系列文章:吃透Redis系列(一):Linux下Redis安装吃透Redis系列(二):Redis六大数据类型详细用法吃透Redis系列(三):Redis管道,发布/订阅,事物,过期时间 详细介绍吃透Redis系列(四):布隆(bloom)过滤器详细介绍吃透Redis系列(五):RDB和AOF持久化详细介绍吃透Redis系列(六):主从复制详细介绍吃透Redis系列(七):哨兵机制详细介绍吃透Redis系列(八):集群详细介绍吃透Redis系列(九):Redis代理twempro
分类: 其他 发布时间: 01-26 23:48 阅读次数: 0

给自己的备忘录——面向对象

给自己的备忘录                              ——面向对象面向对象是现在最流行,也是最高效的编程方法,尽管一些计算机诞生之初的大牛说面向对象让编程变得毫无艺术性,但是,我们不得不承认,有时候高效的生产力比艺术性来得更要实在。从前,程序员在编程的时候总要考虑计算机的感受,这样写计算机效率会不会高点是很多程序员要问的。而现在,计算机的能力已经强到了不再娇气甚
分类: 其他 发布时间: 01-26 23:48 阅读次数: 0

ubuntu下搭载android开发环境发现新建工程里R文件报错

ubuntu下搭载android开发环境发现新建工程里R文件报错。那你的计算ui机一定是64位的。Android SDK是在32位GNU/Linux系统下编译的,64位的机器当然会出错。解决方法:运行:sudo apt-get update  sudo apt-get install ia32-libs 完了重启eclipse 或者android stu
分类: 其他 发布时间: 01-26 23:47 阅读次数: 0

androidSDK

https://dl.google.com/android/adt/22.6.2/adt-bundle-linux-x86_64-20140321.zip
分类: 其他 发布时间: 01-26 23:47 阅读次数: 0

YUV 格式详解-史上最全

YUV 格式详解介绍分类标准具体分类I420(属于 YUV 420 Plannar)YV12(属于 YUV 420 Plannar)NV12(属于 YUV 420 Semi-Planar)NV21(属于 YUV 420 Semi-Planar)I422(属于 YUV 422 Plannar)YV16(属于 YUV 422 Plannar)NV16(属于 YUV 422 Semi-Planar)NV61(属于 YUV 422 Semi-Planar)YUVY(属于 YUV 422 Interleaved)UY
分类: 其他 发布时间: 01-26 23:47 阅读次数: 0

自己动手写 H.264 解码器---指数哥伦布熵编码

引言更多文章请访问 自己动手写 H.264 解码器在上一章节,我们介绍了 NALU 层的相关细节,并且简单介绍了 SPS 和 PPS 的概念。我们知道,解码器在解码一路码流的时候,总是要首先读入 SPS 和 PPS。那么我们本章就来详细介绍 SPS 和 PPS。SPS 和 PPS 里面存放了解码需要的参数,我们首先要做的就是把码流里的这些参数给读出来。在读取之前,我们先得知道几件事。第一,我们从码流中拿到 SPS 和 PPS 的原始数据,实际上是经过一次压缩的,是将数据按照一定的规则进行处理,去
分类: 其他 发布时间: 01-26 23:47 阅读次数: 0

秒懂async与await

一、async 定义、await定义:1、async function: 用来定义一个返回AsyncFunction对象的异步函数。异步函数是指通过时间循环一步执行的函数,它会通过一个隐式的promise返回其结果。2、await: 操作符用于等待一个Promise对象。它只能在异步函数 async function中使用。二、语法:1、async functionasync function name([param[, param[, ... param]]]) {statements}注:
分类: 其他 发布时间: 01-26 23:46 阅读次数: 0

手写Promise并理解其内涵

一、首先看流程分析图:二、搭建基本框架//自定义Promise函数模块:采用立即执行函数(function(window){ })(window)
分类: 其他 发布时间: 01-26 23:46 阅读次数: 0

JS高级--原型以及原型链

一、原型1.什么是原型?原型是JS中继承的基础,JS的继承就是基于原型的继承。2.几个基本定义(1)每个函数都有一个prototype属性,它默认指向一个空的Object对象(称为原型对象)(2)原型对象里面有一个constructor属性,它指向函数对象代码展示:(3)图示:注:函数名叫Type ,prototype是其属性,Type.prototype指向的是Type的原型对象,原型对象里面有constructor属性constructor又指向的是Type。构造函数和函数对象之间是
分类: 其他 发布时间: 01-26 23:45 阅读次数: 0

DOM操作优化--DocumentFragment高效更新多个节点

前言:DOM树的操作会引起回流,而DocumentFragment可以一次性加入DOM树减少回流的次数,达到优化目的。一、基本概念:DocumentFragment:它被作为一个轻量版的 Document 使用,就像标准的document一样,存储由节点(nodes)组成的文档结构。document: 对应显示的页面,包含n个element一旦更新document内部的某个元素界面更新。与document的不同点:与document相比,最大的区别是DocumentFragment 不是真实 DOM
分类: 其他 发布时间: 01-26 23:44 阅读次数: 0

Vue源码解析--模板解析(表达式文本节点)

一、模板解析的基本流程:(1)将el的所有子节点取出,添加到一个新建的文档fragment对象中。(2)对fragment中所有层次子节点递归进行编译解析处理。对大括号表达式文本节点进行解析。对元素节点的指令属性进行解析。事件指令解析。一般指令解析。二、大括号表达式文本节点解析流程:1.HTML中的代码:<div id="test"> <p>{{name}}</p></div>2.引入的JavaScript文件:&
分类: 其他 发布时间: 01-26 23:43 阅读次数: 0

Vue源码解析涉及知识--Object.defineProprty

一、 Object.defineProprty概念:  Object.defineProperty()方法会直接在一个对象上定义一个新属性,或者修改一个对象的现有属性,并返回此对象。二、 语法:Object.definePrototype(obj,prop,descriptor)obj:要定义属性的对象。prop:要定义或修改的属性的名称。descriptor:要定义或修改的属性描述符。返回值:被传递给函数的对象。...
分类: 其他 发布时间: 01-26 23:43 阅读次数: 0

Vuex核心属性总结

Vuex是Vue的一个插件。一、概念:Vuex是对Vue应用中多个组件的共享状态进行集中式的管理(读/写),Vue的应用是一个状态自管理的应用。二、Vuex的安装:NPM:npm install vuex --saveYarn:yarn add vuex三、学习:每一个Vuex应用的核心就是store(仓库)。“store”基本上就是一个容器,包含着你的应用中大部分的状态(state)。Vuex的结构图:Vuex包含五个核心概念:分别是 State、 Mutations、Acti
分类: 其他 发布时间: 01-26 23:42 阅读次数: 0

二叉树--前序、中序、后序遍历

一、二叉树:树的种类很多,每个结点最多只能有两个子结点的一种形式成为二叉树。二叉树的子结点分为左结点和右结点。图示:二、前序遍历:分析:前序遍历先输出当前结点(初始的时候是根结点) 。如果左子结点不为空则递归继续前序遍历。如果右子结点不为空则递归继续前序遍历。public class binaryTreeDemo{ public static void main(String[] args) { //先创建一个二叉树 BinaryTree binaryTree = new B
分类: 其他 发布时间: 01-26 23:42 阅读次数: 0

二叉树--前序、中序、后序查询指定的节点

前序查找:思路分析:先判断当前结点的no是否等于查找的,如果是相等,则返回当前结点。如果不等,则判断当前结点的左子结点是否为空,如果不为空,则递归前序查找。左递归前序查找,找到结点则返回否则继续判断,当前结点的右子结点是否为空,如果不空,则继续向右递归前序查找。//定义一个二叉树public class binaryTreeDemo { public static void main(String[] args) { //先创建一个二叉树 BinaryTree binaryTree
分类: 其他 发布时间: 01-26 23:42 阅读次数: 0

二叉树删除指定节点

二叉树删除节点:要求:如果删除的节点是叶子结点,则删除该结点。如果删除的节点是非叶子结点,则删除该子树。思路:首先处理根节点:如果树是空树,
分类: 其他 发布时间: 01-26 23:41 阅读次数: 0