前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Memcache 和 Redis 相关知识点总结(杂记)

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

作者头像
海涛
发布2019-12-16 16:59:13
3370
发布2019-12-16 16:59:13
举报
文章被收录于专栏:海涛技术日常海涛技术日常

主要区别:

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();

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 Redis
腾讯云数据库 Redis(TencentDB for Redis)是腾讯云打造的兼容 Redis 协议的缓存和存储服务。丰富的数据结构能帮助您完成不同类型的业务场景开发。支持主从热备,提供自动容灾切换、数据备份、故障迁移、实例监控、在线扩容、数据回档等全套的数据库服务。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档