文档章节

Memcache 和 Redis 相关知识点总结(杂记)

小海bug
 小海bug
发布于 2019/12/10 22:49
字数 566
阅读 26
收藏 0

主要区别:

1.持久化,Redis 可以,memcache不可以

2.Redis不仅仅支持简单的k/v类型的数据,同时还提供list,set,hash等数据结构的存储

3.过期策略--memcache在set时就指定,例如set key1 0 0 8,即永不过期。Redis可以通过例如expire 设定,例如expire name 1

4.集群方式,memcache基于客户端集群,redis3.0开始支持服务器端集群,Redis Cluster是一个实现了分布式且允许单点故障的Redis高级版本,它没有中心节点,各个节点地位一致,具有线性可伸缩的功能

5.redis 支持发布订阅模式

-----------------------------------------------------------

存储相关的知识点比较:

Memcache内存分配如下图

总结:slab 获取page ,切分为 自己负责大小区域的 chunk,比如负责0-104byte 的chunk,存储20byte的数据就会有84浪费掉,

这样设计是为了防止内存碎片

基于上述优化方式:

1.为数据尺寸区间小的业务分配专用的memcached实例。这样可以调小 -f 参数,使数据集中存在少数几个slab上,内存浪费较少

2.不要存储大于1M的数据,会跨多个chunk

memcache 客户端

memcache for java  和  spymemcache

Redis 满足ACID特效,但是A,原子性特特效需要注意:

1.单个命令具有原子性

2.事务的话,基本保持原子性,要么都执行,要么都不执行,如何事务中的命令执行中失败,前面的不会回滚,后面的继续执行

Transaction tx = jedis.multi();

Redis持久化的三种方法(最后一种已过期2.4开始)

RDB快照方式

AOF日志方式

虚拟内存方式(desprecated)

Redis的几种集群方式

从前到后进阶

主从复制->哨兵模式->cluster 模式

合理使用 Batch 和PipeLine模式提高效率

Pipeline pipeline = jedis.pipelined();

 

© 著作权归作者所有

小海bug
粉丝 25
博文 136
码字总数 76649
作品 0
北京
架构师
私信 提问
CYQ.Data 对于分布式缓存Redis、MemCache高可用的改进及性能测试

背景: 随着.NET Core 在 Linux 下的热动,相信动不动就要分布式或集群的应用的需求,会慢慢火起来。 所以这段时间一直在研究和思考分布式集群的问题,同时也在思考把几个框架的思维相对提升...

路过秋天
2019/04/01
0
0
springboot应用集成redis【JWordPress前台项目实战】

写在前面 Redis是一个开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。 它通常被称为数据结构服务器,因为值(val...

技术小能手
2018/07/23
0
0
架构师必备词汇和知识点

01 高可用 负载均衡(负载均衡算法) 反向代理 服务隔离 服务限流 服务降级(自动优雅降级) 失效转移 超时重试(代理超时、容器超时、前端超时、中间件超时、数据库超时、NoSql超时) 回滚机...

t4i2b10X4c22nF6A
2017/11/24
0
0
Redis相关知识点 重新学习的记录

Redis相关知识点 重新学习的记录http://www.bieryun.com/3056.html 重新学习Redis: 一Redis简介: Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库。 1.Redis 与其他 ke...

幸运券发放
2018/07/02
0
0
关于Memcache与Redis

本文尝试总结Memcache与Redis之间的相同点及不同点,以及关于两者的一些注意问题。 相同 同为内存型数据库 当数据写满后均以LRU机制替换数据 分布式支持 不同 Memcache 多线程 最大key为512...

ZoaChou
2016/06/06
122
0

没有更多内容

加载失败,请刷新页面

加载更多

什么是专用字节,虚拟字节,工作集?

我试图使用perfmon Windows实用程序来调试进程中的内存泄漏。 这就是perfmon解释这些术语的方式: Working Set是此过程的工作集的当前大小(以字节为单位)。 工作集是过程中线程最近触及的一...

技术盛宴
28分钟前
52
0
创建重复N次的单个项目的列表

我想创建一系列长度不一的列表。 每个列表将包含相同的元件e ,重复n次(其中n列表=长度)。 如何创建列表,而不为每个列表使用列表[e for number in xrange(n)] ? #1楼 在Python中创建重复...

javail
44分钟前
64
0
为什么图片反复压缩后普遍会变绿,而不是其他颜色?

作者:Lion Yang 链接:https://www.zhihu.com/question/29355920/answer/119088684 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 业余版概要:安卓的...

shzwork
今天
47
0
每天AC系列(二):最接近的三数之和

1 题目 leetcode第16题,给定一个数组与一个目标数,找出数组中其中的三个数,这三个数的和要与目标数最接近。 2 暴力 按惯例先来一次O(n3)的暴力: int temp = nums[0]+nums[1]+nums[2];fo...

Blueeeeeee
今天
46
0
EFK教程(5) - ES集群开启用户认证

基于ES内置及自定义用户实现kibana和filebeat的认证 作者:“发颠的小狼”,欢迎转载 目录 ▪ 用途 ▪ 关闭服务 ▪ elasticsearch-修改elasticsearch.yml配置 ▪ elasticsearch-开启服务 ▪ ...

小慢哥
今天
58
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部