前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >MemCache 入门极简教程

MemCache 入门极简教程

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

MemCache 概述

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

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

MemCache作用流程图
MemCache作用流程图

MemCache 安装

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • MemCache 概述
  • MemCache 安装
    • Windows 下安装 MemCache
      • Ubuntu 下安装 MemCache
      • MemCache 常用命令
        • add
          • set
            • replace
              • append
                • prepend
                  • gets / cas
                    • get
                      • delete
                        • incr / decr
                          • flush_all
                            • stats / stats slabs / stats sizes / stats items
                            相关产品与服务
                            对象存储
                            对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
                            领券
                            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档