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. [转].Net实现本地化简易教程

    本文转自:https://www.cnblogs.com/csdbfans/archive/2011/10/17/2214048.html 实现多语言版本的支持,就是所谓的国际化,也说是本地化. 今天 ...

  2. css3如何实现圆角边框

    圆角边框是css3新增属性,在圆角边框出现之前,前端开发有的采用整块的圆角图片作为背景,有的采用小的圆角图片分别放在元素的四角,非常麻烦,灵活性差,也达到降低了网站的整体性能,而圆角边的出现则降低了开 ...

  3. 二十、curator recipes之NodeCache

    简介 Curator的NodeCache允许你监听一个节点,当节点数据更改或者节点被删除的时候将会触发监听. 官方文档:http://curator.apache.org/curator-recipe ...

  4. Recommend ways to overwrite hashCode() in java

    Perface In the former chapter, I talk about topics about hashCode, And I will continue to finish the ...

  5. Java 如何重写对象的 equals 方法和 hashCode 方法

    前言:Java 对象如果要比较是否相等,则需要重写 equals 方法,同时重写 hashCode 方法,而且 hashCode 方法里面使用质数 31.接下来看看各种为什么. 一.需求: 对比两个对 ...

  6. K:图的存储结构

      常用的图的存储结构主要有两种,一种是采用数组链表(邻接表)的方式,一种是采用邻接矩阵的方式.当然,图也可以采用十字链表或者边集数组的方式来进行表示,但由于不常用,为此,本博文不对其进行介绍. 邻接 ...

  7. spring源码分析-core.io包里面的类

    前些日子看<深入理解javaweb开发>时,看到第一章java的io流,发觉自己对io流真的不是很熟悉.然后看了下JDK1.7中io包的一点点代码,又看了org.springframewo ...

  8. mysql 查询每秒写入数据库的记录数

    SELECT * from t_user ORDER BY create_time desc SELECT create_time,  COUNT(create_time) as num from t ...

  9. Debian Gun/linux基本用法

    添加软件源:vim /etc/apt/sources.list 在文本中添加如下内容:deb http://mirrors.163.com/debian/ stretch main non-free ...

  10. react里 MD5加密

    https://www.f2td.com/2018/11/13/encrypt-the-user-password-with-md5/