主要区别:
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();
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有