memcached 小记
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
最新文章
- 关于php的开源
- 树莓派(Raspberry Pi)搭建简单的lamp服务
- mysql-databaseython 3.4.0 with MySQL database
- 用Matplotlib绘制二维图像
- Unity有限状态机编写
- Android之条码扫描二维码扫描
- [笔记]线性回归&;梯度下降
- <;学习>;.NET的反射基础
- G - 小晴天老师系列——可恶的墨水瓶
- ACM录 之 常识和错误。
- Struts2+Spring+Hibernate实现员工管理增删改查功能(一)之ssh框架整合
- [Swift]LeetCode848. 字母移位 | Shifting Letters
- 【SpringCloud Eureka源码】从Eureka Client发起注册请求到Eureka Server处理的整个服务注册过程(下)
- elementUi中input输入字符光标在输入一个字符后,光标失去焦点
- ORCFILE IN HDP 2: BETTER COMPRESSION, BETTER PERFORMANCE
- 论文笔记系列-Multi-Fidelity Automatic Hyper-Parameter Tuning via Transfer Series Expansion
- 使用Flask部署机器学习模型
- 03.v-cloak、v-v-text、v-html、v-bind、v-on
- 算法笔记_216:第六届蓝桥杯软件类校赛部分真题(Java语言C组)
- chrome 版本 29.0.1547.76 m 解决打开新标签页后的恶心页面的问题
热门文章
- 【九度OJ】题目1083:特殊乘法 解题报告
- 【LeetCode】997. Find the Town Judge 解题报告(C++)
- C. Arpa&#39;s loud Owf and Mehrdad&#39;s evil plan
- SpringMVC 五大组件
- BBN: Bilateral-Branch Network with Cumulative Learning for Long-Tailed Visual Recognition
- Dynamic Routing Between Capsules
- Kernel Methods for Deep Learning
- 解决opencv:AttributeError: &#39;NoneType&#39; object has no attribute &#39;copy&#39;
- 使用 Eclipse 创建一个静态的登录页面
- 【入门到精通】❤️「Java工程师全栈知识路线」