【赵渝强老师】Memcached的数据存储方式

本文涉及的产品
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
云数据库 MongoDB,独享型 2核8GB
推荐场景:
构建全方位客户视图
云数据库 Tair(兼容Redis),内存型 2GB
简介: Memcached 是一个高性能的分布式内存对象缓存系统,用于减轻数据库压力,支持高负载网站。它通过内存中的巨大 Hash 表存储各种数据,但不支持数据持久化。视频讲解和数据存储方式图示详见内容。

b147.png

Memcached是一个高性能的分布式的内存对象缓存系统。通过使用Memcached可以支持高负载的网站系统,以分担数据库的压力。Memcached通过在内存里维护一个统一的巨大的Hash表来存储各种格式的数据,包括图像、视频、文件以及数据库检索的结果等。但是Memcached不能将数据进行持久化,因此严格意义来说,Memcached只能叫做一个缓存技术,而不能叫做数据库。

   

视频讲解如下:

   

Memcached在内存中维护一张巨大的Hash表,并且按组分配内存。具体来说就是,每次先分配一个大小为1M的Slab。然后在1M的Slab空间里根据保存数据的大小再划分相同大小的Chunk。换句话说,Memcached在保存数据之前需要先为数据分片内存存储的空间。这样做的优点是最大限度的利用内存,从而避免产生内存碎片。下图说明了Memcached的数据存储方式。




相关文章
|
13小时前
|
存储 缓存 NoSQL
【赵渝强老师】Memcached集群的架构
Memcached 是一个高性能的分布式内存对象缓存系统,通过在内存中维护一个巨大的 Hash 表来存储各种格式的数据,如图像、视频、文件及数据库检索结果等。它主要用于减轻数据库压力,提高网站系统的性能。Memcached 不支持数据持久化,因此仅作为缓存技术使用。其数据分布式存储由客户端应用程序实现,而非服务端。
【赵渝强老师】Memcached集群的架构
|
6月前
|
存储 数据采集 缓存
软件体系结构 - 缓存技术(1)MemCache
【4月更文挑战第20天】软件体系结构 - 缓存技术(1)MemCache
94 14
|
6月前
|
缓存 NoSQL Redis
在Python Web开发过程中:数据库与缓存,除了Redis是内存数据库以外,还有哪些原因使其运行速度快?
Redis在Python Web开发中快速的原因:内存存储、多样化数据结构(如字符串、哈希、列表等)简化数据模型,单线程处理提高效率,结合非阻塞I/O;RDB和AOF提供持久化保障;TCP+二进制协议减少网络开销;管道技术提升通信效率。这些设计使Redis能高效处理高并发请求。
60 3
|
6月前
|
存储 缓存 NoSQL
Redis数据结构的奇妙世界:一窥底层存储机制【redis第一部分】
Redis数据结构的奇妙世界:一窥底层存储机制【redis第一部分】
198 0
|
NoSQL 算法 Redis
Redis 从入门到精通之 开发和设计内存节约
在使用Redis时,需要权衡内存节省方法的好处和弊端,根据具体情况进行选择。如果数据量较小并且性能不是主要问题,则可以选择简单的数据结构和算法。如果处理大量数据并且性能是主要问题,则可以使用内存节省方法。但是,需要确保代码易于维护和扩展。Redis各种数据结构及其占用内存的benchmark测试
232 9
|
存储 消息中间件 缓存
Redis入门指南:深入了解这款高性能缓存数据库
1. 什么是Redis? Redis(Remote Dictionary Server)是一个开源的,基于内存的高性能键值存储系统。它可以作为数据库、缓存和消息中间件使用。Redis的数据存储在内存中,这使得数据的读写速度非常快,因此它被广泛应用于需要高并发、低延迟的场景中。
230 0
|
SQL 存储 监控
Redis数据结构存储系统:第一章:安装配置
Redis数据结构存储系统:第一章:安装配置
154 0
|
缓存 NoSQL Java
Redis数据结构存储系统:第二章:如何使用
Redis数据结构存储系统:第二章:如何使用
149 0
Redis数据结构存储系统:第二章:如何使用
|
缓存 NoSQL 算法
Redis缓存数据库应用概念以及Redis基本操作(一)
redis基本概念及部署redis 1.redis介绍 rediis是一种基于键值对的NoSQL数据库,与很多键值对数据库不同,redis中的值可以有string、hash、list、set、zset、geo等多种数据结构和算法组成。
348 0
Redis缓存数据库应用概念以及Redis基本操作(一)
|
存储 算法 NoSQL
好好耕耘 redis和memcached的区别
原文:好好耕耘 redis和memcached的区别 观点一: 1、Redis和Memcache都是将数据存放在内存中,都是内存数据库。不过memcache还可用于缓存其他东西,例如图片、视频等等; 2、Redis不仅仅支持简单的k/v类型的数据,同时还提供list,set,hash等数据结构的存储; 3、虚拟内存--Redis当物理内存用完时,可以将一些很久没用到的value 交换到磁盘; 4、过期策略--memcache在set时就指定,例如set key1 0 0 8,即永不过期。
1211 0
下一篇
无影云桌面