近距离探索memcache缓存
memcache介绍
名字 类型 整理
key vachar utf8_general_ci
value text utf8_general_ci
使用场景
非持久化存储:对数据存储要求不高
分布式存储:不适用单机
key-value存储:格式简单,不支持list,array等数据格式
安装
方式
编译安装:Libevent Memcache
使用依赖管理工具yum、apt-get
PS:memcache和memcached的区别
memcached是memcache的升级版本
过程
压缩包:libevent-1.2.tar.gz和memcached-1.2.0.tar.gz
yum install memcached
启动:/usr/bin/memcached -d -l 127.0.0.1 -p 11211 -m 150 -u root
查看是否启动进程:ps -ef | grep memcached
客户端安装:libmemcached-1.0.18.tar.gz memcached-2.2.0tgz
安装Libmemcached
解压libmemcached-1.0.18.tar.gz
编译安装:./configure --prefix=/usr/lib/libmemcached
make && make install
为php安装memcached扩展
解压memcached-2.2.0tgz
phpize
./configure --with-php-config=/usr/local/(php-config所在目录) --with-libmemcached-dir=/usr/...(libmemcached所在目录)
make && make install
修改配置文件:extension=memcached.so
数据类型及使用
系统类:
addServer:添加服务器
addServer:添加多台服务器
getStatus:查看服务器状态
getVersion:查看服务端版本号
数据类:
add(k,v,time) 新增数据,不会覆盖 time为0代表永久生效
set(k,v,time) 新增数据,没有则创建,有则覆盖
delete(k) 删除
flush() 删除所有
replace()
increment(k,num) 每次自增num
decrement(k,num) 每次自减num
get(k) 获取数据
进阶类:
setMulti(arr,time) 一次性添加多条
deleteMulti(arr) 一次性删除多条
getMulti() 获取多条
getResultCode() 读取操作编码
getResultMessage 读取操作结果
封装memcached类
性能
扩展性
可调式
尽量简便的操作,一个方法多种功能
结构
项目中使用memcached
即时生成缓存
提前生成缓存
永久缓存
注意事项
不要在单机模式中使用memcache
不要只使用memcached保存重要数据
定期查看缓存分布状况和击中情况