Memcache 是啥?
Memcached 是一个*开源的
,高性能
,分布式
内存对象缓存系统。
Memcached是一种基于内存
的 key-value
存储,用来存储小块的任意数据(字符串、对象)。这些数据可以是数据库调用、API调用或者是页面渲染的结果。
Memcache 的特性
Memcached 作为高速运行的分布式缓存服务器,具有以下的特点:
- 协议简单;
- 基于 libevent 的事件处理;
- 内置内存存储方式;
- memcached不互相通信的分布式(Memcache 集群主机不能够相互通信传输数据,它的“分布式”是基于
客户端
的程序逻辑算法进一步实现的);
Memcache 的缺点
- 不支持持久化,最大30天的数据过期时间,即使设置成永久,也仅存储30天;
- 数据大小有限制:
- 最大键长为
250字节
,超过则无法存储; - 单个 item 最大数据
1M
,超过则无法存储;
- 最大键长为
- Memcached 以 root 权限运行,而且 Memcached 本身没有任何权限管理和认证功能,安全性不足;
Memcache 的使用场景
- 访问比较频繁的数据,安全性差的数据,丢失无所谓的数据;
- 数据更新,比较频繁的数据,比如用户的在线状态;
- 数据的单个键值不能太大,不要超过 1Mb 数据;
安装与使用
安装
推荐使用 Docker 安装!
使用
Memcached 主要分为三类命令:
存储命令
、查找命令
、统计命令
$ telnet localhost 11211
Trying 127.0.0.1
Connected to localhost.localdomain (127.0.0.1).
Escape character is '^]'.
set foo 0 0 3 (保存命令)
bar (数据)
STORED (结果)
get foo (取得命令)
VALUE foo 0 3 (数据)
bar (数据)
详细使用,推荐手册:Memcached 教程