Loading [MathJax]/jax/input/TeX/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >MemCache 入门极简教程

MemCache 入门极简教程

作者头像
KangVcar
发布于 2018-07-06 07:11:31
发布于 2018-07-06 07:11:31
4800
举报
文章被收录于专栏:kangvcarkangvcar

MemCache 概述

MemCache虽然被称为”分布式缓存”,但是MemCache本身完全不具备分布式的功能

Memcache 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高了网站访问的速度。 MemCaChe是一个存储键值对的HashMap,在内存中对任意的数据(比如字符串、对象等)所使用的key-value存储,数据可以来自数据库调用、API调用,或者页面渲染的结果。MemCache设计理念就是小而强大,它简单的设计促进了快速部署、易于开发并解决面对大规模的数据缓存的许多难题,而所开放的API使得MemCache能用于Java、C/C++/C#、PerlPython、PHP、Ruby等大部分流行的程序语言。

MemCache 安装

Windows 下安装 MemCache
  1. 点击下载 安装包
  2. 解压下载后的文件
  1. 使用管理员身份运行cmd 并切换到上一步解压后的目录下, 运行命令 memcached -d install 来把memcache安装为系统服务, 运行命令 memcached -d start 来启动服务
  1. 如果成功,则可以在系统服务上看到 memcache 服务, memcache默认在localhost的11211端口上启动了一个实例
  1. 在cmd 下输入命令 telnet localhost 11211 来连接 memcache 实例
Ubuntu 下安装 MemCache
  1. 使用命令 sudo apt-get install -y memcached 来安装memcache
  2. 安装完成后默认会在 localhost:11211 上启动一个默认实例
  3. 使用命令 ps aux | grep memcached 来查看是否正常运行
  1. 使用命令 telnet localhost 11211 来连接memcache实例

MemCache 常用命令

add

添加数据,将 value(数据值) 存储在指定的 key(键) 中

命令格式

12

add key flag expiretime bytesvalue

  • key : 给这个值设置一个名字
  • flag : 标志,是一个整数
  • expiretime : 有效期,以秒为单位,0表示没有延迟
  • bytes : 这是一个需要存储在memcached的数据的长度
  • value : 是一个需要存储的数据。数据需要将通过在新的一行后输入
范例

12345678

# 添加数据add name 0 1000 8kangvcarSTORED# 如果bytes设置的长度和输入的value长度不符则出现一下错误add name 0 1000 8kangvcarrrCLIENT_ERROR bad data chunk

set

为一个新的或现有的键(key)设置一个值

命令格式

12

set key flag expiretime bytesvalue

参数含义与 add 命令相同

范例

1234

为已存在的key(name)设置一个新的值tomset name 0 1000 3tomSTORED

replace

替换已存在的 key(键) 的 value(数据值)

命令格式

12

replace key flag expiretime bytesvalue

参数含义与 add 命令相同

范例

123

replace name 0 1000 8memcacheSTORED

append

向已存在 key(键) 的 value(数据值) 后面追加数据

命令格式

12

append key flag expiretime bytesvalue

参数含义与 add 命令相同

范例

123456789

# 添加数据123到现有键name的后面append name 0 1000 3123STORED# 查看键name的值get nameVALUE name 0 11memcache123END

prepend

向已存在 key(键) 的 value(数据值) 前面追加数据

命令格式

12

prepend key flag expiretime bytesvalue

参数含义与 add 命令相同

范例

1234567

prepend name 0 1000 3456STOREDget nameVALUE name 0 14456memcache123END

gets / cas

gets 获取带有 CAS 令牌的 value(数据值) cas 执行一个”检查并设置”的操作

命令格式

1

gets key

12

cas key flags exptime bytes unique_cas_token [noreply]value

  • unique_cas_token : 通过 gets 命令获取的一个唯一的64位值
范例

123456789101112131415161718192021

# 缺少一个参数 unique_cas_token cas name 0 1000 3ERROR# unique_cas_token 不正确cas name 0 1000 3 2samNOT_FOUND# 通过 gets 命令获取唯一令牌 ==> 12gets nameVALUE name 0 8 12kangvcarEND# 使用 cas 命令更新数据cas name 0 1000 3 12samSTORED# 使用 get 命令查看数据是否更新get nameVALUE name 0 3samEND

get

获取存储在 key(键) 中的 value(数据值)

命令格式

get key

范例

12345

# 获取存储在键name的值get nameVALUE name 0 1456memcache123END

delete

删除已存在的 key(键)

命令格式

delete key

范例

12

delete ageDELETED

incr / decr

incr 与 decr 命令用于对已存在的 key(键) 的数字值进行自增或自减操作

命令格式

incr key increment_value decr key increment_value

范例

123456789101112

# 添加数据add age 0 1000 215STORED# 对已存在的键(age)数字值进行自增incr age 520# 获取键age的值get ageVALUE age 0 220END

123456789101112

# 添加数据add age 0 1000 215STORED# 对已存在的键(age)数字值进行自减incr age 510# 获取键age的值get ageVALUE age 0 210END

flush_all

清理缓存中的所有数据

命令格式

flush_all [time]

  • time : (可选) 在指定时间后执行清理缓存操作范例 1 2flush_all OK

stats / stats slabs / stats sizes / stats items

stats 显示统计信息例如 PID(进程号)、版本号、连接数等 stats slabs 显示各个slab的信息,包括chunk的大小、数目、使用情况等 stats sizes 显示所有item的大小和个数 stats items 显示各个 slab 中 item 的数目和存储时长

命令格式

stats stats slabs stats sizes stats items

范例

1234567

statsSTAT pid 19700STAT uptime 3054540758STAT time 269361355STAT version 1.4.4-14-g9c660c0STAT pointer_size 64...

123456

stats slabsSTAT 1:chunk_size 96STAT 1:chunks_per_page 10922STAT 1:total_pages 1STAT 1:total_chunks 10922...

123

stats sizesSTAT 96 2END

123456789

stats itemsSTAT items:1:number 2STAT items:1:age 3054540037STAT items:1:evicted 0STAT items:1:evicted_nonzero 0STAT items:1:evicted_time 0STAT items:1:outofmemory 0STAT items:1:tailrepairs 0END

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017-11-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Memcached 常用指令
3、replace 命令 Memcached replace 命令用于替换已存在的 key( 键) ) 的 value( 数据值) )。 如果 key 不存在,则替换失败,并且将获得响应 NOT_STORED。
小手冰凉
2020/02/15
1.5K0
通过telnet连接查看memcache服务器
memcache作为一款优秀的进程外缓存,常常被运用于高并发系统架构中。这里主要谈谈怎么通过telnet工具,查看memcache运行状况并对其key进行管理维护。假设memcache安装目录:/usr/local/memcached 1、启动memcache [plain] view plaincopy [root@localhost ~]# /usr/local/memcached/bin/memcached -d -m 512  -u root -l 192.168.119.70 -p 1200
joshua317
2018/04/16
2.7K0
通过telnet连接查看memcache服务器
memcache作为一款优秀的进程外缓存,常常被运用于高并发系统架构中。这里主要谈谈怎么通过telnet工具,查看memcache运行状况并对其key进行管理维护。假设memcache安装目录:/usr/local/memcached 1、启动memcache [root@localhost ~]# /usr/local/memcached/bin/memcached -d -m 512 -u root -l 192.168.119.70 -p 12000 -c 512 -P /usr/local/mem
joshua317
2018/04/16
3.2K0
memcached安装与应用 原
本次实验使用系统自带版本:memcached.x86_64 1.4.15-10.el7_3.1
阿dai学长
2019/04/03
6040
Memcache
Memcached概念:     Memcached是一个免费开源的,高性能的,具有分布式对象的缓存系统,它可以用来保存一些经常存取的对象或数据,保存的数据像一张巨大的HASH表,该表以Key-val
joshua317
2018/04/16
1.9K0
Memcache
memcache学习笔记
下载稳定版的memcache包,http://pecl.php.net/package/memcache
CS逍遥剑仙
2018/10/11
1.4K0
memcache学习笔记
memcahced perl管理工具 memcached-tool
#  Andrey Niakhaichyk <andrey@niakhaichyk.org>
星哥玩云
2022/07/03
3120
CentOS安装Memcache
Memcache是一个高性能的分布式的内存对象缓存系统,通过在内存里维护一个统一的巨大的hash表,它能够用来存储各种格式的数据.简单的说就是将数据调用到内存中,然后从内存中读取,从而大大提高读取速度。
星哥玩云
2022/07/12
8950
纯干货!-- Memcache详解
网址:http://www.cnblogs.com/xrq730/p/4948707.html
后端技术探索
2018/08/09
4300
Memcache存储机制与指令汇总
  memcached是高性能的分布式内存缓存服务器。一般的使用目的是,通过缓存数据库查询结果,减少数据库访问次数,以提高动态Web应用的速度、提高可扩展性。
那一叶随风
2018/08/22
5250
Memcache存储机制与指令汇总
php操作memcache的使用测试总结
1.简介 memcache模块是一个高效的守护进程,提供用于内存缓存的过程式程序和面向对象的方便的接口,特别是对于设计动态web程序时减少对数据库的访问。 memcache也提供用于通信对话(session_handler)的处理。 更多Memcache 模块相关信息可以到 http://www.danga.com/memcached/ 查阅。  1.1.memcache在php.ini中的配置项列表 memcache在php.ini中的配置项列表 名称 默认值 是否可变 改变日志 memcache
joshua317
2018/04/10
2K0
memcached的一些简单使用
memcached也是和mysql一样有一个命令行,能在命令行中创建和检索数据。 使用telnet可以进入memcached命令行:
端碗吹水
2020/09/23
4890
056. Memcached 入门
1. Memcached 简介 ---- 是一个免费开源的、高性能的、具有分布式内存对象的缓存系统,它通过减轻数据库负载加速动态 Web 应用。 本质上就是一个内存 key-value 缓存。 协议简单,使用的是基于文本行的协议。 不支持数据的持久化,服务器关闭之后数据全部丢失。 Memcached 简洁而强大,便于快速开发,上手较为容易。 没有安全机制。 2. Memcached 设计理念 ---- 简单的键/值存储。 服务器不关心您的数据是什么样的,只管数据存储。 服务端功能简单,很多逻辑依赖客
山海散人
2021/03/03
3840
php操作Memcache/Memcached常用方法
Memcache类常用方法 $memcache = new Memcache; $memcache->connect('127.0.0.1', 11211); $memcache->pconnec('127.0.0.1', 11211); // 打开一个到服务器的持久化连接 , 连接不会在脚本执行结束后或者close()被调用后关闭 $memcache->addServer('123.57.210.55', 11211,$persistent,$weight); // 向连接池中添加一个memcache服
友儿
2022/09/11
4300
memcached缓存知识简单梳理
memcached工作原理 基本概念:slab,page,chunk。 slab,是一个逻辑概念。它是在启动memcached实例的时候预处理好的,每个slab对应一个chunk size,也就是说不同slab有不同的chunk size。具体分配多少个slab由参数 -f (增长因子)和 -n (chunk最小尺寸)决定的。 page,可以理解为内存页。大小固定为1m。slab会在存储请求时向系统申请page,并将page按chunk size进行切割。 chunk,是保存用户数据的最小单位。用户数据it
洗尽了浮华
2018/01/23
1.1K0
PHP操作Memcached的方法汇总
memcached非关系型数据库安装、php中的memcache的扩展安装、以及php中的memcached的扩展安装可以参考:
那一叶随风
2018/08/22
5760
PHP操作Memcached的方法汇总
学习笔记0711----NOSQL之memcached
MemCache是一个自由、源码开放、高性能、分布式的分布式内存对象缓存系统,用于动态Web应用以减轻数据库的负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高了网站访问的速度。MemCaChe是一个存储键值对的HashMap,在内存中对任意的数据(比如字符串、对象等)所使用的key-value存储,数据可以来自数据库调用、API调用,或者页面渲染的结果。MemCache设计理念就是小而强大,它简单的设计促进了快速部署、易于开发并解决面对大规模的数据缓存的许多难题,而所开放的API使得MemCache能用于Java、C/C++/C#、Perl、Python、PHP、Ruby等大部分流行的程序语言。
嘻哈记
2020/11/24
8460
Python-操作Memcache、Redis、RabbitMQ、
Memcache 简述:      Memcache是一套分布式的高速缓存系统,由LiveJournal的Brad Fitzpatrick开发,但目前被许多网站使用以提升网站的访问速度,尤其对于一些大型的、需要频繁访问数据库的网站访问速度提升效果十分显著[1]。 解析:      MemCache的工作流程如下:先检查客户端的请求数据是否在memcached中,如有,直接把请求数据返回,不再对数据库进行任何操作;如果请求的数据不在memcached中,就去查数据库,把从数据库中获取的数据返回给客户端,同时把
洗尽了浮华
2018/01/22
1.6K0
Python-操作Memcache、Redis、RabbitMQ、
分布式缓存之memcached–命令测试
前三个命令是用于操作存储在 memcached 中的键值对的标准修改命令。它们都非常简单易用,且都使用如下 所示的语法:
全栈程序员站长
2021/12/29
4000
分布式缓存之memcached–命令测试
听说Memcache你很豪横?-------------深入剖析Memcache 安装及管理数据库操作
Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态、数据库驱动网站的速度。Memcached基于一个存储键/值对的hashmap。其守护进程(daemon )是用C写的,但是客户端可以用任何语言来编写,并通过memcached协议与守护进程通信。
不吃小白菜
2020/09/15
6450
相关推荐
Memcached 常用指令
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档