近距离探索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保存重要数据
  定期查看缓存分布状况和击中情况

posted @ 2018-11-12 15:11  井梅0709  阅读(97)  评论(0编辑  收藏  举报