PHP的Memcached简单实现
Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态、数据库驱动网站的速度。也可动态缓存一些实时数据。
memcached服务器安全的问题,其本身是没有安全认证的,所以数据安全方面可以考虑只进行内网访问、监听IP、修改默认端口等方法。
笔者使用win10环境简单演示和使用。
安装:
http://downloads.northscale.com/memcached-win64-1.4.4-14.zip
默认端口为:11211
以管理员身份运行cmd:
安装:压缩包解压后保存路径\memcached.exe -d install
卸载:压缩包解压后保存路径\memcached.exe -d uninstall
启动服务:压缩包解压后保存路径\memcached.exe -d start
停止服务:压缩包解压后保存路径\memcached.exe -d stop
查看帮助:压缩包解压后保存路径\memcached.exe -h
命令行基本测试:
连接服务器:telnet localhost 11211
//不可输入中文
查看状态:stats
添加数据:add dong 33 0 10 //dong为键,33为随意标记,0为永久保存,其他为x秒,10为10个字节
替换数据:set
获取数据:get dong //dong 为键
删除数据:delete dong //dong为键
删除所有:flush_all
错误信息:
ERROR:普通错误信息,如指令错误
CLIENT_ERROR : 客户端错误
SERVER_ERROR : 服务器错误
PHP基本操作:
打开扩展:
如果thinkPHP需要使用,则新建对象时需要:
//创建连接对象
$men=new \Memcache;
代码基本操作
//创建连接对象
$men=new Memcache;
//连接服务器
$men->connect("localhost","11211"); //添加
//返回bool
// MEMCACHE_COMPRESSED 压缩保存
//0为永久,其他值为秒,不能超过30天的秒数,如果要超过30天则需要用当前时间戳(time())+xxx秒
$men->add("dxd","dongxiaodong",MEMCACHE_COMPRESSED,0);
//添加数组数据
$men->add("arr",array("11","222","yyy"),MEMCACHE_COMPRESSED,0);
//修改
//返回bool
$men->set("dd",iconv("utf-8","gbk","东小东"),MEMCACHE_COMPRESSED,0);
//取值
echo $men->get("dxd");
//多个值一起取
print_r($men->get(array("dxd","dd")));
//获取存入的数组
print_r($men->get("arr"));
//删除某个,0为立即删除,其它为等待xx秒删除
$men->delete("arr",3);
//清空所有
$men->flush(); //关闭连接
$men->close();
分布式简单实现:
//创建连接对象
$men=new Memcache; //连接服务器
//多服务器,数据存取与普通一样
$men->addserver("localhost",11211);
$men->addserver("192.168.4.30",11211);
PHP的Memcached简单实现的更多相关文章
- Memcached简单介绍
Memcached简单介绍 简介:Memcached是一个自由开源的,高性能,分布式内存对象缓存系统.================================================= ...
- Memcached 简单利用和简单了解(Mac的安装和使用)
Memcached 是一种用于分布式应用的一种缓存机制.应用也比较广泛.这里来学习一下. 首先Memcached 是分布式网站架构都需要用到的缓存机制.缓存就是服务器利用多余的空间上开辟了一个储存空间 ...
- memcached简单介绍及在django中的使用
什么是memcached? Memcached是一个高性能的分布式的内存对象缓存系统,全世界有不少公司采用这个缓存项目来构建大负载的网站,来分担数据库的压力.Memcached是通过在内存里维护一个统 ...
- centos7下安装php+memcached简单记录
1)centos7下安装php 需要再添加一个yum源来安装php-fpm,可以使用webtatic(这个yum源对国内网络来说恐怕有些慢,当然你也可以选择其它的yum源) [root@nextclo ...
- Redis与Memcached简单对比(转)
很多开发者都认为Redis不可能比Memcached快,Memcached完全基于内存,而Redis具有持久化保存特性,即使是异步的,Redis也不可能比Memcached快.但是测试结果基本是Red ...
- PHP 使用memcached简单示例分享
1.添加扩展包 代码如下: php_memcache.dll 2.在PHP.INI添加 代码如下: extension=php_memcache.dll 3.程序 代码如下: < ?php / ...
- Memcached和Redis简介
前言: 目前比较流行的缓存技术无疑是Memcached和Redis,两套缓存技术有着诸多的相似之处,但又具备大量的显著差异,作为新生的方案,Redis被视为首选,但是有些场景Memcached发挥的作 ...
- 谈谈在.NET Core中使用Redis和Memcached的序列化问题
前言 在使用分布式缓存的时候,都不可避免的要做这样一步操作,将数据序列化后再存储到缓存中去. 序列化这一操作,或许是显式的,或许是隐式的,这个取决于使用的package是否有帮我们做这样一件事. 本文 ...
- Memcached未授权访问
概念 memcached是一个内存中的键值存储区,用于存储来自数据库调用.API调用或页面呈现结果的任意小数据块(字符串.对象).memcached简单但功能强大.其简单的设计促进了快速部署.易于开发 ...
随机推荐
- Redis 常用命令总结
连接操作相关的命令 quit:关闭连接(connection) auth:简单密码认证 持久化 save:将数据同步保存到磁盘 bgsave:将数据异步保存到磁盘 lastsave:返回上次成功将数据 ...
- react-native中显示手机本地图片/视频
已知文件路径'/data/user/0/com.ycdj/files/media/218787782/efa1d12f22d2/1235.jpg' 只需在路径前面拼上file:///即可,如: < ...
- docker配置nginx做反向代理管理tomcat应用
由于业务开始复杂,单一tomcat已经不足以满足业务需求,多tomcat部署起来不方便而且面临域名解析问题,因此开始增加反向代理,由于docker的易用性,便使用docker管理各个应用. docke ...
- FlaskWeb开发:基于Python的Web应用开发实战
所属网站分类: 资源下载 > python电子书 作者:熊猫烧香 链接:http://www.pythonheidong.com/blog/article/63/ 来源:python黑洞网,专注 ...
- 使用python将数据写入excel
先来个简单的例子: #!/usr/bin/python #coding=utf-8 # ======================================================== ...
- Windows 运行命令大全,装逼必备哦!
以下已整理,以字母先后排序: appwiz.cpl:程序和功能 cliconfg:SQL SERVER 客户端网络实用工具 cmd:CMD命令提示符 comexp.msc或者dcomcnfg:组件服务 ...
- 升级android studio 3.4需要注意n事项
1.在AS版本升级前建议关闭AS代理,以及关闭本地的一些代理工具,不然点击更新的时候会提示Connection failed (Read timed out). Please check networ ...
- Linux-共享内存通信
Linux共享存储通信 内容 创建共享存储区实现进程通信 机理说明 共享存储区(Share Memory)是Linux系统中通信速度最高的通信机制.该机制中共享内存空间和进程的虚地址空间满足多对多的关 ...
- LNMP环境并发优化
LNMP环境并发优化 服务器 8核32Gx3 如图是一条http请求的生命周期,共经过nginx,php-fpm,PHP三个模块 所以我们可以从nginx,php-fpm,PHP三个维度去优化 一.p ...
- 源自于NEO的KeyValue 数据库面世啦
虽然想把标题取得大一点,但终究不是什么太大不了的工作,还是安分守己的开始介绍吧. 项目组成 这个项目叫做LightDB 由三个部分构成 Lightdb.lib 是对rocksdb做了一层封装, ...