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简单实现的更多相关文章

  1. Memcached简单介绍

    Memcached简单介绍 简介:Memcached是一个自由开源的,高性能,分布式内存对象缓存系统.================================================= ...

  2. Memcached 简单利用和简单了解(Mac的安装和使用)

    Memcached 是一种用于分布式应用的一种缓存机制.应用也比较广泛.这里来学习一下. 首先Memcached 是分布式网站架构都需要用到的缓存机制.缓存就是服务器利用多余的空间上开辟了一个储存空间 ...

  3. memcached简单介绍及在django中的使用

    什么是memcached? Memcached是一个高性能的分布式的内存对象缓存系统,全世界有不少公司采用这个缓存项目来构建大负载的网站,来分担数据库的压力.Memcached是通过在内存里维护一个统 ...

  4. centos7下安装php+memcached简单记录

    1)centos7下安装php 需要再添加一个yum源来安装php-fpm,可以使用webtatic(这个yum源对国内网络来说恐怕有些慢,当然你也可以选择其它的yum源) [root@nextclo ...

  5. Redis与Memcached简单对比(转)

    很多开发者都认为Redis不可能比Memcached快,Memcached完全基于内存,而Redis具有持久化保存特性,即使是异步的,Redis也不可能比Memcached快.但是测试结果基本是Red ...

  6. PHP 使用memcached简单示例分享

    1.添加扩展包 代码如下: php_memcache.dll 2.在PHP.INI添加  代码如下: extension=php_memcache.dll 3.程序 代码如下: < ?php / ...

  7. Memcached和Redis简介

    前言: 目前比较流行的缓存技术无疑是Memcached和Redis,两套缓存技术有着诸多的相似之处,但又具备大量的显著差异,作为新生的方案,Redis被视为首选,但是有些场景Memcached发挥的作 ...

  8. 谈谈在.NET Core中使用Redis和Memcached的序列化问题

    前言 在使用分布式缓存的时候,都不可避免的要做这样一步操作,将数据序列化后再存储到缓存中去. 序列化这一操作,或许是显式的,或许是隐式的,这个取决于使用的package是否有帮我们做这样一件事. 本文 ...

  9. Memcached未授权访问

    概念 memcached是一个内存中的键值存储区,用于存储来自数据库调用.API调用或页面呈现结果的任意小数据块(字符串.对象).memcached简单但功能强大.其简单的设计促进了快速部署.易于开发 ...

随机推荐

  1. 常见SMTP发送失败原因列表

    SmtpException:无法读取从传输连接数据:net_io_connectionclosed(SmtpException: Unable to read data from the transp ...

  2. macOS10.13.2配置TensorFlow

    安装Python python3是通过Homebrew安装的,默认安装的是3.7.0版本,但TensorFlow目前只能在3.4,3.5,3.6上安装,因此首先需要安装3.6版本的python. 首先 ...

  3. Nginx 文件下载 apk 文件下载不了

    通过nginx 做下载服务器 下载 apk 安装包, 出现错误502和 499. 解决办法在 nginx的  mime.types 中 来自为知笔记(Wiz)

  4. JMeter中添加dubbo相关插件异常问题解决

    从网上下载了一个dubbo的插件,然后放到JMeter的/lib/ext目录下: 然后启动直接异常 发现启动不了,然后下载了一个全新的JMeter3.2将dubbo插件放到同样的目录,启动,没有问题: ...

  5. 4.BN推导

    参考博客:https://www.cnblogs.com/guoyaohua/p/8724433.html 参考知乎:https://www.zhihu.com/question/38102762/a ...

  6. 远程服务器数据交互技术:rsync,scp,mysqldump

    远程服务器间数据文件交互,可用技术:rsync,scp 速度:rsync是非加密传输,比scp快 安全:scp为加密传输 备份体量:rsync只更新差异部分,可以做增量和全量备份.scp为全量 传输方 ...

  7. Python + Anaconda + vscode环境重装(2019.4.20)

    目录 卸载程序 安装Ananconda 检查系统环境变量 更换国内镜像源 设置VS CODE 用户配置及工作环境配置 @(Python + Anaconda + vscode环境重装) 工程目录的使用 ...

  8. 安装es6编译babel

    1.它的安装命令如下. 全局安装 :$ npm install --global babel-cli项目下安装: $ npm install -g babel-cli --save-dev 2.配置. ...

  9. 在github上面创建新的分支

    第一步:git branch 查看当前分支情况 git branch //查看当前分支情况 第二步:git branch 分支名,新建一个自己的分支 git branch 分支名 // 新建一个自己的 ...

  10. js 原生转json 可以v8中运行

    // load("D:/jsontest.js"); function test1(vvv) { print(vvv); } //把json str 转 json obj func ...