php链接memcache操作
设置值
set key 压缩标识 有效期 长度
set name 0 60 5
hello
压缩标识:用于告诉memcached服务器是否压所后存储数据,目的是为了节省磁盘空间,压所和解压缩会消耗时间
有效期:用于key在什么时间失效,设置方式有两种,时间间隔和时间戳,区分时间间隔和时间戳的方法:
临界值:308243600=2592000(30天)
长度:值的大小(字节为单位)
键:由字母数字下划线标识符组成,长度不要大于250字节,在实际开发中,建议使用前缀
值:需要缓存的数据内容,字符串,在实际开发中,配合序列化和反序列化使用,单个值不能超过1M
add age 0 0 2 仅添加,如果key已经存在,则添加失败
replace 仅替换,如果key不不存在的,则替换失败
delete key 删除指定的key缓存
fash all 清空所有缓存
stats 获取当前memcached服务器的状态
hits:命中率:
misses:未命中率:
关注它的原因就是要查看缓存内容是否有效,有否被获取到。如果命中率太低了,就证明缓存的数据有问题。需要把缓存数据整理好。重新存放。缓存命中率有70%就可以了。
提升命中率,应该讲常用的获取频繁的数据放在存储缓存中,实际开发中,缓存需要预热处理。
stats items 命令用于显示各个slab中item的数目和存储时长(最后一次访问距离现在的秒数)
stats cachedump slabs_id limit_num
slabs_id: 由stats items返回的结果(STAT items后面的数字)决定的
limit_num:返回的纪录数,0表示返回所有记录
内存的限制:32位下最大的设置为2Gs
如果有30G的数据要缓存,一般也不会单实例装30G,一般建议 开启多个实例(可以在不同的机器或者同台机器上的不同端口)
标量类型
整型
<?php
$mem=memcache_connect('127.0.0.1',11211);
$int=123;
$mem->set('int',$int,0,0);
$value=$mem->get('int');
halt($value);
//结果
string "123"
字符串
<?php
$mem=memcache_connect('127.0.0.1',11211);
$str="123";
$mem->set('str',$str,0,0);
$value=$mem->get('str');
halt($value);
//结果
string "123"
布尔
<?php
$mem=memcache_connect('127.0.0.1',11211);
$true=true
$mem->set('true',$true,0,0);
$value=$mem->get('true');
halt($value);
//结果
string "1"
布尔值是真,隐式转化1
//返回假的情况
string ""
返回的是空字符串
非标量类型
数组
<?php
$mem=memcache_connect('127.0.0.1',11211);
$str=[1,2,3,4];
$mem->set('str',$str,0,0);
$value=$mem->get('str');
halt($value);
// 浏览器返回结果
array [1,2,3,4]
//服务器数据
//get arr
//value arr 1 46
序列化与反序列化:
PHP在存储数据的时候,通过php_memcache.dll扩展实现的序列化。在反序列化的时候,也是我们的扩展帮助我们实现的序列化。
对象
<?php
class A{
private $name='chen';
function getName(){
return $this->name;
}
}
$mem=memcache_connect('127.0.0.1',11211);
$obj=new A();
$mem->set('obj',$obj,0,0),;
$value=$mem->get('obj');
halt($value);
echo $value->getName();
?>
//结果:
obj...
对象在存储的时候,也是会被序列化的。同样也是和数组是一样的。是在扩展端实现的序列化与反序列化。
NULL
返回结果是null
资源类型
同样也是在序列化之后存储到服务器的。取出来之后也实现了反序列化。但是这样值不再可用了。因为资源类型被序列化的时候,不能被完整描述。
php链接memcache操作的更多相关文章
- memcache 操作类
<?php /** * memcache 操作实现 * @author timeless */ class Memcache_manage { //CI原始的信息 private $_ci; p ...
- jmeter链接数据库操作
jmeter链接数据库操作步骤 首先要先下载mysql-connector-java-5.1.39-bin.jar驱动包 链接:https://pan.baidu.com/s/14F4rp4uH1hX ...
- python之redis和memcache操作
Redis 教程 Redis是一个开源(BSD许可),内存存储的数据结构服务器,可用作数据库,高速缓存和消息队列代理.Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据 ...
- ubuntun安装ssh,并远程链接服务器操作
SSH是一种以安全.加密方式连接远程主机或服务器的方法.SSH服务器接受从有SSH的客户机的连接,允许操作者象在本地一样地登录系统.你可以用SSH从远程运行shell和X程序. (1)安装SSH服务器 ...
- PHP 对 memcache操作类
<span style="font-size:18px;">class myMemcache { private $memcache; /** * 一般建议这2个值做成 ...
- memcache操作实例
实例一: <?php //使用memcache类来操作 $mm = new Memcache(); $mm->addServer("192.168.70.114",11 ...
- python memcache操作-安装、连接memcache
安装memecache wget http://memcached.org/latest tar -zxvf memcached-1.x.x.tar.gz cd memcached-1.x.x ./c ...
- python+selenium链接对象操作
对于链接对象常见的操作有:单击.获取链接文字.获取链接地址等: from selenium import webdriverfrom time import sleep driver = webdri ...
- java链接并操作数据库
链接准备 MySQL数据库驱动(连接器).mysql-connector-java-x.x.xx.jar会在MySQL安装时提供,若Mysql是默认安装路径,则连接器在:C:\Program File ...
随机推荐
- Spring中xml文档的schema约束
最开始使用Spring框架的时候,对于其配置文件xml,只是网上得知其使用方法,而不明其意.最近想着寻根问底的探究一下.以下是本文主要内容: 1.配置文件示例. <?xml version= ...
- 有关详细信息, 请使用 -Xlint:unchecked 重新编译。
这是在复制代码的时候,没有修改路径,但是IDEA没有报错,还会爆出 WARN ework.web.servlet.PageNotFound - No mapping found for HTTP re ...
- 微信小程序打开PDF
具体情况是:微信小程序打开springboot返回的pdf文件.微信端先downloadFile,然后openDocument.但是打开文档一直不成功.后来发现官网的例子没有加fileType,我在参 ...
- 网络教程(8)IP协议
两台计算机间不是直接连接的,所以不能使用PPP协议,那么它们是怎么链接的呢? host A想把信息传给host B ethernet帧中的目标mac地址传到SFO后开始使用PPP协议 [Media ...
- ApacheBench 测试性能并使用 GnuPlot 绘制图表
转自:http://blog.csdn.net/fdipzone/article/details/18827069 ApacheBench 测试性能并使用 GnuPlot 绘制图表 Apache Be ...
- nyoj27-水池数目【DFS】
题目描述: 南阳理工学院校园里有一些小河和一些湖泊,现在,我们把它们通一看成水池,假设有一张我们学校的某处的地图,这个地图上仅标识了此处是否是水池,现在,你的任务来了,请用计算机算出该地图中共有几个水 ...
- 【Codeforces Round #502 (in memory of Leopoldo Taravilse, Div. 1 + Div. 2) D】The Wu
[链接] 我是链接,点我呀:) [题意] 给你n个字符串放在multiset中. 这些字符串都是长度为m的01串. 然后给你q个询问 s,k 问你set中存在多少个字符串t 使得∑(t[i]==s[i ...
- Spring学习总结(19)——Spring概念详解
Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson创建.简单来说,Spring是一个分层的JavaSE/EEfull-stack(一 ...
- Git学习总结(11)——Git撤销操作详解
本文主要讨论和撤销有关的 git 操作.目的是让读者在遇到关于撤销问题时能够方便迅速对照执行解决问题,而不用去翻阅参数繁多的 git 使用说明. 一开始你只需了解大致功能即可,不必记住所有命令和具体参 ...
- 计算机网络系统--TCP/IP OSI模型