memcach基础知识--1

2023-11-10

memcache:

 

1.memcache数据访问模型:

   首次访问从数据库查询,这是memcache 的模型, 我们可以通过整合spring,来实现自己的数据同步机制,



 

 

2、memcache 是相互之间乎不通信的分布式,memcache的分布式是完全基于客户端的

 



 

 

 

 

3、memcache内存存储机制

memcache 采用了  SLAB allocation 的机制来分配、管理内存,

SLAB 基本就是按照预先规定的大小,将分配好的内存分割成特定长度的块,来解决内存碎片问题!

SLAB 会重复使用已经分配的内存的目的,分配到的内存不会释放而是被重复利用,(注意这里的内存回收机制《内存使用完了怎么将新的内容加入到内存中》), 他有一个缺点, 就是会浪费内存空间, 例如 分配内存块 是 128  的块, 但是我们的数据只有100 ,那个28 就被浪费了!



 

 

 4、memcache的删除机制

数据不会被删除, 空间会被重复利用, 它使用了LRU(最近最少使用) 的原则进行空间分配,memcache也不会监控数据是否过期,只用在客户端查询的时候才会检测数据是否过期.

 

 

5、memcache 的分布式算法

 

   传说中的 consistent hashing

   大概算法思路:

 

写道
将 所有的 key 通过hash映射到 从 0 到 2的32次方 -1 ,的一个闭环上,
再讲, cache服务节点映射到 这个闭环上, 然后从第一个key开始按照顺时针方式,找到了cache就将这些 key 放在这个 cache中, 然后再继续!当然具体算法比这个还要复杂!

 详细的说明参考:   http://younglibin.iteye.com/blog/2043761

 

 

 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

memcach基础知识--1 的相关文章

随机推荐

  • 解决ipset重启服务器 ipset list黑白名单需要重新建立问题

    一 安装ipset server yum install ipset service 二 设置开机自启动服务 systemctl enable ipset 三 保存ipset list ps 重启服务器之前要先执行下这个命令 要不然名单会丢
  • The requested URL /phpMyAdmin/ was not found on this server. 解决方案

    操作 phpStudy点 MySql管理按钮的时候 直接 报错找不到 服务 The requested URL phpMyAdmin was not found on this server 起因 博主排查了下 原因 是因为 我用phpSt
  • C# WPF Border控件总结

    Border控件不是一个布局面板 而是一个非常便于使用的元素 经常与布局面板一起使用 所以 在继续介绍其他布局面板之前 现在先介绍一下Border控件是有意义的 Border类非常简单 它只能包含一段嵌套内容 通常是布局面板 并为其添加背景
  • 元宇宙商标的致富路,断了

    链新 ID ChinaBlockchainNews 原创作者 杨郑君 2021年被称之为 元宇宙元年 也迎来了元宇宙商标注册的热潮 2021年全年 注册的元宇宙商标数量占目前元宇宙商标总数的99 9 然而 热潮背后却是疯狂抢注的乱象 腾讯
  • 安装cuda驱动

    目录 1 查看电脑上cuda版本 2 输入命令 查看cuda版本 3 去官网下载驱动 3 1 选择对应版本 3 2 选择下载版本 4 下载完成后 双击运行 4 1 同意许可协议 4 2 自定义 4 3 安装 5 输入命令验证 1 查看电脑上
  • C++机器学习库整理

    来自谷歌AI的TensorFlow 由 Google 开发的热门深度学习库 它拥有自己的工具 库和社区资源生态系统 使研究人员和开发人员能够轻松构建和部署 ML 支持的应用程序 官方文档 https www tensorflow org l
  • winform制作音乐播放器

    winform制作音乐播放器 本文利用C 调用Windows自带的Windows Media Player 打造一款属于自己的音乐播放器 以供学习分享使用 如有不足之处 还请指正 概述 Windows Media Player是微软公司出品
  • 4.3 服务器上的 Git - 生成 SSH 公钥

    4 3 服务器上的 Git 生成 SSH 公钥 版本说明 版本 作者 日期 备注 0 1 loon 2019 3 25 初稿 目录 文章目录 4 3 服务器上的 Git 生成 SSH 公钥 版本说明 目录 生成 SSH 公钥 生成 SSH
  • SVN 在文件比较时提示:is not a avlid text file!

    解决方法 将文件编码格式改为 在VS中有File gt Save Advance Option
  • 【Springboot】——@EnableAsync@Async

    一直不太明白 线程池在实际应用当中到底扮演什么样的角色 有什么场景要用到 只有真正的项目设计的时候才能逐渐理解 实践出真知说的就是这么个道理 使用多线程 往往是创建Thread 或者是实现runnable接口 用到线程池的时候还需要创建Ex
  • [ Android实战 ] 通过uri删除文件

    Android通过 uri 删除文件 通过 file 开头的 uri 删除文件 通过 content 开头的 uri 删除文件 通过 ContentResolver delete 删除文件 通过 DocumentFile fromSingl
  • 硬核科普:一片晶圆可以生产多少芯片?

    视频来源 腾讯视频 原视频 52赫兹 点击查看往期内容 关注芯片之家 往期好文阅读 芯片之家精选文章合集 一 收藏起来慢慢看 芯片之家精选文章合集 二 收藏起来慢慢看 点击阅读
  • ios 卡顿,push多次同一个页面

    场景 快速多次点击cell跳转到另一个页面 另一个页面被push多次 原因 push后的页面有耗时操作或者刚好push到另一个页面时 另一个页面正好在reloadData卡住主线程 造成点击cell时卡住了 解决方法 重写导航控制器的pus
  • 如何通过SSH连接阿里云上的Linux系统

    亲测可用 若有疑问请私信 首先SSH是啥 维基一下 Secure Shell 安全外壳协议 简称SSH 是一种加密的网络传输协议 可在不安全的网络中为网络服务提供安全的传输环境 1 SSH通过在网络中创建安全隧道来实现SSH客户端与服务器之
  • 01、win10下Apache 2.4.29+PHP 7.2.3+MySQL 5.7.21免安装开发环境配置

    一 软件下载 Apache2 4 29下载 下载地址 下载教程 PHP7 2 3下载 下载地址 下载教程 注意 一定要下载php 5 5 thread safe版本的 不然在后边没有要用到的php5apache2 4 dll库 MySQL5
  • android知识点 020 —— 版本信息,Android.os.Build 常用类

    1 Build VERSION SDK INT 软件app安装在哪个手机上 该手机的操作系统版本号 比如8 1对应的SDK INT是27 The SDK version of the software currently running o
  • qt案例-播放暂停动图

    wigdet h ifndef WIDGET H define WIDGET H include
  • MAC 查看程序安装目录

    查看程序安装目录 ps ef grep 程序名字 e g ps ef grep matlab
  • python中math库最大值_Python之math库和random库

    import math 相关函数 math ceil x x向上取最近的整数 然后返回这个整数 例 ceil 2 1 3 math degrees x 将x从弧度转换成角度 math fabs x 将x看作一个浮点数 返回它的绝对值 例 f
  • memcach基础知识--1

    memcache 1 memcache数据访问模型 首次访问从数据库查询 这是memcache 的模型 我们可以通过整合spring 来实现自己的数据同步机制 2 memcache 是相互之间乎不通信的分布式 memcache的分布式是完全