memcached基础

C#个人珍藏基础类库分享 — 2、Memcached缓存帮助类MemcachedHelper 做.NET后台开发的同学,对缓存处理一定不陌生,这里把我混迹C#圈子十余载珍藏的基础类库分享出来,希望能够给刚踏入开发门槛的朋友一些帮助。C#个人珍藏基础类库分享 — 2、Memcached缓存帮助类MemcachedHelper。C#个人珍藏基础类库分享 — 3、目录、文件帮助类FileHelper。C#个人珍藏基础类库分享 — 6、数据库处理帮助类SqlHelper。C#个人珍藏基础类库分享 — 7、Xml处理帮助类XmlHelper。C#个人珍藏基础类库分享 — 5、日志帮助类LogHelper。 阅读详情

memcached基本介绍

author:madding.lip

date: 2010.07.21

特点

  • 协议简单:基于文本

  • 基于libevent的事件处理

  • 内置内存存储方式

  • memcached 不互相通信的分布式

协议

  • http://code.sixapart.com/svn/memcached/trunk/server/doc/protocol.txt

结构

  • c/s结构

常用命令

连接

  • 命令

    • telnet ip port

  • 举例

存储命令

  • 命令1:
    <commandname> <key> <flags> <exptime> <bytes>[noreply]\r\n

    • command

      • set

        • 存储数据,storethis data

      • add

        • 当且仅当这个key不存在时才添加数据,storethis data, but only if the server *doesn't* already hold data forthis key

      • replace

        • 当且仅当这个key存在是才添加数据,storethis data, but only if the server *does* already hold data forthis key

      • append

        • 添加数据到存在key的数据后,addthis data to an existing key after existing data

      • prepend

        • 添加数据到存在key的数据后,addthis data to an existing key before existing data

    • key

      • the key under which the clientasks to store the data

    • flags

      • ?个人理解是有点像标志,客户端聚合一些相似的数据,服务器端存储则是透明的

    • exptime

      • 过期时间。0:永不过期;单位:秒

    • bytes

      • 数据bytes大小

    • noreply

  • 命令2:

    cas <key> <flags><exptime> <bytes> <cas unqiue> [noreply]\r\n

    • cas

      • 存储一个数据,改数据在上次获取之后没有更新过,storethis data but only if no one else has updated since I last fetchedit

    • cas unique

      • ?

  • 返回格式

    • 成功:STORED\r\n

    • 失败:NOT_STORED\r\n

    • 存在:EXISTS\r\n

    • 不存在:NOT_FOUND\r\n

取回命令

命令格式1:get <key>*\r\n命令2:gets<key>*\r\n

  • 如果是请求一个列表,列表用空格分开

返回格式

  • VALUE <key> <flags><bytes> [<cas unique>]\r\n<data block>\r\nEND\r\n

删除命令

  • 命令格式1:delete<key> [<time>] [noreply]\r\n

  • 命令格式2:flush_all

  • 返回格式

    • 删除:DELETED\r\n

    • 没找到:NOT_FOUND\r\n

增加/减少

增加:incr<key> <value> [noreply]\r\n

删除:decr<key> <value> [noreply]\r\n

返回格式

  • 没发现:NOT_FOUND\r\n

  • 值:<value>\r\n

统计命令

命令1:stats\r\n

命令2:stats<args>\r\n

返回格式

参数说明

  • 返回结果参数说明:
    NameType Meaning
    ----------------------------------
    pid 32uProcess id of this server process
    uptime 32u Number of secondsthis server has been running
    time 32u current UNIX time accordingto the server
    version string Version string of thisserver
    pointer_size 32 Default size of pointers on the host OS
    (generally 32 or 64)
    rusage_user 32u:32u Accumulated user timefor this process
    (seconds:microseconds)
    rusage_system32u:32u Accumulated system time for this process
    (seconds:microseconds)
    curr_items 32u Current number of itemsstored by the server
    total_items 32u Total number of items storedby this server
    ever since it started
    bytes 64u Currentnumber of bytes used by this server
    to storeitems
    curr_connections 32u Number of openconnections
    total_connections 32u Total number of connectionsopened since
    the server started running
    connection_structures32u Number of connection structures allocated
    by theserver
    cmd_get 64u Cumulative number of retrievalrequests
    cmd_set 64u Cumulative number of storagerequests
    get_hits 64u Number of keys that have been requested and
    found present
    get_misses 64u Number of items that have beenrequested
    and not found
    evictions 64u Number of valid itemsremoved from cache
    to free memory for new items
    bytes_read64u Total number of bytes read by this server
    fromnetwork
    bytes_written 64u Total number of bytes sent by thisserver to
    network
    limit_maxbytes 32u Number of bytes thisserver is allowed to
    use for storage.
    threads 32u Number ofworker threads requested.
    (see doc/threads.txt)

其他

version

verbosity

quit

内存存储(slaballocation)

  • 原理:按照预先规定的大小,将分配的内存分割成特定长度的块,以完全解决内存碎片问题

  • 命令

    • 启动memcached

      • memcached -p 11211 -m 1m -vvv

      • memcached -p 11212 -m 1m-d

    • 设置增长系数

      • memcached -p 11211 -m 1m -f 1.25-vvv

      • madding@wmmad:~$memcached -p 11212 -vvv -f 1.25 -m 1B

        slab class   1: chunksize        80perslab   13107

        slab class   2: chunksize       104 perslab   10082

        ...................................................

        slab class  40: chunksize    573744 perslab       1

        slab class  41: chunksize    717184 perslab       1

        slab class  42: chunksize   1048576 perslab       1

    • 状态查看

      • stats

    • 查看slbs使用状况

    • 具体参考memcached的安装man手册

  • 概念

    • page

      • 分配给Slab的内存空间,默认是1MB。分配给Slab之后根据slab的大小切分成 chunk

    • chunk

      • 用于缓存记录的内存空间

    • slab class

      • 特定大小的chunk的组

    • 关系

      • 多个chunk组成slabclass,多个slab class构成page

  • 记录(存储)

    • 根据收到记录的大小选择合适的slab,再根据slab中保存的空闲chunk表,找到chunk,存储记录

  • 优缺点

    • 优点:减少内存分配

    • 缺点:空间浪费

    • 其实都是权衡后的结果,只要适当控制chunk之间的大小,就能减少空间的浪费

删除机制

  • 获取时检查过期

  • 禁止LRU:memcached-M -m 1024

分布式算法

问题

1.服务器端操作

2.内存管理原理

3.实际的memcached的内部结构

监控

性能优化

问题

条件:分配了一个大小为1B空间的memcached服务器现象: 插入一个8字节以类内的数据都能提示成功或失败,但是如果长度大于服务器空间的最大长度,如写入9字节的内容,服务器会一直保持处理状态,服务器端也没有反应(我用-vvv输出调试信息)解释:

过期时是怎么判断一个数据是否过期,内部时间还是系统时间

memcached服务器是否使用LRU

集群分配内存是如何做到的,我目前之了解单台机器??

网站这边如果作性能调优主要处理哪些方面的内容,
1.存储空间利用
2.访问速度
3.单台服务的连接数
???

memcached服务器的一般配置如何

如何作memcached监控:一般只是监控进程

NI USB-8506 LIN通讯配置全攻略:从驱动安装到NI MAX硬件检测 本文详细介绍了NI USB-8506设备的LIN通讯配置全流程,从驱动安装到NI MAX硬件检测。重点讲解了NI-CAN和NI-XNET驱动的安装避坑技巧,以及LIN通讯参数配置的实战经验,帮助用户快速掌握车载LIN总线通讯技术,提升工作效率。 阅读详情

相关推荐

避坑指南:为什么你的conda环境装不上Mamba?从CUDA到ABI的深度排查

本文深入解析conda环境中安装Mamba架构时常见的CUDA版本冲突、ABI不匹配等问题,提供从基础检查到深度排查的系统化解决方案。针对`causal-conv1d`和`mamba-ssm`安装失败场景,详细讲解PyTorch版本绑定、编译器工具链兼容性等关键技术要点,并给出预编译wheel选择、动态链接库配置等实用修复方案。

weixin_33738555的博客 345

Memcached基础

1、Memchached入门 Memcached是一款高性能、分布式的内存对象缓存系统,Memchached可以有效分担数据库负载,它是基于libevent事件处理实现。 2、Memchached部署搭建 下载两个包:libevent,memcached 地址:libevent.org memcached.org 将两个包解压缩,先安装libeve...

weixin_39534345的博客 213

B站充电视频下载器(需配合会员Cookie使用,仅供学习交流,Python)

这个程序是一个用于下载B站充电视频的工具,依赖于用户提供的会员Cookies。

qq_40753021的博客 2万+

memcached完全剖析–1. memcached的基础

本系列文章导航 memcached完全剖析–1. memcached的基础 memcached全面剖析–2.理解memcached的内存存储 memcached全面剖析–3.memcached的删除机制和发展方向 memcached全面剖析–4. memcached的分布式算法 memcached全面剖析–5. memcached的应用和兼容程序 asdfaaf asdfsaf 翻

swpihchj的专栏 709

全局特征描述子 CVFH (Clustered Viewpoint Feature Histogram) 原理

特性VFHCVFH处理对象整个物体点云物体点云被分割后的稳定表面块(簇)对遮挡的鲁棒性弱。遮挡会破坏全局形状,导致描述子失效。极强。只依赖于稳定存在的部分。描述子维度263 维308 维 (263 + 45 SC)输出数量一个物体产生1 个描述子一个物体可能产生多个签名计算复杂度相对较低较高(需先聚类)主要应用场景完整、分割良好的物体存在遮挡、背景杂波的不完整物体。

weixin_37079656的博客 619

华为数通---配置风暴控制案例

风暴控制可以通过阻塞报文或关闭端口来阻断广播、未知组播和未知单播报文的流量。

2301_77081516的博客 1624

Memcached 基础应用

Memcached 基础应用 安装 一 Memcached服务器端的安装 (此处将其作为系统服务安装)   下载文件:memcached 1.2.1 for Win32 binaries (Dec 23, 2006)     1 解压缩文件到c:\memcached    2 命令行输入 'c:\memcached\memcached.exe -d ins...

博客 131

新手避坑指南:用SARScape 5.6.2处理Sentinel-1数据做SBAS-InSAR,这些参数设置错了白忙活

本文详细介绍了使用SARScape 5.6.2处理Sentinel-1数据做SBAS-InSAR时的关键参数设置技巧,帮助新手避免常见错误。重点解析了连接图生成、干涉工作流、DEM处理等环节的12个关键参数,包括Max Normal Baseline、Unwrapping Coherence Threshold等,提供实测安全值范围和优化建议,确保处理效率和结果准确性。

weixin_30694389的博客 557

Memcached 基础知识

1. 基本信息  memcached是高性能的分布式内存缓存服务器,

zhoushuaiyin的专栏 2909

一文详解声码器

声码器(Vocoder)是语音信号处理领域的核心技术,其本质是通过“分析 - 参数化 - 合成” 的闭环流程,实现语音的高效编码、转换或生成。它不仅是早期语音通信的关键工具,更是现代 AI 语音技术(如 TTS、语音转换)的核心组件。以下从原理、技术分类、关键模块、应用及发展趋势展开详细解析。

weixin_41413777的博客 1351

JPA - @MappedSuperclass - 基类注解

目录前言代码示例 前言 @MappedSuperclass注解一般作为基类的注解,表眀该类是映射的超类,继承于它的子类实体在映射时会自动添加到子类实体的对应数据库表中,用于共同的属性代码复用和模型分离。 代码示例 BaseEntity.java import lombok.Getter; import lombok.Setter; import javax.persistence.MappedSuperclass; import java.util.Date; @Getter @Setter @Ma

Maggieq8324的博客 2064

memcached基础知识

memcached基础 memcached是高性能的分布式内存缓存服务器, 一般的使用的是通过其缓存数据库的查询结果,减少数据库的访问次数,以提高动态web应用的速度,提高可扩展性. 协议简单 memcached的服务器客户端通信并不使用复杂的XML等格式 而使用简单的基于文本行的协议 基于libevent的事件处理 libevent是个程序库,...

langyaxiaoxiao的专栏 63

uniapp - H5人脸识别认证与活体检测功能(纯前端免费方案+微信sdk人脸识别)完整源码,微信公众号网页/h5端人脸识别功能人脸核身(微信方案提供后端spring boot+thinkphp源码

uniapp实现人脸认证,uniAPP h5手机拍照+人脸识别,免费人脸识别插件,前端人脸识别解决方案,uniapp H5人脸识别带前后摄像头,人脸识别在H5页面进行采集,微信公众号H5人脸核身,H5端人脸识别功能实现,免费h5人脸识别插件方案,微信公众号H5网页实现人脸识别,uniapp人脸监测,uniapp人脸生物监测,使用uniapp开发H5人脸采集功能/人脸识别功能,uniapp项目—h5端人脸采集功能实现,uniapp vue3人脸核身,H5活体检测认证,人脸认证张嘴摇摇头指引动作,人脸核身 微信

🏆 前端领域优质创作者 3809

艾伟:memcached完全剖析–1. memcached的基础

本系列文章导航memcached完全剖析–1. memcached的基础memcached全面剖析–2.理解memcached的内存存储memcached全面剖析–3.memcached的删除机制和发展方向memcached全面剖析–4. memcached的分布式算法memcached全面剖析–5. memcached的应用和兼容程序asdfaafasdfsaf 翻译一篇技术评论社的文...

weixin_34234721的博客 135

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

memcached完全剖析--1. memcached的基础 和 memcached全面剖析--PDF总结篇

翻译一篇技术评论社的文章,是讲memcached的连载。fcicq同学说这个东西很有用,希望大家喜欢。 发表日:2008/7/2作者:长野雅广(Masahiro Nagano)原文链接:http://gihyo.jp/dev/feature/01/memcached/0001 我是mixi株式会社开发部系统运营组的长野。 日常负责程序的运营。从今天开始,将分几次针对最近在Web应用的可扩展

xiaowanggedege的专栏 2457

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

java memcached缓存怎么测试_实战Memcached缓存系统(1)Memcached基础及示例程序

[通常的网页缓存方式有动态缓存和静态缓存等几种,在ASP.NET中已经可以实现对页面局部进行缓存,而使用memcached的缓存比 ASP.NET的局部缓存更加灵活,可以缓存任意的对象1、Cache定义(1)狭义概念:用于CPU的相对高速处理与主存(Main Memory)的相对低速处理的之间起到协调功能的硬件设备。(2)广义概念:用于速度相差较大的两种硬件之间,起到协调两者数据传输速度差异的结构...

weixin_29826879的博客 230

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

memcached基础介绍

一.memcached简介Free & open source, high-performance, distributed memory object caching system, generic in nature, but intended for use in speeding up dynamic web applications by alleviating database load

neven7的专栏 748

memcached完全剖析.memcached的基础

memcached完全剖析–1. memcached的基础memcached全面剖析–2.理解memcached的内存存储memcached全面剖析–3.memcached的删除机制和发展方向memcached全面剖析–4. memcached的分布式算法memcached全面剖

Carter的菜园子 570
上一篇: httpd相关操作
下一篇: 2011.08.22 再生网安全问题
「已注销」
博客等级 码龄20年 47粉丝 107原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值