虫虫首页| 资源下载| 资源专辑| 精品软件
登录| 注册

68

  • 此书与我上传源码是配套的

    此书与我上传源码是配套的,请一起下载! 《Practical Java(中文版)》 本书出自第一线Java编程专家之手,为读者展现正确、高效、强国之JAVA代码实践方案。这本取材广泛的指南,以不同层级的专家经验,帮助程序员更透彻地理解JAVA,使他们的编码效能(coding effectiveness)发挥到极致。此书以准则/条款形式(rules-based)进行编排,探究改善代码的68个重要主题,提供清晰明快、精心撰写之示例和方案。所有示例和方案都带有详尽的解说,你可以将它们融入自身工作之中。这些编程和设计上的实践方案,描述了经验丰富的程序员实际运用之最佳实践手法。为方便中高阶JAVA程序员阅读,本书内容被精心安排成为各自独立的课程,因此你既可以从头通读至尾,也可以挑选独特专题加以精读。

    标签: 源码

    上传时间: 2016-12-15

    上传用户:pinksun9

  • 编写一个程序模拟支票输出.程序要求用户输入日期,姓名和 //* 支票的数量,然后模拟支票的形式输出如下信息,例如: //* 日期:2004年3月26日 //* 姓名:张三 RMB19

    编写一个程序模拟支票输出.程序要求用户输入日期,姓名和 //* 支票的数量,然后模拟支票的形式输出如下信息,例如: //* 日期:2004年3月26日 //* 姓名:张三 RMB1920.68 //* 人民币:壹仟玖佰贰拾元陆角捌分 //* //* 注意:假设输入的金额中,最多自由两位小数. //* 输入有效性检验:输入金额的数量不能大于RMB10000.

    标签: 2004 RMB 程序 模拟

    上传时间: 2014-01-18

    上传用户:huql11633

  • FPGA芯片与ADI公司的AD9779之间的通信

    FPGA芯片与ADI公司的AD9779之间的通信,总共有四个通道,68对LVDS,采样时钟是122.88MHz

    标签: FPGA 9779 ADI AD

    上传时间: 2017-05-16

    上传用户:英雄

  • mpu6050

    Aidaohuakai( 楼主 ) 2013-8-22 11:45:24  只看该作者23307 | 41倒序浏览 论坛上对mpu6050的资料和讨论并不多,很多坛友都说驱动失败,老是显示0. 以下就谈谈我的一些血与泪的教训:    昨天开始接触mpu6050,在网上查了很多资料,下载程序,准备一展身手。首先看了mpu6050中文资料,之后又看了那个mpu6050的测试程序,把这些看明白之后就开始写程序了。我不是直接把程序复制过去,只是复制mpu6050的地址和初始化,IIC并没有复制,就复制我上次写的24C02的那个程序,想不到,这给了我血与泪的教训,我原来是直接把IIC复制过来的,并没有多留意。之后初始化mpu6050,写入地址,读出数据,下载到单片机之后,LCD上显示000001,我感到郁闷,之后又调试,以为是显示不对,又写显示,之后又下载,结果还是老样,这样半天就过去了。驱动没成功,又怀疑芯片或引脚有问题,继续调试,也没成功。就一一对应地看了地址,又看了初始化,发现没错,调试还是不成功。最后干脆不接IIC总线,竟然发现了个天大的秘密,接不接IIC,LCD都显示000001,我又用示波器测试波形,发现波形正确。在网上又查了别人的资料,在论坛上也很少有关于mpu6050的资料,也看了比别人的一些讨论。很多坛友都说驱动失败,老是显示0.    没办法,一天就这样过去了,今天早上,我又仔细看了程序,出乎我的想象,竟然是IIC的那个地址没改,原来写24C02的那个地址是a0,还是原封不动,把我吓了一跳。把这些改过来之后,一切正常,能显示加速度和陀螺仪。血与泪的教训啊,是自己不细心造成的,忘记改地址!今天早上竟然花了不到2个钟就调出来了,惊喜之时就写了这个分享,希望对大家有用。

    标签: 圆点博士小四轴

    上传时间: 2015-04-14

    上传用户:wusheng4495

  • cmu_pie人脸库

    cmu pie人脸数据库,包括68个人工40000多张人脸头像

    标签: 人脸数据库

    上传时间: 2015-06-03

    上传用户:dwbboy

  • C语言算法速查手册 书本附件

    第1章 绪论 1 1.1 程序设计语言概述 1 1.1.1 机器语言 1 1.1.2 汇编语言 2 1.1.3 高级语言 2 1.1.4 C语言 3 1.2 C语言的优点和缺点 4 1.2.1 C语言的优点 4 1.2.2 C语言的缺点 6 1.3 算法概述 7 1.3.1 算法的基本特征 7 1.3.2 算法的复杂度 8 1.3.3 算法的准确性 10 1.3.4 算法的稳定性 14 第2章 复数运算 18 2.1 复数的四则运算 18 2.1.1 [算法1] 复数乘法 18 2.1.2 [算法2] 复数除法 20 2.1.3 【实例5】 复数的四则运算 22 2.2 复数的常用函数运算 23 2.2.1 [算法3] 复数的乘幂 23 2.2.2 [算法4] 复数的n次方根 25 2.2.3 [算法5] 复数指数 27 2.2.4 [算法6] 复数对数 29 2.2.5 [算法7] 复数正弦 30 2.2.6 [算法8] 复数余弦 32 2.2.7 【实例6】 复数的函数运算 34 第3章 多项式计算 37 3.1 多项式的表示方法 37 3.1.1 系数表示法 37 3.1.2 点表示法 38 3.1.3 [算法9] 系数表示转化为点表示 38 3.1.4 [算法10] 点表示转化为系数表示 42 3.1.5 【实例7】 系数表示法与点表示法的转化 46 3.2 多项式运算 47 3.2.1 [算法11] 复系数多项式相乘 47 3.2.2 [算法12] 实系数多项式相乘 50 3.2.3 [算法13] 复系数多项式相除 52 3.2.4 [算法14] 实系数多项式相除 54 3.2.5 【实例8】 复系数多项式的乘除法 56 3.2.6 【实例9】 实系数多项式的乘除法 57 3.3 多项式的求值 59 3.3.1 [算法15] 一元多项式求值 59 3.3.2 [算法16] 一元多项式多组求值 60 3.3.3 [算法17] 二元多项式求值 63 3.3.4 【实例10】 一元多项式求值 65 3.3.5 【实例11】 二元多项式求值 66 第4章 矩阵计算 68 4.1 矩阵相乘 68 4.1.1 [算法18] 实矩阵相乘 68 4.1.2 [算法19] 复矩阵相乘 70 4.1.3 【实例12】 实矩阵与复矩阵的乘法 72 4.2 矩阵的秩与行列式值 73 4.2.1 [算法20] 求矩阵的秩 73 4.2.2 [算法21] 求一般矩阵的行列式值 76 4.2.3 [算法22] 求对称正定矩阵的行列式值 80 4.2.4 【实例13】 求矩阵的秩和行列式值 82 4.3 矩阵求逆 84 4.3.1 [算法23] 求一般复矩阵的逆 84 4.3.2 [算法24] 求对称正定矩阵的逆 90 4.3.3 [算法25] 求托伯利兹矩阵逆的Trench方法 92 4.3.4 【实例14】 验证矩阵求逆算法 97 4.3.5 【实例15】 验证T矩阵求逆算法 99 4.4 矩阵分解与相似变换 102 4.4.1 [算法26] 实对称矩阵的LDL分解 102 4.4.2 [算法27] 对称正定实矩阵的Cholesky分解 104 4.4.3 [算法28] 一般实矩阵的全选主元LU分解 107 4.4.4 [算法29] 一般实矩阵的QR分解 112 4.4.5 [算法30] 对称实矩阵相似变换为对称三对角阵 116 4.4.6 [算法31] 一般实矩阵相似变换为上Hessen-Burg矩阵 121 4.4.7 【实例16】 对一般实矩阵进行QR分解 126 4.4.8 【实例17】 对称矩阵的相似变换 127 4.4.9 【实例18】 一般实矩阵相似变换 129 4.5 矩阵特征值的计算 130 4.5.1 [算法32] 求上Hessen-Burg矩阵全部特征值的QR方法 130 4.5.2 [算法33] 求对称三对角阵的全部特征值 137 4.5.3 [算法34] 求对称矩阵特征值的雅可比法 143 4.5.4 [算法35] 求对称矩阵特征值的雅可比过关法 147 4.5.5 【实例19】 求上Hessen-Burg矩阵特征值 151 4.5.6 【实例20】 分别用两种雅克比法求对称矩阵特征值 152 第5章 线性代数方程组的求解 154 5.1 高斯消去法 154 5.1.1 [算法36] 求解复系数方程组的全选主元高斯消去法 155 5.1.2 [算法37] 求解实系数方程组的全选主元高斯消去法 160 5.1.3 [算法38] 求解复系数方程组的全选主元高斯-约当消去法 163 5.1.4 [算法39] 求解实系数方程组的全选主元高斯-约当消去法 168 5.1.5 [算法40] 求解大型稀疏系数矩阵方程组的高斯-约当消去法 171 5.1.6 [算法41] 求解三对角线方程组的追赶法 174 5.1.7 [算法42] 求解带型方程组的方法 176 5.1.8 【实例21】 解线性实系数方程组 179 5.1.9 【实例22】 解线性复系数方程组 180 5.1.10 【实例23】 解三对角线方程组 182 5.2 矩阵分解法 184 5.2.1 [算法43] 求解对称方程组的LDL分解法 184 5.2.2 [算法44] 求解对称正定方程组的Cholesky分解法 186 5.2.3 [算法45] 求解线性最小二乘问题的QR分解法 188 5.2.4 【实例24】 求解对称正定方程组 191 5.2.5 【实例25】 求解线性最小二乘问题 192 5.3 迭代方法 193 5.3.1 [算法46] 病态方程组的求解 193 5.3.2 [算法47] 雅克比迭代法 197 5.3.3 [算法48] 高斯-塞德尔迭代法 200 5.3.4 [算法49] 超松弛方法 203 5.3.5 [算法50] 求解对称正定方程组的共轭梯度方法 205 5.3.6 [算法51] 求解托伯利兹方程组的列文逊方法 209 5.3.7 【实例26】 解病态方程组 214 5.3.8 【实例27】 用迭代法解方程组 215 5.3.9 【实例28】 求解托伯利兹方程组 217 第6章 非线性方程与方程组的求解 219 6.1 非线性方程求根的基本过程 219 6.1.1 确定非线性方程实根的初始近似值或根的所在区间 219 6.1.2 求非线性方程根的精确解 221 6.2 求非线性方程一个实根的方法 221 6.2.1 [算法52] 对分法 221 6.2.2 [算法53] 牛顿法 223 6.2.3 [算法54] 插值法 226 6.2.4 [算法55] 埃特金迭代法 229 6.2.5 【实例29】 用对分法求非线性方程组的实根 232 6.2.6 【实例30】 用牛顿法求非线性方程组的实根 233 6.2.7 【实例31】 用插值法求非线性方程组的实根 235 6.2.8 【实例32】 用埃特金迭代法求非线性方程组的实根 237 6.3 求实系数多项式方程全部根的方法 238 6.3.1 [算法56] QR方法 238 6.3.2 【实例33】 用QR方法求解多项式的全部根 240 6.4 求非线性方程组一组实根的方法 241 6.4.1 [算法57] 梯度法 241 6.4.2 [算法58] 拟牛顿法 244 6.4.3 【实例34】 用梯度法计算非线性方程组的一组实根 250 6.4.4 【实例35】 用拟牛顿法计算非线性方程组的一组实根 252 第7章 代数插值法 254 7.1 拉格朗日插值法 254 7.1.1 [算法59] 线性插值 255 7.1.2 [算法60] 二次抛物线插值 256 7.1.3 [算法61] 全区间插值 259 7.1.4 【实例36】 拉格朗日插值 262 7.2 埃尔米特插值 263 7.2.1 [算法62] 埃尔米特不等距插值 263 7.2.2 [算法63] 埃尔米特等距插值 267 7.2.3 【实例37】 埃尔米特插值法 270 7.3 埃特金逐步插值 271 7.3.1 [算法64] 埃特金不等距插值 272 7.3.2 [算法65] 埃特金等距插值 275 7.3.3 【实例38】 埃特金插值 278 7.4 光滑插值 279 7.4.1 [算法66] 光滑不等距插值 279 7.4.2 [算法67] 光滑等距插值 283 7.4.3 【实例39】 光滑插值 286 7.5 三次样条插值 287 7.5.1 [算法68] 第一类边界条件的三次样条函数插值 287 7.5.2 [算法69] 第二类边界条件的三次样条函数插值 292 7.5.3 [算法70] 第三类边界条件的三次样条函数插值 296 7.5.4 【实例40】 样条插值法 301 7.6 连分式插值 303 7.6.1 [算法71] 连分式插值 304 7.6.2 【实例41】 验证连分式插值的函数 308 第8章 数值积分法 309 8.1 变步长求积法 310 8.1.1 [算法72] 变步长梯形求积法 310 8.1.2 [算法73] 自适应梯形求积法 313 8.1.3 [算法74] 变步长辛卜生求积法 316 8.1.4 [算法75] 变步长辛卜生二重积分方法 318 8.1.5 [算法76] 龙贝格积分 322 8.1.6 【实例42】 变步长积分法进行一重积分 325 8.1.7 【实例43】 变步长辛卜生积分法进行二重积分 326 8.2 高斯求积法 328 8.2.1 [算法77] 勒让德-高斯求积法 328 8.2.2 [算法78] 切比雪夫求积法 331 8.2.3 [算法79] 拉盖尔-高斯求积法 334 8.2.4 [算法80] 埃尔米特-高斯求积法 336 8.2.5 [算法81] 自适应高斯求积方法 337 8.2.6 【实例44】 有限区间高斯求积法 342 8.2.7 【实例45】 半无限区间内高斯求积法 343 8.2.8 【实例46】 无限区间内高斯求积法 345 8.3 连分式法 346 8.3.1 [算法82] 计算一重积分的连分式方法 346 8.3.2 [算法83] 计算二重积分的连分式方法 350 8.3.3 【实例47】 连分式法进行一重积分 354 8.3.4 【实例48】 连分式法进行二重积分 355 8.4 蒙特卡洛法 356 8.4.1 [算法84] 蒙特卡洛法进行一重积分 356 8.4.2 [算法85] 蒙特卡洛法进行二重积分 358 8.4.3 【实例49】 一重积分的蒙特卡洛法 360 8.4.4 【实例50】 二重积分的蒙特卡洛法 361 第9章 常微分方程(组)初值问题的求解 363 9.1 欧拉方法 364 9.1.1 [算法86] 定步长欧拉方法 364 9.1.2 [算法87] 变步长欧拉方法 366 9.1.3 [算法88] 改进的欧拉方法 370 9.1.4 【实例51】 欧拉方法求常微分方程数值解 372 9.2 龙格-库塔方法 376 9.2.1 [算法89] 定步长龙格-库塔方法 376 9.2.2 [算法90] 变步长龙格-库塔方法 379 9.2.3 [算法91] 变步长基尔方法 383 9.2.4 【实例52】 龙格-库塔方法求常微分方程的初值问题 386 9.3 线性多步法 390 9.3.1 [算法92] 阿当姆斯预报校正法 390 9.3.2 [算法93] 哈明方法 394 9.3.3 [算法94] 全区间积分的双边法 399 9.3.4 【实例53】 线性多步法求常微分方程组初值问题 401 第10章 拟合与逼近 405 10.1 一元多项式拟合 405 10.1.1 [算法95] 最小二乘拟合 405 10.1.2 [算法96] 最佳一致逼近的里米兹方法 412 10.1.3 【实例54】 一元多项式拟合 417 10.2 矩形区域曲面拟合 419 10.2.1 [算法97] 矩形区域最小二乘曲面拟合 419 10.2.2 【实例55】 二元多项式拟合 428 第11章 特殊函数 430 11.1 连分式级数和指数积分 430 11.1.1 [算法98] 连分式级数求值 430 11.1.2 [算法99] 指数积分 433 11.1.3 【实例56】 连分式级数求值 436 11.1.4 【实例57】 指数积分求值 438 11.2 伽马函数 439 11.2.1 [算法100] 伽马函数 439 11.2.2 [算法101] 贝塔函数 441 11.2.3 [算法102] 阶乘 442 11.2.4 【实例58】 伽马函数和贝塔函数求值 443 11.2.5 【实例59】 阶乘求值 444 11.3 不完全伽马函数 445 11.3.1 [算法103] 不完全伽马函数 445 11.3.2 [算法104] 误差函数 448 11.3.3 [算法105] 卡方分布函数 450 11.3.4 【实例60】 不完全伽马函数求值 451 11.3.5 【实例61】 误差函数求值 452 11.3.6 【实例62】 卡方分布函数求值 453 11.4 不完全贝塔函数 454 11.4.1 [算法106] 不完全贝塔函数 454 11.4.2 [算法107] 学生分布函数 457 11.4.3 [算法108] 累积二项式分布函数 458 11.4.4 【实例63】 不完全贝塔函数求值 459 11.5 贝塞尔函数 461 11.5.1 [算法109] 第一类整数阶贝塞尔函数 461 11.5.2 [算法110] 第二类整数阶贝塞尔函数 466 11.5.3 [算法111] 变型第一类整数阶贝塞尔函数 469 11.5.4 [算法112] 变型第二类整数阶贝塞尔函数 473 11.5.5 【实例64】 贝塞尔函数求值 476 11.5.6 【实例65】 变型贝塞尔函数求值 477 11.6 Carlson椭圆积分 479 11.6.1 [算法113] 第一类椭圆积分 479 11.6.2 [算法114] 第一类椭圆积分的退化形式 481 11.6.3 [算法115] 第二类椭圆积分 483 11.6.4 [算法116] 第三类椭圆积分 486 11.6.5 【实例66】 第一类勒让德椭圆函数积分求值 490 11.6.6 【实例67】 第二类勒让德椭圆函数积分求值 492 第12章 极值问题 494 12.1 一维极值求解方法 494 12.1.1 [算法117] 确定极小值点所在的区间 494 12.1.2 [算法118] 一维黄金分割搜索 499 12.1.3 [算法119] 一维Brent方法 502 12.1.4 [算法120] 使用一阶导数的Brent方法 506 12.1.5 【实例68】 使用黄金分割搜索法求极值 511 12.1.6 【实例69】 使用Brent法求极值 513 12.1.7 【实例70】 使用带导数的Brent法求极值 515 12.2 多元函数求极值 517 12.2.1 [算法121] 不需要导数的一维搜索 517 12.2.2 [算法122] 需要导数的一维搜索 519 12.2.3 [算法123] Powell方法 522 12.2.4 [算法124] 共轭梯度法 525 12.2.5 [算法125] 准牛顿法 531 12.2.6 【实例71】 验证不使用导数的一维搜索 536 12.2.7 【实例72】 用Powell算法求极值 537 12.2.8 【实例73】 用共轭梯度法求极值 539 12.2.9 【实例74】 用准牛顿法求极值 540 12.3 单纯形法 542 12.3.1 [算法126] 求无约束条件下n维极值的单纯形法 542 12.3.2 [算法127] 求有约束条件下n维极值的单纯形法 548 12.3.3 [算法128] 解线性规划问题的单纯形法 556 12.3.4 【实例75】 用单纯形法求无约束条件下N维的极值 568 12.3.5 【实例76】 用单纯形法求有约束条件下N维的极值 569 12.3.6 【实例77】 求解线性规划问题 571 第13章 随机数产生与统计描述 574 13.1 均匀分布随机序列 574 13.1.1 [算法129] 产生0到1之间均匀分布的一个随机数 574 13.1.2 [算法130] 产生0到1之间均匀分布的随机数序列 576 13.1.3 [算法131] 产生任意区间内均匀分布的一个随机整数 577 13.1.4 [算法132] 产生任意区间内均匀分布的随机整数序列 578 13.1.5 【实例78】 产生0到1之间均匀分布的随机数序列 580 13.1.6 【实例79】 产生任意区间内均匀分布的随机整数序列 581 13.2 正态分布随机序列 582 13.2.1 [算法133] 产生任意均值与方差的正态分布的一个随机数 582 13.2.2 [算法134] 产生任意均值与方差的正态分布的随机数序列 585 13.2.3 【实例80】 产生任意均值与方差的正态分布的一个随机数 587 13.2.4 【实例81】 产生任意均值与方差的正态分布的随机数序列 588 13.3 统计描述 589 13.3.1 [算法135] 分布的矩 589 13.3.2 [算法136] 方差相同时的t分布检验 591 13.3.3 [算法137] 方差不同时的t分布检验 594 13.3.4 [算法138] 方差的F检验 596 13.3.5 [算法139] 卡方检验 599 13.3.6 【实例82】 计算随机样本的矩 601 13.3.7 【实例83】 t分布检验 602 13.3.8 【实例84】 F分布检验 605 13.3.9 【实例85】 检验卡方检验的算法 607 第14章 查找 609 14.1 基本查找 609 14.1.1 [算法140] 有序数组的二分查找 609 14.1.2 [算法141] 无序数组同时查找最大和最小的元素 611 14.1.3 [算法142] 无序数组查找第M小的元素 613 14.1.4 【实例86】 基本查找 615 14.2 结构体和磁盘文件的查找 617 14.2.1 [算法143] 无序结构体数组的顺序查找 617 14.2.2 [算法144] 磁盘文件中记录的顺序查找 618 14.2.3 【实例87】 结构体数组和文件中的查找 619 14.3 哈希查找 622 14.3.1 [算法145] 字符串哈希函数 622 14.3.2 [算法146] 哈希函数 626 14.3.3 [算法147] 向哈希表中插入元素 628 14.3.4 [算法148] 在哈希表中查找元素 629 14.3.5 [算法149] 在哈希表中删除元素 631 14.3.6 【实例88】 构造哈希表并进行查找 632 第15章 排序 636 15.1 插入排序 636 15.1.1 [算法150] 直接插入排序 636 15.1.2 [算法151] 希尔排序 637 15.1.3 【实例89】 插入排序 639 15.2 交换排序 641 15.2.1 [算法152] 气泡排序 641 15.2.2 [算法153] 快速排序 642 15.2.3 【实例90】 交换排序 644 15.3 选择排序 646 15.3.1 [算法154] 直接选择排序 646 15.3.2 [算法155] 堆排序 647 15.3.3 【实例91】 选择排序 650 15.4 线性时间排序 651 15.4.1 [算法156] 计数排序 651 15.4.2 [算法157] 基数排序 653 15.4.3 【实例92】 线性时间排序 656 15.5 归并排序 657 15.5.1 [算法158] 二路归并排序 658 15.5.2 【实例93】 二路归并排序 660 第16章 数学变换与滤波 662 16.1 快速傅里叶变换 662 16.1.1 [算法159] 复数据快速傅里叶变换 662 16.1.2 [算法160] 复数据快速傅里叶逆变换 666 16.1.3 [算法161] 实数据快速傅里叶变换 669 16.1.4 【实例94】 验证傅里叶变换的函数 671 16.2 其他常用变换 674 16.2.1 [算法162] 快速沃尔什变换 674 16.2.2 [算法163] 快速哈达玛变换 678 16.2.3 [算法164] 快速余弦变换 682 16.2.4 【实例95】 验证沃尔什变换和哈达玛的函数 684 16.2.5 【实例96】 验证离散余弦变换的函数 687 16.3 平滑和滤波 688 16.3.1 [算法165] 五点三次平滑 689 16.3.2 [算法166] α-β-γ滤波 690 16.3.3 【实例97】 验证五点三次平滑 692 16.3.4 【实例98】 验证α-β-γ滤波算法 693  

    标签: C 算法 附件 源代码

    上传时间: 2015-06-29

    上传用户:cbsdukaf

  • redis官方手册翻译

    Redis 命令参考 1 Key(键) 1 1.1 DEL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.2 DUMP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.3 EXISTS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.4 EXPIRE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.5 EXPIREAT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.6 KEYS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 1.7 MIGRATE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 1.8 MOVE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 1.9 OBJECT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 1.10 PERSIST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 1.11 PEXPIRE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 1.12 PEXPIREAT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 1.13 PTTL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 1.14 RANDOMKEY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 1.15 RENAME . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 1.16 RENAMENX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 1.17 RESTORE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 1.18 SORT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 1.19 TTL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 1.20 TYPE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 1.21 SCAN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 2 String(字符串) 29 2.1 APPEND . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 2.2 BITCOUNT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 2.3 BITOP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 2.4 DECR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 2.5 DECRBY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 2.6 GET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 2.7 GETBIT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 2.8 GETRANGE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 2.9 GETSET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 2.10 INCR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 2.11 INCRBY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 2.12 INCRBYFLOAT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 2.13 MGET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 2.14 MSET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 2.15 MSETNX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 i 2.16 PSETEX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 2.17 SET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 2.18 SETBIT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 2.19 SETEX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 2.20 SETNX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 2.21 SETRANGE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 2.22 STRLEN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 3 Hash(哈希表) 51 3.1 HDEL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 3.2 HEXISTS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 3.3 HGET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 3.4 HGETALL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 3.5 HINCRBY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 3.6 HINCRBYFLOAT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 3.7 HKEYS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 3.8 HLEN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 3.9 HMGET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 3.10 HMSET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 3.11 HSET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 3.12 HSETNX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 3.13 HVALS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 3.14 HSCAN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 4 List(列表) 61 4.1 BLPOP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 4.2 BRPOP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 4.3 BRPOPLPUSH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 4.4 LINDEX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 4.5 LINSERT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 4.6 LLEN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 4.7 LPOP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 4.8 LPUSH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 4.9 LPUSHX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 4.10 LRANGE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 4.11 LREM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 4.12 LSET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 4.13 LTRIM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 4.14 RPOP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 4.15 RPOPLPUSH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 4.16 RPUSH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 4.17 RPUSHX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 5 Set(集合) 79 5.1 SADD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 5.2 SCARD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 5.3 SDIFF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 5.4 SDIFFSTORE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 5.5 SINTER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 5.6 SINTERSTORE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 5.7 SISMEMBER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 5.8 SMEMBERS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 5.9 SMOVE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 5.10 SPOP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 ii 5.11 SRANDMEMBER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 5.12 SREM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 5.13 SUNION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 5.14 SUNIONSTORE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 5.15 SSCAN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 6 SortedSet(有序集合) 89 6.1 ZADD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 6.2 ZCARD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 6.3 ZCOUNT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 6.4 ZINCRBY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 6.5 ZRANGE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 6.6 ZRANGEBYSCORE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 6.7 ZRANK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 6.8 ZREM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 6.9 ZREMRANGEBYRANK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 6.10 ZREMRANGEBYSCORE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 6.11 ZREVRANGE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 6.12 ZREVRANGEBYSCORE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 6.13 ZREVRANK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 6.14 ZSCORE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 6.15 ZUNIONSTORE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 6.16 ZINTERSTORE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 6.17 ZSCAN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 7 Pub/Sub(发布/订阅) 103 7.1 PSUBSCRIBE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 7.2 PUBLISH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 7.3 PUBSUB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 7.4 PUNSUBSCRIBE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107 7.5 SUBSCRIBE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107 7.6 UNSUBSCRIBE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 8 Transaction(事务) 109 8.1 DISCARD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 8.2 EXEC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 8.3 MULTI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 8.4 UNWATCH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 8.5 WATCH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 9 Script(脚本) 113 9.1 EVAL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113 9.2 EVALSHA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120 9.3 SCRIPT EXISTS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120 9.4 SCRIPT FLUSH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121 9.5 SCRIPT KILL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121 9.6 SCRIPT LOAD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122 10 Connection(连接) 123 10.1 AUTH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 10.2 ECHO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124 10.3 PING . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124 10.4 QUIT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125 10.5 SELECT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125 iii 11 Server(服务器) 127 11.1 BGREWRITEAOF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127 11.2 BGSAVE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127 11.3 CLIENT GETNAME . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128 11.4 CLIENT KILL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128 11.5 CLIENT LIST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129 11.6 CLIENT SETNAME . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 11.7 CONFIG GET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 11.8 CONFIG RESETSTAT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133 11.9 CONFIG REWRITE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 11.10 CONFIG SET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137 11.11 DBSIZE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138 11.12 DEBUG OBJECT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138 11.13 DEBUG SEGFAULT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138 11.14 FLUSHALL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139 11.15 FLUSHDB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139 11.16 INFO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140 11.17 LASTSAVE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143 11.18 MONITOR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143 11.19 PSYNC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144 11.20 SAVE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144 11.21 SHUTDOWN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144 11.22 SLAVEOF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145 11.23 SLOWLOG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146 11.24 SYNC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147 11.25 TIME . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148 12 键空间通知(keyspace notification) 149 12.1 功能概览. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149 12.2 事件的类型. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149 12.3 配置. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150 12.4 命令产生的通知. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150 12.5 过期通知的发送时间. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152 13 事务(transaction) 153 13.1 用法. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153 13.2 事务中的错误. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154 13.3 为什么Redis 不支持回滚(roll back) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155 13.4 放弃事务. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155 13.5 使用check-and-set 操作实现乐观锁. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156 13.6 了解WATCH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156 13.7 使用WATCH 实现ZPOP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157 13.8 Redis 脚本和事务. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157 14 发布与订阅(pub/sub) 159 14.1 信息的格式. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159 14.2 订阅模式. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160 14.3 通过频道和模式接收同一条信息. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161 14.4 订阅总数. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161 14.5 编程示例. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161 14.6 客户端库实现提示. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161 15 复制(Replication) 163 15.1 复制功能的运作原理. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163 15.2 部分重同步. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164 iv 15.3 配置. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164 15.4 只读从服务器. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164 15.5 从服务器相关配置. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165 15.6 主服务器只在有至少N 个从服务器的情况下,才执行写操作. . . . . . . . . . . . . . . . . . 165 16 通信协议(protocol) 167 16.1 网络层. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167 16.2 请求. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167 16.3 新版统一请求协议. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167 16.4 回复. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168 16.5 状态回复. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168 16.6 错误回复. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169 16.7 整数回复. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169 16.8 批量回复. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169 16.9 多条批量回复. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170 16.10 多条批量回复中的空元素. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171 16.11 多命令和流水线. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171 16.12 内联命令. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171 16.13 高性能Redis 协议分析器. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172 17 持久化(persistence) 173 17.1 Redis 持久化. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173 17.2 RDB 的优点. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173 17.3 RDB 的缺点. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174 17.4 AOF 的优点. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174 17.5 AOF 的缺点. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174 17.6 RDB 和AOF ,我应该用哪一个? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175 17.7 RDB 快照. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175 17.8 快照的运作方式. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175 17.9 只进行追加操作的文件(append-only file,AOF) . . . . . . . . . . . . . . . . . . . . . . . . 175 17.10 AOF 重写. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176 17.11 AOF 有多耐久? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176 17.12 如果AOF 文件出错了,怎么办? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176 17.13 AOF 的运作方式. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177 17.14 怎么从RDB 持久化切换到AOF 持久化. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177 17.15 RDB 和AOF 之间的相互作用. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178 17.16 备份Redis 数据. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178 17.17 容灾备份. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178 18 Sentinel 181 18.1 获取Sentinel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181 18.2 启动Sentinel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181 18.3 配置Sentinel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182 18.4 主观下线和客观下线. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183 18.5 每个Sentinel 都需要定期执行的任务. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184 18.6 自动发现Sentinel 和从服务器. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184 18.7 Sentinel API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184 18.8 故障转移. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186 18.9 TILT 模式. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188 18.10 处理-BUSY 状态. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188 18.11 Sentinel 的客户端实现. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189 19 集群教程191 19.1 集群简介. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191 19.2 Redis 集群数据共享. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191 v 19.3 Redis 集群中的主从复制. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192 19.4 Redis 集群的一致性保证(guarantee) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192 19.5 创建并使用Redis 集群. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193 19.6 创建集群. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194 19.7 集群的客户端. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195 19.8 使用redis-rb-cluster 编写一个示例应用. . . . . . . . . . . . . . . . . . . . . . . . . . . . 196 19.9 对集群进行重新分片. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197 19.10 一个更有趣的示例应用. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200 19.11 故障转移测试. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201 19.12 添加新节点到集群. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202 19.13 移除一个节点. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204 20 Redis 集群规范205 20.1 引言. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205 20.2 什么是Redis 集群? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205 20.3 Redis 集群实现的功能子集. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206 20.4 Redis 集群协议中的客户端和服务器. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206 20.5 键分布模型. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206 20.6 集群节点属性. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207 20.7 节点握手(已实现) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208 20.8 MOVED 转向. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208 20.9 集群在线重配置(live reconfiguration) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209 20.10 ASK 转向. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210 20.11 容错. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211 20.12 发布/订阅(已实现,但仍然需要改善) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213 20.13 附录A:CRC16 算法的ANSI 实现参考. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213 21 关于217 22 通过捐款支持本文档219

    标签: redis 官方手册

    上传时间: 2016-02-04

    上传用户:1987

  • 共轭梯度法--MATLAB程序

    共轭梯度法为求解线性方程组而提出。后来,人们把这种方法用于求解无约束最优化问题, 使之成为一种重要的最优化方法。   共轭梯度法的基本思想是把共轭性与最速下降方法相结合, 利用已知点处的梯度构造一组共 轭方向, 并沿这组方向进行搜索, 求出目标函数的极小点。 根据共轭方向的基本性质, 这种 方法具有二次终止性。 在各种优化算法中, 共轭梯度法是非常重要的一种。 其优点是所需存 储量小,具有步收敛性,稳定性高,而且不需要任何外来参数。   共轭方向   无约束最优化方法的核心问题是选择搜索方向 . 在本次实验中 , 我们运用基于共轭方向的一种 算法 — 共轭梯度法   三.算法流程图:     四.实验结果:   (1). 实验函数   f=(3*x1-cos(x2*x3)-1/2)^2+(x1^2-81*(x2+0.1)+sin(x3)+1.06)^2+(exp(-x1*x2)+20*x3+ 1/3*(10*3.14159-3))^2;   给定初始点 (0,0,0) , k=1 ,最 大迭代次数 n       d   确定搜索方向   进 退 法 确 定 搜 索 区 间   分割法确定最 优步长  

    标签: MATLAB 梯度 程序

    上传时间: 2016-05-08

    上传用户:saren11

  • linux

    简单命令使用grep等的使用 [zorro@isch ~]$ history     1  ifconfig     2  su     3  exit     4  ls     5  cd Desktop/     6  ls     7  tar zxcf VMwareTools-8.4.5-324285.tar.gz      8  tar zxvf VMwareTools-8.4.5-324285.tar.gz      9  cd  vmware-tools-distrib/    10  ls    11  ./vmware-install.pl     12  su    13  ls    14  cd ..    15  ls    16  rm VMwareTools-8.4.5-324285.tar.gz     17  rm -r vmware-tools-distrib    18  ls    19  make    20  ls    21  cd redis/    22  quit    23  ls    24  ca redis/    25  cd redis/    26  cd redis-2.8.17    27  make    28  cd redis-2.8.17    29  ls    30  cd redis-2.8.17    31  cd str    32  cd src    33  ls    34  ./redis-cli    35  ls    36  cd redis-2.8.17 tar.gz    37  make    38  cd src    39  ./redis-server .. /redis.conf    40  ./redis-cli    41  ./redis-server ../redis.conf    42  vi test1.sh    43  ./test1.sh    44  vi test.sh    45  ./test.sh    46  ls    47  chmod 777 test.sh    48  ./test.sh    49  vi express    50  $ grep –n ‘the’ express    51  clear    52  grep -n 'the' express    53  vi express    54  grep -n 'the' express    55  grep -vn 'the'express    56  grep -vn 'the' express    57  grep -in 'the' express    58  vi test2.c    59  grep -l 'the' *.c     60  grep -n 't[ae]st' express    61  grep -n 'oo' express    62  grep -n '[^g]oo' express    63  grep -n '[a^z]oo' express    64  grep -n '[0^9]' express    65  grep -n '^the' express    66  vi express    67  sed -e 'd' express    68  sed -e '1d' express    69  sed -e '1~7d' express    70  sed -e '$d' express     71  sed -e '1,/^$/d' express     72  ls    73  cd    74  pwd    75  history [zorro@isch ~]$ 

    标签: 简单命令使用

    上传时间: 2016-05-24

    上传用户:12345678gan

  • CMUPIEData

    卡 耐基梅隆大学,所谓PIE就是姿态(POSE),光照(ILLUMINATION)和表情(EXPRESSION)的缩写,CMU PIE人脸库建立于2000年11月,它包括来自68个人的40000张照片,其中包括了每个人的13种姿态条件,43种光照条件和4种表情下的照片,现 有的多姿态人脸识别的文献基本上都是在CMU PIE人脸库上测试的。

    标签: CMUPIEData

    上传时间: 2016-12-13

    上传用户:BeanCb