Memcached与Redis对比,Redis基础笔记回顾
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基础笔记回顾的更多相关文章
- REDIS基础笔记
Redis基础笔记 资源链接 简介 简介 安装 五种数据类型及相应命令 1. 字符串类型 2. 散列类型 3. 列表类型 4. 集合类型 5. 有序集合 其他 事务 SORT 生存时间 任务队列 发布 ...
- redis、memcached、mongoDB 对比与安装
一.redis.memcached.mongoDB 对比 Memcached 和 Redis都是内存型数据库,数据保存在内存中,通过tcp直接存取,速度快,并发高.Mongodb是文档型的非关系型数据 ...
- mongodb,redis,memcached,mysql对比
1.性能都比较高,性能对我们来说应该都不是瓶颈总体来讲,TPS方面redis和memcache差不多,要大于mongodb 2.操作的便利性memcache数据结构单一redis丰富一些,数据操作方面 ...
- Memcached和Redis对比和适用场景
关于memcached和redis的使用场景,根据大神们的讨论和我在网上查到的资料,总结一下: 两者对比: redis提供数据持久化功能,memcached无持久化: redis的数据结构比memca ...
- redis、memcached、mongoDB 对比
Mongodb和Memcached不是一个范畴内的东西.Mongodb是文档型的非关系型数据库,其优势在于查询功能比较强大,能存储海量数据.Mongodb 和 Memcached不存在谁替换谁的问题. ...
- memcached和redis对比
关于memcached和redis的使用场景,总结如下:两者对比: redis提供数据持久化功能,memcached无持久化. redis的数据结构比memcached要丰富,能完成场景以外的事情: ...
- Memcached与Redis对比及其优劣分析
国外讨论 本文主要总结缓存Redis和Memcached的区别,总结之前先参考外国知乎上的一篇问答:<Is memcached a dinosaur in comparison to Redis ...
- Redis 对比 Memcached 并在 CentOS 下进行安装配置
了解一下 Redis Redis 是一个开源.支持网络.基于内存.键值对的 Key-Value 数据库,使用 ANSI C 编写,并提供多种语言的 API ,它几乎没有上手难度,只需要几分钟我们就能完 ...
- memcache,redis对比
一.问题: 数据库表数据量极大(千万条),要求让服务器更加快速地响应用户的需求. 二.解决方案: 1.通过高速服务器Cache缓存数据库数据 2.内存数据库 ( ...
随机推荐
- CUBA 7 新特性(上篇)
三年前,我们宣布了 CUBA 框架的第二个公开的主版本.CUBA 6 是改变游戏规则的版本 - 框架的许可从私有化变成了公开的 Apache2.0.那些日子里,我们甚至猜不到这个变化会最终将框架带向何 ...
- BATJ面试必会之 Spring 篇(一)
译者:深海 校对:方腾飞 出自并发编程网 – ifeve.com 目录 Spring 概述 依赖注入 Spring beans Spring注解 Spring数据访问 Spring面向切面编程(AOP ...
- C#中is与as的区别分析
这篇文章主要介绍了C#中is与as的区别,较为详细的分析了is与as的原理与特性及用法区别,具有很好的学习借鉴价值,需要的朋友可以参考下 本文实例分析了C#中is与as的区别,分享给大家供大家参考.具 ...
- IList,ICollection,IEnumerable,IEnumerator,IQueryable
http://www.cnblogs.com/edison1105/archive/2012/07/30/2616082.html 1.首先看一个简单的例子 int[] myArray = { 1, ...
- Eclipse中让Scala缩进变为4
Windows->preference->Scala->Editor->Formatter->Spaces to indent
- 福州大学oj 1752 A^B mod C ===>数论的基本功。位运用。五星*****
Problem 1752 A^B mod C Accept: 579 Submit: 2598Time Limit: 1000 mSec Memory Limit : 32768 KB P ...
- IntelliJ IDEA 使用经验总结
一. 准备工作 1. 点击此下载 IntelliJ IDEA 开发工具 二. 注册 1. 修改 C:\Windows\System32\drivers\etc\hosts ,在末尾添加 0.0.0 ...
- Unix Programming :文件IO
文件描述符常量(unistd.h): STDIN_FILENO STDOUT_FILENO STDERR_FILENO 通常这些常量分别对应于数字0,1,2 文件操作需要头文件 fcntl.h ,一些 ...
- 导出PDF乱码
客户问题: 客户环境 LINUX系统weblogic10.3.0.0 用weblogic自带 JDK160_05 导出PDF中文字体全是口 解决方法: 客户的说他们的测试服务器和生产服务器环境是 ...
- MQTT介绍(3)java模拟MQTT的发布,订阅
MQTT目录: MQTT简单介绍 window安装MQTT服务器和client java模拟MQTT的发布,订阅 在此强调一下mqtt的使用场景: 1.不可靠.网络带宽小的网络 2.运行的设备CPU. ...