专栏首页kangvcarMemCache 入门极简教程

MemCache 入门极简教程

MemCache 概述

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

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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 手把手教你用7行代码实现微信聊天机器人 -- Python wxpy

    KangVcar
  • Git - git push origin master 报错的解决方法

    KangVcar
  • Ansible极简教程

    KangVcar
  • 【Excel系列】Excel数据分析:抽样设计

    一、随机数发生器 1. 随机数发生器主要功能 “随机数发生器”分析工具可用几个分布之一产生的独立随机数来填充某个区域。可以通过概率分布来表示总体中的主体特征。...

    数据科学社区
  • Nginx 配置ssl

    老七Linux
  • CRM, C4C和SAP Hybris的数据库层设计

    CRM大家都很熟悉了,application developer最多用Open SQL直接操作表。

    Jerry Wang
  • 云桌面可不是万能药 谁都能用

    DaaS在某些方面拥有特定优势,但是这并不意味着可以满足所有企业的需求。如果企业网络在带宽方面存在限制或者员工无法忍受较差的性能表现,那么这种方式也许并不适合你...

    静一
  • 探索无镜之境,藏在OPPO Find X背后的思考

    6月29日在欧洲发布并引发轰动的OPPO Find X中国发布会在北京召开。第二次发布OPPO除了宣布国行价格外,也系统性地阐述了这款手机背后的思考和打磨它所遇...

    罗超频道
  • 下载最新eclipse,jdk路径报错

    一个会写诗的程序员
  • 30分钟--Spark快速入门指南

    Spark快速入门指南 – Spark安装与基础使用  2016-01-15 (updated: 2016-03-07) 6309 29 Apache Spa...

    汤高

扫码关注云+社区

领取腾讯云代金券