Memcached是一个自由开源的,高性能,分布式内存对象缓存系统。

Memcached是一种基于内存的key-value存储,用来存储小块的任意数据(字符串、对象)。这些数据可以是数据库调用、API调用或者是页面渲染的结果。

Memcached简洁而强大。它的简洁设计便于快速开发,减轻开发难度,解决了大数据量缓存的很多问题。它的API兼容大部分流行的开发语言。

本质上,它是一个简洁的key-value存储系统。

一般的使用目的是,通过缓存数据库查询结果,减少数据库访问次数,以提高动态Web应用的速度、提高可扩展性。


特征

memcached作为高速运行的分布式缓存服务器,具有以下的特点。

  • 协议简单
  • 基于libevent的事件处理
  • 内置内存存储方式
  • memcached不互相通信的分布式

1,安装

Linux系统安装memcached,首先要先安装libevent库。

yum install libevent libevent-deve

yum install memcached

2,启动

前台启动

memcached -p
11211 -m 64m–vv

后台启动

memcached -p 11211 -m 64m -d

3,连接

telnet 127.0.0.111211

4,命令

4.1,Memcached 存储命令

Memcachedset 命令

Memcachedadd 命令

Memcachedreplace 命令

Memcachedappend 命令

Memcachedprepend 命令

MemcachedCAS 命令

Memcached set 命令用于将 value(数据值) 存储在指定的 key(键) 中。

如果set的key已经存在,该命令可以更新该key所对应的原来的数据,也就是实现更新的作用。

语法:

set 命令的基本语法格式如下:

set key flags exptime bytes
[noreply]

value

参数说明如下:

·        key:键值 key-value结构中的
key,用于查找缓存值。

·        flags:可以包括键值对的整型参数,客户机使用它存储关于键值对的额外信息。

·        exptime:在缓存中保存键值对的时间长度(以秒为单位,0表示永远)

·        bytes:在缓存中存储的字节数

·        noreply(可选):该参数告知服务器不需要返回数据

·        value:存储的值(始终位于第二行)(可直接理解为key-value结构中的value)

实例

以下实例中我们设置:

·        key → runoob

·        flag → 0

·        exptime → 900 (以秒为单位)

·        bytes → 9 (数据存储的字节数)

·        value → memcached

set runoob
0 900 9

memcached

STORED

get runoob

VALUE runoob 0
9

memcached

END

输出

如果数据设置成功,则输出:

STORED

4.2 Memcached查找命令

Memcachedget 命令

Memcachedgets 命令

Memcacheddelete 命令

Memcachedincr/decr 命令

Memcached get 命令获取存储在 key(键) 中的 value(数据值) ,如果
key 不存在,则返回空。

语法:

get 命令的基本语法格式如下:

get key

多个 key使用空格隔开,如下:

get key1 key2 key3

参数说明如下:

·        key:键值 key-value结构中的
key,用于查找缓存值。

实例

在以下实例中,我们使用 runoob作为 key,过期时间设置为 900秒。

set runoob
0 900 9

memcached

STORED

get runoob

VALUE runoob 0
9

memcached

END

4.3 Memcached统计命令

Memcachedstats 命令

Memcachedstats items 命令

Memcachedstats slabs 命令

Memcachedstats sizes 命令

Memcachedflush_all 命令

Memcached stats 命令用于返回统计信息例如 PID(进程号)、版本号、连接数等。

语法:

stats 命令的基本语法格式如下:

stats

本文转自http://www.runoob.com/memcached/memcached-tutorial.html

最新文章

  1. 关于php的开源
  2. 树莓派(Raspberry Pi)搭建简单的lamp服务
  3. mysql-databaseython 3.4.0 with MySQL database
  4. 用Matplotlib绘制二维图像
  5. Unity有限状态机编写
  6. Android之条码扫描二维码扫描
  7. [笔记]线性回归&梯度下降
  8. <学习>.NET的反射基础
  9. G - 小晴天老师系列——可恶的墨水瓶
  10. ACM录 之 常识和错误。
  11. Struts2+Spring+Hibernate实现员工管理增删改查功能(一)之ssh框架整合
  12. [Swift]LeetCode848. 字母移位 | Shifting Letters
  13. 【SpringCloud Eureka源码】从Eureka Client发起注册请求到Eureka Server处理的整个服务注册过程(下)
  14. elementUi中input输入字符光标在输入一个字符后,光标失去焦点
  15. ORCFILE IN HDP 2: BETTER COMPRESSION, BETTER PERFORMANCE
  16. 论文笔记系列-Multi-Fidelity Automatic Hyper-Parameter Tuning via Transfer Series Expansion
  17. 使用Flask部署机器学习模型
  18. 03.v-cloak、v-v-text、v-html、v-bind、v-on
  19. 算法笔记_216:第六届蓝桥杯软件类校赛部分真题(Java语言C组)
  20. chrome 版本 29.0.1547.76 m 解决打开新标签页后的恶心页面的问题

热门文章

  1. 【九度OJ】题目1083:特殊乘法 解题报告
  2. 【LeetCode】997. Find the Town Judge 解题报告(C++)
  3. C. Arpa's loud Owf and Mehrdad's evil plan
  4. SpringMVC 五大组件
  5. BBN: Bilateral-Branch Network with Cumulative Learning for Long-Tailed Visual Recognition
  6. Dynamic Routing Between Capsules
  7. Kernel Methods for Deep Learning
  8. 解决opencv:AttributeError: 'NoneType' object has no attribute 'copy'
  9. 使用 Eclipse 创建一个静态的登录页面
  10. 【入门到精通】❤️「Java工程师全栈知识路线」