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. Kaggle(一):房价预测

    Kaggle(一) 房价预测 (随机森林.岭回归.集成学习)  项目介绍:通过79个解释变量描述爱荷华州艾姆斯的住宅的各个方面,然后通过这些变量训练模型, 来预测房价.   kaggle项目链接:ht ...

  2. 利用反射,批量启动WCF服务

    对于WCF的宿主启动来说,有好多方法,单独启动也很简单,可以根据业务需要来自由选择(单独启动方法这里就不做解释) 对于业务服务比较多的时候,往往需要多个服务来承载系统,但是如果将服务启动单独写代码启动 ...

  3. js加载事件和js函数定义

    一  dom文档树加载完之后执行一个函数 在Dom加载完成后执行函数,下面这三个的作用是一样的,window.onload 是JavaScript的,window.onload是在dom文档树加载完和 ...

  4. [Linux] Linux系统(文件操作)

    linux有三种文件类型,普通文件,目录,设备文件 查看文件 使用命令ls获取ll,查看文件列表,参数:-l(列表形式),-a(展示隐藏文件) 使用元字符* ? ,查看匹配的文件列表,例如:ll a* ...

  5. slf4j和log4j源代码解析以及详解

    备注:下面所有代码以log4j为例 包结构 slf4j-api.jar对外提供api slf4j.log4j12.jar提供适配器 log4j.jar是log4j的jar slf4j初始化 获取ILo ...

  6. 山东第四届省赛: Boring Counting 线段树

    http://acm.sdibt.edu.cn/JudgeOnline/problem.php?id=3237 Problem H:Boring Counting Time Limit: 3 Sec  ...

  7. SpringMVC+MyBatis+MySQL 8小时链接断开

    org.springframework.web.util.NestedServletException: Request processing failed; nested exception is ...

  8. SSH下shiro的基本使用

    1.引入依赖 <!-- 权限控制 框架 -->
 <dependency>
 <groupId>org.apache.shiro</groupId>
 ...

  9. win8.1怎么安装iis

    进入系统后,在左下角处点鼠标右键,再点击[程序和功能]如下图所示:       2 进入程序和功能界面后,点击[启用或关闭Windows功能] 在WINDOWS功能对话框中找到[internet in ...

  10. 【MUI框架】学习笔记整理 Day 1

    MUI 框架之 [原生UI] (1)accordion(折叠面板) 由二级列表演化而来 <ul class="mui-table-view"> 2 <li cla ...