Memcached简单介绍

2023-11-05

介绍

Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态、数据库驱动网站的速度。Memcached基于一个存储键/值对的hashmap。其守护进程(daemon )是用C写的,但是客户端可以用任何语言来编写,并通过memcached协议与守护进程通信。


安装:

yum –y install memcached


工作机制

特点有以下几个:

1.暂无认证以及安全管制,也没有冗余备份机制,考虑到时内存数据库,也就无所谓了。

2.Value大小 1.4.2以后可以到128M。

3.节点之间不互相通信。

4.c/s通信使用基于文本行的格式。

5.使用LRU算法管理内存。

6.客户端可以实现一致性哈希算法来决定数据在服务器节点的分布。

7.Lazy Expiration,不主动检查数据的过期。

原理图






首先求出memcached服务器(节点)的哈希值, 并将其配置到0~2^32的圆(continuum)上。add数据时,用同样的方法求出存储数据的键的哈希值,并映射到圆上。从数据映射到的位置开始顺时 针查找,将数据保存到找到的第一个服务器上。 如果超过232仍然找不到服务器,就会保存到第一台memcached服务器上。


Memcached的配置

打开 vim /etc/sysconfig/memcached
默认情况下
PORT="11211"
USER="memcached“
#最大连接数1024
MAXCONN="1024“
#占用最大内存64M
CACHESIZE="64"
#监听的IP  默认情况是所有
OPTIONS=""


启动Memcached

一:后台启动

1:启动
service memcached start
2:设置开机自启动
chkconfig memcached on

二:前台启动
memcached -d -u root -m 1024 -p 11211  -vvv


Memcached命令列表


存储命令set/add/replace/append/prepend/cas
读取命令get/gets
删除命令delete
计数命令incr/decr
统计命令stats/settings/items/sizes/slabs
工具memcached-tool



使用Memcached时出现在的问题

1:数据不正确

解决方案:数据更新同步缓存服务器
2:key值太长

解决方案:对key加密,加密后长度可控,建立一个加密前的key与加密后的key的一个映射表
3:内存溢出

解决方法:加大内存,监听key的使用,长时间不使用的key要释放,不要让他们占用内存空间

4:时间设置问题




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

Memcached简单介绍 的相关文章

  • PECL 安装失败

    从 PHP5 2 6 升级到 php 5 3 后 看起来 我还必须重新安装 PHP memcache module 所以我下载了最新版本的memcache 3 0 6 并遵循此文档 http www php net manual en in
  • memcached数据缓存的设计模式

    可以轻松地将可选的 memcached 缓存封装到现有的数据库查询中 例如 旧 仅限数据库 function getX x get from db return x end 新 带有内存缓存的数据库 function getX x get
  • 致命错误:在 /my/path 中找不到类“Memcached”

    当我尝试时 mc new Memcached I get Fatal error Class Memcached not found in my path phpinfo 表示 etc php5 apache2 conf d 20 memc
  • 如何使用 Python memcached 检查 Django 缓存的内容?

    工具版本 Python 2 6 5 姜戈1 3 1 内存缓存 1 4 10 python memcached 1 48 Memcached 当前正在运行 ps ef grep memcache nobody 2993 1 0 16 46 0
  • memcached 是否在 Google App Engine 中跨服务器共享?

    在memcached网站上 它说memcached是一个分布式内存缓存 这意味着它可以跨多个服务器运行并保持某种一致性 当我在谷歌应用程序引擎中发出请求时 同一实体组中的请求很可能由同一服务器提供服务 我的问题是 假设有两台服务器为我的请求
  • 通过 sql 表中的 100,000 条记录进行通配符搜索的最佳优化技术是什么

    我正在开发 ASP NET MVC 应用程序 该应用程序有 200 个用户使用 这些 用户不断地 每 5 分钟 从 100 000 个项目的列表中搜索一个项目 该列表每个月都会增加 1 2 此 100 000 个项目的列表存储在 SQL S
  • 在 MySQL 中使用 NoSQL

    我注意到 MySQL 可以将 Memcached NoSQL 与 InnoDB 结合使用 但我无法检索有关如何使用它的信息 我想与 PHP 一起使用 NoSQL 查询是标准的吗 首先 MySQL从5 6版本开始只支持NoSQL的memcac
  • 如何序列化 Jackson 的 JsonNode 对象?

    我正在用 memcached 替换内部缓存系统 但 memcached 客户端无法缓存JsonNode对象 因为它们没有实现Serializable 有什么方法可以实现序列化JsonNode目的 杰克逊提供吗Serializable相当于这
  • 使用 MYsql 5.6 内存缓存

    我想我一定错过了一些非常明显的东西 但我想做的是使用 MySQL 5 6 并通过 memcache 返回值 所以我已经设置MYSQL来使用memcache插件 在innodb memcache containers表中设置详细信息 我现在该
  • Rails:计划任务来预热缓存?

    我使用以下内容通过 memcached 缓存加载缓慢的页面 caches action complex report expires in gt 1 day 控制器操作受 Devise 身份验证保护 当前 该页面在用户第一次请求时被缓存 当
  • Memcache 不会刷新或清除内存

    我一直在尝试清除我的内存缓存 因为我注意到使用时存储占用了近 30 的服务器内存ps aux 所以我运行了以下 php 代码 memcache new Memcache memcache gt connect localhost 11211
  • 在 Spring Boot 中重新加载/刷新缓存

    我正在使用 Spring Boot 对于缓存 我使用 Ehcache 到目前为止一切正常 但现在我必须重新加载 刷新 那么我该如何执行此操作 以便我的应用程序不会出现任何停机时间 我在Spring Ehcache中尝试了很多方法 但它不起作
  • 让 Doctrine 默认使用结果缓存

    我正在将 Memcache 绑定到 Doctrine 看来我必须这样做useResultCache明确地在每个查询中 是否可以做到true默认情况下 能够useResultCache false 哪里不需要 创建一个显式设置的包装类 函数u
  • 使用pip安装pylibmc时出错

    您好 当我尝试使用 pip 在 OSX Lion 上安装 pylibmc 时 出现以下错误 pylibmcmodule h 42 10 fatal error libmemcached memcached h file not found
  • MVC 框架中的缓存策略?

    我编写了自己的小型 PHP MVC 框架 现在正在探索 PHP MVC 框架中的缓存策略 我正在考虑可以缓存什么 在哪里以及如何缓存 我的框架是简单的MVC框架 我有前端控制器 它启动应用程序 注册类自动加载 设置 php 运行时指令 最后
  • Spymemcached-Memcached/Membase 故障转移

    平台 64位Windows操作系统 spymemcached 2 7 3 jar J2EE 我们想使用两个 memcache membase 服务器来实现缓存解决方案 我们希望为每个 memcache membase 服务器分配 1 GB
  • Memcached的get和put方法是线程安全的吗

    多线程环境下memcached中的key是否有可能出现乱码 如果是这样 如何以最短的同步时间避免它 使用Java客户端访问memcached服务器 不会 Memcache 将返回某人之前写入的值 而不是乱码 如果您获取 修改 放置 则无法保
  • Memcachier 达到缓存限制时 Heroku 请求超时

    我使用 Memcachier Dalli 作为客户端 将 Rails 应用程序部署到 Heroku 我正在使用免费插件 提供 25 MB 缓存 我们开始收到来自heroku的请求超时 经过调试 我们发现手动刷新Memcachier解决了问题
  • 避免 Memcache 对值的“长度为 1000000 字节”限制

    我的模型有不同的实体 我想像公司的员工一样计算一次 为了避免一次又一次地进行相同的查询 计算出的列表被保存在 Memcache 中 持续时间 1天 问题是应用程序有时会给我一个错误 指出 Memcache 中存储的字节数超过了允许的字节数
  • $_SESSION 中保存大量信息可以吗?

    我需要存储许多数组 SESSION以防止从 MySQL 检索信息 可以吗 其中 太多 的信息有多少 SESSION还是没有 太多 谢谢 附 或者更好地使用http php net manual en book memcache php ht

随机推荐

  • SyntaxError: Unexpected token o in JSON at position 1

    用JSON parse value 将string对象转换成object对象出错 报错原因 重复转换 由value本身就是object对象引发的 因为value本身就是object对象 此时再使用JSON parse value 方法后返回
  • 亚马逊+纽约大学开源图神经网络框架DGL

    最近 纽约大学 纽约大学上海分校 AWS上海研究院以及AWS MXNet Science Team共同开源了一个面向图神经网络及图机器学习的全新框架 命名为Deep Graph Library DGL 据介绍 这个框架在测试时表现出了良好的
  • cenetOS 系统开机启动服务脚本

    在centos7中增加脚本有两种常用的方法 以脚本autostart sh为例 bin bash description 开机自启脚本 usr local tomcat bin startup sh 启动tomcat 方法一 1 赋予脚本可
  • 去掉xcode源码末尾的空格【转载的这篇还没有具体操作过,希望对大家有用】

    去掉xcode源码末尾的空格 Dec 10th 2011 在用xcode开发的时候 很容易就在行末增加一些空格了 这些空格在上传到review board上后 就会被特别的颜色显示出来 因为一种好的编程风格是说 不应该在行末增加不必要的空格
  • 关于在macOS 12 Monterey上驱动Intel网卡、蓝牙

    前言 相信自从macOS12发布以后 不少黑苹果用户都已经升级 在这一部分用户中又有不少用户使用的是Intel网卡 而升级macOS12后 Intel网卡 蓝牙并不能正常驱动 前一段时间由于电脑问题 其中有3个月我没有使用黑苹果 在前不久
  • 使用JVisualVM远程监控Tomcat

    用JVisualVM连接远程JVM 监控系统运行性能参数 作用 JVM和监控的应用程序运行在不同的服务器上 减轻应用程序的负担 特别是HeapDupm的时候 应用常能够续负担很大 1 为 10 87 40 141 上的 tomcat 配置
  • 网络协议和Netty

    文章标题 网络协议 计算机网络体系结构 OSI 七层模型 TCP IP 模型 TCP IP 协议族 TCP 和 UDP 地址和端口号 端口号的确定 端口号与协议 TCP IP TCP 三次握手 TCP 的三次握手的漏洞 TCP 四次挥手 分
  • 建议办公室的空调上都贴上“最环保健康温度26度”

    建议办公室的空调上都贴上 最环保健康温度26度 早上来到办公室看到办公室的空调上贴着 最环保健康温度26度 公司可以省下一小笔 大家可以健康的环境下工作 看到自已的建议被采纳了 心里美啊 愿有更多的空调能贴上 最环保健康温度26度 转贴 为
  • STM32-cubemx-DMA-UART-笔记(振兴中华)

    原文章 STM32 HAL库 STM32CubeMX教程十一 DMA 串口DMA发送接收 Z小旋的博客 CSDN博客 hal dma include
  • Java—面向对象——类与对象

    目录 一 现有技术解决问题 二 类与对象的关系示意图 三 类和对象的关系与区别 四 对象在内存中的存在形式 五 属性 成员变量 字段 六 如何创建对象 七 如何访问属性 一 现有技术解决问题 单独的定义变量解决 缺点 不利于数据的管理 使用
  • PyCharm连接Docker中的容器(ubuntu)

    一 为什么要用Pycharm链接Docker中的ubuntu 因为在进行深度学习的时候 基于windows系统在开发的过程中 老是出现很多问题 大多数是环境问题 尽管安装了Conda 也不能很好的解决问题 使用ubuntu是最好的选择 二
  • tar命令如何解压指定文件到指定目录下

    举一个例子 解压 a tar gz 包里文件名以 one 开头的文件到 tmp 文件夹下 tar xzv C tmp f a tar gz one
  • FBXSDK2018 plugin for Unity

    1 下载FBXSDK 点击打开链接 2 安装SDK 记住你所安装的目录 3 visualstudio 新建 C 空项目 首先配置 C C 附加包含目录 你安装sdk 路径下的include 4 设置预处理器 假设是Debug x64 WIN
  • 原地逆转链表的多种方案

    原地逆转链表的多种方案 include
  • 正大期货:期货交易规则和操作方法?

    1 实行t 0的交易方式 即投资者当天买入的期货 在当天就能卖出 2 双向交易 即投资者可以进行做多操作 也可以进行做空交易 3 保证金制度 即投资者交易期货需要交纳一定比例的保证金 4 强制平仓制度 即当投资者的保证金不足时 期货公司为了
  • java获取微信用户信息(UnionID)

    本篇主要是针对用户关注公众号 然后利用接口获取用户的信息包括unionid信息 首先就是获取微信access token的值 官方文档 https mp weixin qq com wiki t resource res main id m
  • rockchip rk3368(px5)车载开发之路2,屏幕正常显示(不对的地方是UI)

    本系列记载作者来到一个新的车载后装市场小公司 负责从新开始维护一套代码的心路过程 系统使用瑞芯微的rk3368芯片 版本是PX5 Android 8 0 release 20180726 从无到有的每个patch修改以及思考 其中着重点是驱
  • 不好意思,list.contain 去重该换换了!

    程序员的成长之路 互联网 程序员 技术 资料共享 关注 阅读本文大概需要 3 5 分钟 来自 blog csdn net qq 35387940 article details 129885310 最近又是一轮代码review 发现了一些实
  • 法宣在线积分小程序python学满指定分钟数自动关闭

    微信 法宣在线积分学习小程序 可自动学 有不明白的可以联系我 这种只是辅助 不能一天刷很多 比如一天100多分就可以了不要太多 不然会被查 如果没电脑的 可以发账号给我 我把法宣在线的账号登录上每天自动积分就可以了 电脑端exe 打包下载
  • Memcached简单介绍

    介绍 Memcached 是一个高性能的分布式内存对象缓存系统 用于动态Web应用以减轻数据库负载 它通过在内存中缓存数据和对象来减少读取数据库的次数 从而提高动态 数据库驱动网站的速度 Memcached基于一个存储键 值对的hashma