搜索
查看
编辑修改
首页
UNITY
NODEJS
PYTHON
AI
GIT
PHP
GO
CEF3
JAVA
HTML
CSS
搜索
笔触狂放9
这个屌丝很懒,什么也没留下!
关注作者
热门标签
jquery
HTML
CSS
PHP
ASP
PYTHON
GO
AI
C
C++
C#
PHOTOSHOP
UNITY
iOS
android
vue
xml
爬虫
SEO
LINUX
WINDOWS
JAVA
MFC
CEF3
CAD
NODEJS
GIT
Pyppeteer
article
热门文章
1
【微信小程序】一文带你吃透开发中的常用组件_微信小程序组件
2
派工单系统 源码_「青鸟报修云」酒店设备报修管理系统
3
大模型日报|今日必读的7篇大模型论文_综述大视觉模型的背景、技术、限制和机遇
4
非常好用的最新版uninstall Toll 附加注册机_uninstall tool注册机
5
【Harmony OS】【JAVA UI】webView动画加载资源加载动画交互_webview.setwebagent
6
leetcode:173. 二叉搜索树迭代器
7
2013年各大小IT公司待遇
8
《一种改进的YOLOv5用于无人机捕获场景中的目标检测》论文笔记_论文中引用yolov5
9
leetcode 309. 最佳买卖股票时机含冷冻期_leetcode 309 最佳买卖股票时机含冷冻期 java
10
unity编辑器扩展#1 自定义窗口、面板、和属性_unity 自定义窗口显示自定义类型
当前位置:
article
> 正文
分布式缓存选型比较:Memcache VS Redis_分布式缓存性能对比
作者:笔触狂放9 | 2024-05-16 10:19:19
赞
踩
分布式缓存性能对比
分布式缓存比较:Memcache VS Redis
1、Redis不仅仅支持简单的k/v类型的数据,同时还提供list,set,zset,hash等数据结构的存储。而memcache只支持简单数据类型,需要客户端自己处理复杂对象
2、Redis支持数据的持久化,可以将内存中的数据保持在磁盘中,重启的时候可以再次加载进行使用(PS:持久化在rdb、aof)。
3、由于Memcache没有持久化机制,因此宕机所有缓存数据失效。Redis配置为持久化,宕机重启后,将自动加载宕机时刻的数据到缓存系统中。具有更好的灾备机制。
4、Memcache可以使用Magent在客户端进行一致性hash做分布式。Redis支持在服务器端做分布式(PS:Twemproxy/Codis/Redis-cluster多种分布式实现方式)
5、Memcached的简单限制就是键(key)和Value的限制。最大键长为250个字符。可以接受的储存数据不能超过1MB(可修改配置文件变大),因为这是典型slab 的最大值,不适合虚拟机使用。而Redis的Key长度支持到512k。
6、Redis使用的是单线程模型,保证了数据按顺序提交。Memcache需要使用cas保证数据一致性。CAS(Check and Set)是一个确保并发一致性的机制,属于“乐观锁”范畴;原理很简单:拿版本号,操作,对比版本号,如果一致就操作,不一致就放弃任何操作cpu利用。由于Redis只使用单核,而Memcached可以使用多核,所以平均每一个核上Redis在存储小数据时比Memcached性能更高。而在100k以上的数据中,Memcached性能要高于Redis 。
7、memcache内存管理:使用Slab Allocation。原理相当简单,预先分配一系列大小固定的组,然后根据数据大小选择最合适的块存储。避免了内存碎片。(缺点:不能变长,浪费了一定空间)memcached默认情况下下一个slab的最大值为前一个的1.25倍。
8、redis内存管理: Redis通过定义一个数组来记录所有的内存分配情况, Redis采用的是包装的malloc/free,相较于Memcached的内存管理方法来说,要简单很多。由于malloc 首先以链表的方式搜索已管理的内存中可用的空间分配,导致内存碎片比较多。
分布式缓存选型总结
其实对于企业选型Memcache、Redis而言,更多还是应该看业务使用场景(因为Memcache、Redis两者都具有足够高的性能和稳定性)。假若业务场景需要用到持久化缓存功能、或者支持多种数据结构的缓存功能,那么Redis则是最佳选择。
(PS:Redis集群解决方式也优于Memcache,Memcache在客户端一致性hash的集群解决方案,Redis采用无中心的服务器端集群解决方案)
综上所述:为了让缓存系统能够支持更多的业务场景,选择Redis会更优。
声明:
本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:
https://www.wpsshop.cn/w/笔触狂放9/article/detail/578237
推荐阅读
article
解决
docker
运行
redis
报错:
Fatal
error
, can‘t
open
conf
ig f...
解决
docker
运行
redis
报错:
Fatal
error
, can't
open
conf
ig
file
/etc/r...
赞
踩
article
基于
golang
,
grpc
, gin 和
redis
,
kafka
, MySQL,
etcd
和...
✨基于
golang
,
grpc
, gin 和
redis
,
kafka
, MySQL,
etcd
和 vue3 的简单...
赞
踩
article
对
Redis
的
安装及使用,
idea
上
的
配置
--
保姆级教程_
idea
中
redis
...
Redis
是一种高级
的
、开源
的
、基于内存
的
键值存储系统,它也可以被认为是一种数据结构服务器,因为键可以关联到五种不同
的
数...
赞
踩
article
IDEA
连接
Redis_idea
redis
...
idea
redis
...
赞
踩
article
redis
连接
idea
一直被拒绝...
网上查找的方法方法一:
idea
中已经下载了Iedis 插件,也导入了jar包
赞
踩
article
Javaguide
摘录备战实习面试(下)_
将
对象
存储
到
数据库
(如
redis
)之前
需要
用
到
序列化
,
将
...
(1)操作少量的数据: 适用。_
将
对象
存储
到
数据库
(如
redis
)之前
需要
用
到
序列化
,
将
对象
从缓存
数据库
中读取出来
将
对...
赞
踩
article
redis
-GEO
地理位置
_
redis
geo
hash
原理...
Redis 3.2版本一个重大的更新是新增了GEO
地理位置
相关的命令。目前Redis对
地理位置
支持提供了一下6个命令:1...
赞
踩
article
常用
服务
的
集群
搭建
(
redis
、MQ、
es
、
zookerper
)_
es
mq
...
常用
服务
的
集群
搭建
(
redis
、MQ、
es
、
zookerper
)1.
集群
概述1.1什么是
集群
1.1.1
集群
概念
集群
是一种...
赞
踩
article
Redis
——
主从复制
模式详解...
在
主从复制
模式中,配置多台
Redis
服务器,一台作为主服务器(Master),负责处理写操作;而其他服务器作为从服务器(...
赞
踩
article
SpringCloud
+RabbitMQ+
Docker
+Redis+搜索+分布式学习-Day 03_...
本文为黑马程序员
SpringCloud
+RabbitMQ+
Docker
+Redis+搜索+分布式,系统详解
spring
c...
赞
踩
article
后端Windows软件环境
安装
配置大全[JDK、
Redis
、
Redis
DesktopManager、...
1.
安装
JDK 2.
安装
Redis
3.
安装
Redis
DesktopManager(
Redis
可视化工具) ...
赞
踩
article
Redis
Desktop
Manager
下载
、
安装
、
使用,想跳槽的朋友必看...
(img-24fqgmSa-1710889616056)]1
、
下载
Redis
Desktop
Manager
。
下载
上边百...
赞
踩
article
Windows
下
Redis
数据库管理工具(
redis
-
desktop
-
manager
)
安装
与配置(图...
Redis
Desktop Manager
安装
Redis
Desktop Manager直接下载
安装
就行非常简单。下...
赞
踩
article
后端
Linux
软件
安装
大全[JDK、
Tomcat
、
MySQL
、Irzsz、Git、Maven、Red...
1.
软件
安装
方式 2.
安装
jdk 3.
安装
Tomcat
4.
安装
MySQL
5.
安装
lrzsz_利用
yum
或者dnf完成...
赞
踩
article
【
退役
之
重学
Java
】关于
Redis
...
Redis
基于reactor 模式开发了网络时间处理器,这个处理器叫做文件事件处理器,file event handl...
赞
踩
article
【
Redis
】
redis
通用
命令
_
redis
连接
到
电脑
上
的指令...
要在
redis
服务
上
执行
命令
需要一个
redis
客户端。
Redis
客户端在我们之前安装
redis
的src目录下...
赞
踩
article
Redis
命令行
操作
连接
方式以及命令_
redis
命令行
连接
...
Redis
教程
连接
Redis
使用命令窗口操作如果您下载的是免安装的版本 启动
Redis
就需要使用命令了一、需要了解的文件...
赞
踩
article
Redis
------连接_
redis
连接...
客户端和服务器端正常连接后才能实现彼此的交互、通信。
redis
通过RESP实现C/S之间的连接通信,该协议包含两个部分:...
赞
踩
article
Redis
连接
命令
介绍_
redis
客户端
连接
命令
...
Redis
连接
命令
主要是用于
连接
redis
服务。_
redis
客户端
连接
命令
redis
客户端
连接
命令
...
赞
踩
article
【
redis
】
Redis
命令
行
命令
基本操作
详解_
命令
行
操作
redis
...
当今的应用程序需要处理大量的数据,而
Redis
是一种高性能的内存数据库,可以用来解决数据处理的问题。
Redis
提供了多种...
赞
踩
相关标签
docker
redis
容器
分布式
golang
gin
intellij-idea
数据库
IDEA
连接
开发工具
java
面试
职场和发展
GEO地理位置
集群搭建教程
github
git
java-rabbitmq
windows
后端