Memcached

1、为什么要把数据存入内存?快

2、Memcached和Redis的区别

(1)Memcached缓存、Redis数据库,Memcached不支持持久化到磁盘

(2)Redis提供了丰富的数据类型

3、Memcached的体系架构

4、安装和配置Memcached和操作

(1)需要libevent的支持

5、Memcached路由算法:客户端路由

(1)求余数Hash

(2)一致性Hash

6、Memcached的主主复制:使用Memcached带复制功能

7、Memcached借助keepalived软件实现HA(主节点挂断,从节点变成主节点),Redis利用哨兵机制来实现HA

Redis

1、常见的NoSQL数据库

(*)Redis:基于内存的NoSQL数据库

(*)MongoDB:基于文档(BSON文档)型的NoSQL

(*)HBase:面向列、基于HDFS之上的NoSQL数据库

HBase表 ---->HDFS目录

(*)Cassandra:面向列、去中心化

2、安装和配置Redis

核心的配置文件:conf/redis.conf

3、Redis提供的命令脚本

redis-benchmark:Redis提供的压力测试工具

redis-check-aof:检查AOF文件

redis-check-dump:检查RDB文件

redis-cli:客户端

redis-sentinel -> redis-server 哨兵

redis-server:服务器端

4、操作Redis、数据类型

通常用List链表的单线程性质实现秒杀的功能

5、消息机制

(*)消息的类型:

(1)Topic:主题(广播):Redis只支持Topic

(2)Queue:队列(点对点)

(*)消息通信的方式

(1)同步,如ATM机

(2)异步

(*)常见的消息系统

(1)Redis:只支持Topic

(2)Kafka:只支持分布式Topic,topic由分区组成

(3)JMS:Java Messaging Service标准

(*)Weblogic

(*)Apache Camel

(*)Redis命令:指定channel 频道

publish

subscribe 只订阅一个消息

psubscribe:通配符,订阅多个消息

6、事务

(1)复习:事务 transaction的ACID四大特性

(2)对比Oracle和Redis的事务

Oracle                            Redis

本质:把操作写入日志redolog      把一组操作放入队列(批处理)

开启:自动开启(DML语句)        multi

提交:commit、DDL、DCL           exec

正常关机

回滚:rollback、异常退出         discard(正常提交后无法回滚)

非正常关机

分布式锁:watch、multi、exec,乐观锁

7、Redis持久化

(1)RDB:默认,快照dump

参数:save参数

save 900 1    在15分钟内,如果有1个key的value发生变化

save 300 10   在5分钟内,如果有10个key的value发生变化

save 60 10000 在60秒内,如果有10000个key的value发生变化

优点:恢复快

缺点:在两次RDB之间,造成数据的丢失

(2)AOF: append only file 客户端的日志,如果RDB和AOF同时设置,默认使用AOF进行恢复

(*)默认:禁用

(*)AOF的策略:默认每隔1秒

(*)优点:保证数据安全

缺点:恢复慢

8、Redis主从复制:

目的:(1)读写分离,主节点写入数据、从节点读取数据   (2)任务分离

(*)主从架构:Redis

HDFS、Yarn、HBase、Spark、Storm ----> ZooKeeper

(*)两种形式

(1)星型模型

(2)线性模型

(*)主从复制的过程:主从复制容易存在单点故障(例如主节点故障,利用哨兵机制解决单点故障问题)

(1)从节点启动,向主节点发送同步请求

(2)主节点发送RDB文件给从节点

(3)主节点发送AOF文件给从节点,从节点后续同步的是AOF

9、Redis的代理分片

分发客户端的读数据请求至各个slave,负载均衡。

10、Redis的HA:单点故障:哨兵机制

哨兵监听master的心跳,若心跳down掉,则执行HA

分为两步:1.选择一个slave作为新的master

2.将其他slave连接至新的master

3.客户端的写数据请求连接哨兵,哨兵连接master,因为只有哨兵知道哪个是真正的当前master

Redis Cluster

核心概念:slot槽,数据存储和管理的基本单位

1、3.0以后,数据分布式存储的解决方案2

2、slot范围: 0~16383,每个主从节点维护一定数据量的slot槽

3、将key进行hash从而得到对应的槽号,从而实现数据的分布式存储

4、Redis Cluster本身是HA的,不需要使用哨兵

5、去中心化,虽然仍有主从节点,但本质上主从节点可以互换

6、配置Redis Cluster

(1)手动

(2)自动:脚本

Memcached与Redis对比,Redis基础笔记回顾的更多相关文章

  1. REDIS基础笔记

    Redis基础笔记 资源链接 简介 简介 安装 五种数据类型及相应命令 1. 字符串类型 2. 散列类型 3. 列表类型 4. 集合类型 5. 有序集合 其他 事务 SORT 生存时间 任务队列 发布 ...

  2. redis、memcached、mongoDB 对比与安装

    一.redis.memcached.mongoDB 对比 Memcached 和 Redis都是内存型数据库,数据保存在内存中,通过tcp直接存取,速度快,并发高.Mongodb是文档型的非关系型数据 ...

  3. mongodb,redis,memcached,mysql对比

    1.性能都比较高,性能对我们来说应该都不是瓶颈总体来讲,TPS方面redis和memcache差不多,要大于mongodb 2.操作的便利性memcache数据结构单一redis丰富一些,数据操作方面 ...

  4. Memcached和Redis对比和适用场景

    关于memcached和redis的使用场景,根据大神们的讨论和我在网上查到的资料,总结一下: 两者对比: redis提供数据持久化功能,memcached无持久化: redis的数据结构比memca ...

  5. redis、memcached、mongoDB 对比

    Mongodb和Memcached不是一个范畴内的东西.Mongodb是文档型的非关系型数据库,其优势在于查询功能比较强大,能存储海量数据.Mongodb 和 Memcached不存在谁替换谁的问题. ...

  6. memcached和redis对比

    关于memcached和redis的使用场景,总结如下:两者对比: redis提供数据持久化功能,memcached无持久化. redis的数据结构比memcached要丰富,能完成场景以外的事情: ...

  7. Memcached与Redis对比及其优劣分析

    国外讨论 本文主要总结缓存Redis和Memcached的区别,总结之前先参考外国知乎上的一篇问答:<Is memcached a dinosaur in comparison to Redis ...

  8. Redis 对比 Memcached 并在 CentOS 下进行安装配置

    了解一下 Redis Redis 是一个开源.支持网络.基于内存.键值对的 Key-Value 数据库,使用 ANSI C 编写,并提供多种语言的 API ,它几乎没有上手难度,只需要几分钟我们就能完 ...

  9. memcache,redis对比

    一.问题:     数据库表数据量极大(千万条),要求让服务器更加快速地响应用户的需求.   二.解决方案:      1.通过高速服务器Cache缓存数据库数据      2.内存数据库     ( ...

随机推荐

  1. stream was not readable.

    StreamWriter使用时的报错情况: stream was not readable. 错误原因: 没有指定StreamWriter的写入文件 正确代码示例1: byte[] businessD ...

  2. IDF实验室-简单的js解密

    根据加密方法推算解密方法,补全如下 <script> /** * Pseudo md5 hash function * @param {string} string * @param {s ...

  3. [转]React 教程

    本文转自:http://www.runoob.com/react/react-install.html React 可以直接下载使用,下载包中也提供了很多学习的实例. 本教程使用了 React 的版本 ...

  4. python26:自定义form表单验证

    一.自定义Form的原理 1.1 各种form表单验证比较 只有python提供了form表单验证,其他的都没有提供.django提供的功能还不够强大.最强大的是微软的ASP.NET!我们可以自己写一 ...

  5. VB如何连接访问数据库Access

    VB如何连接访问数据库Access 听语音 | 浏览:10675 | 更新:2015-05-05 11:26 | 标签:连接 access 1 2 3 4 5 6 7 分步阅读 VB即Visual B ...

  6. VS中调试查看DataTable和DataSet时未能加载此自定义查看器解决方法

    在网上找了几个方法,感觉不太实用,最后自己找到了问题所在  VS2017中选择调试-选项-常规中的使用托管兼容模式取消勾选.之后就可以了

  7. 浅谈angular2与angularJS的区别

    简介 大家好,今天给大家介绍一下angular,相信做过前端的小伙伴们都知道angular的大名,angularJS自2012年发布起就受到了大家的广泛关注.他首次提出了双向绑定概念让所有人都耳目一新 ...

  8. 关于Google圆角高光高宽自适应按钮及其拓展

    关于Google圆角高光高宽自适应按钮及其拓展————源自张鑫旭css讲解 这篇文章发布于 2009年10月24日,星期六,18:08,归类于 css相关. 阅读 48770 次, 今日 1 次 by ...

  9. python学习之老男孩python全栈第九期_day029知识点总结——configparser模快、logging模块

    一. configparser模块 生成文档 import configparser config = configparser.ConfigParser() config[', 'Compressi ...

  10. python3中的新式类mro查看和C3算法原理

    两个公式 L(object) = [object] L(子类(父类1, 父类2)) = [子类] + merge(L(父类1), L(父类2) , [父类1, 父类2])注意 + 代表合并列表 mer ...