memcache缓存

Memcache

高性能 内存分布式存储系统 用来减轻数据库的负担 key value 内存中维护一个巨大的hash表 能够存储 图像 视频 文件 从数据库中获取的结果 从内存中读取 速度快

Memcache Memcached

memcache 是文件的名称 memcached 是主程序的文件名字 在内存中开辟空间 管理那些hash表

安装memcache

yum -y install libevent  libevent-devel 

./configure --prefix=/usr/local/memcached  --enable-64bit 
make  && make install     不要在 root 下面 安装  


启动  
   cd /usr/local/memcached    
   ./memcached  -P 11211 -u root -d 
   -P 端口号  
   -u 制定用户名  
   -d 后台运行 
   
   yum -y install telnet   
   telnet 127.0.0.1 11211    
   
   set  key flags expiretime byte  
   
   set ririqi  0 100 5  
   
  key  键值  
  flag 键值对额外的信息  
  expiretime 过期时间  秒为单位 0 表示永不过期    
  byte 长度    
   
   STORED  存储成功  
   NOT_STORED
   
 get key 获取信息     
 也可以批量 获取    
 
 
 
 add 往指定的key中存入数据  如果key 存在 NOT_STORED   set  如果key存在  更新 
 
 add key flags expiretime byte   
 
 add test1 0 100 6   
 
 
 delete  key  删除即可    
 
 
 往指定的key 结尾追加内容   key 事先要存在  
 append  key  0 100 6 
 123qwe
 
 
 set test 0 100 2 
 19  
 
 incr test 10   
 表示 19+10 =29    
 decr test 10  递减指定的数目    必须是int 类型   不能使小数   后面必须要跟数字   
 
 
 

安装 PHP 扩展

1.安装libmemcached

解压并进入目录  
./configure --prefix=/usr/local/libmemcached --with-memcached=/usr/local/memcached      
make && make install   

2.安装 php-memcached php 扩展 跟普通安装 不太一样 但是 安装PHP扩展的方式都一样

unzip php7.zip

加压并进入目录 

 /usr/local/php7/bin/phpize    原来是没有configure的     通过这个命令 会出现一个configure  
 
#安装其它扩展  这一步是一样的    ./configure --with-php-config=/usr/local/php7/bin/php-config 
 ./configure --with-php-config=/usr/local/php7/bin/php-config --with-libmemcached-dir=/usr/local/libmemcached/  --disable-memcached-sasl
 
 安装成功以后 会放到  一个目录下面  /usr/local/php7/lib/php/extensions/no-debug-non-zts-20151012/   
 
 
 
 vim /usr/local/php7/etc/php.ini 
 
 加入下面两行    
 extension_dir = "/usr/local/php7/lib/php/extensions/no-debug-non-zts-20151012/
 extension=memcached.so
 
 service  php-fpm restart
 
 /usr/local/php7/bin/php -m 查看 扩展是否安装成功       

session 共享

vim /usr/local/php7/etc/php.ini 

session.save_handler = memcached
session.save_path = "127.0.0.1:11211,10.0.118.146:11211" 

memcache 是多线程 redis 是单线程

早期版本的 key 是 1M 新版本 2M KEY_MAX_LENGTH 更改key的大小

把数据存在内存中 不支持持久化 断电数据丢失

不支持集群 但是 可以 memcached::addServers()往服务器中增加多台 memcached

$mem = new Memcached();
$mem->addServer('127.0.0.1',11211);
$mem->set('name','世轩兄');
//$mem->set('name','kangbazi');
  $mem->add('names',['l'=>'龙帅','f'=>'世豪'],time()+20); //添加过期时间  


  $mem = new Memcached();
    $mem->addServer('127.0.0.1',11211);
    var_dump($mem->get('names'));

create table article(id int(11) primary key auto_increment not null,title varchar(250),content text,create_time int(10))engine=InnoDB charset=utf8;


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值