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. [转]React 教程

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

  2. (译) 在AngularJS中使用的表单验证功能

    验证功能是AngularJS里面最酷炫的功能之一,它可以让你写出一个具有良好用户体验的Web应用. 在AngularJS中,有许多用于验证的指令.我们将先学习几个最流行的内置指令,然后再创建一个自定义 ...

  3. c#基础学习(0706)之使用虚方法实现多态

    使用虚方法实现多态 namespace _0706 { class Program { static void Main(string[] args) { //这个时候调用的是父类的方法 Person ...

  4. C#中Cookie,Session,Application的用法与区别?

    1.Application 储存在服务端,没有时间限制,服务器关闭即销毁(前提是自己没写销毁方法) 2.Session 储存在服务端,客户端(浏览器)关闭即销毁(若长时间不使用 且 浏览器未关闭的情况 ...

  5. 结束回调事件(开头必须cp开头,JSProperties传参)

    <dx:ASPxComboBox ID="comBrand" CssClass="case" ClientInstanceName="comBr ...

  6. 最长公共子序列(DP)

    Description 一个给定序列的子序列是在该序列中删去若干元素后得到的序列.确切地说,若给定序列 X = { x1,x2,…,xm },则另一序列Z ={ z1,z2,…,zk },X 的子序列 ...

  7. 14、通过jpa往数据库插数据

    这是接着上一篇写的,在上一篇的基础上添加 Controller @RestController public class HelloController { @Resource private Hel ...

  8. .NET中的异步编程

    开篇 异步编程是程序设计的重点也是难点,还记得在刚开始接触.net的时候,看的是一本c#的Winform实例教程,上面大部分都是教我们如何使用Winform的控件以及操作数据库的实例,那时候做的基本都 ...

  9. spring作用、spring注解、管理对象的作用域与生命周期、自动装配、Spring的框架包有哪些作用是什么

    Spring 1. 作用 创建和管理对象,使得开发过程中,可以不必使用new关键字创建对象,而是直接获取对象!并且,还可以通过一些配置,使得某些获取到的对象,其中某些属性已经是被赋值的! 2. Spr ...

  10. chrome 浏览器调用 ocx 插件

    原文:http://blog.csdn.net/wangchao1988ok/article/details/45193489 IE 上使用 ocx 插件网上已经有很多资料说明,这里就不重复了,那如何 ...