memcached操作

add

往内存增加一行新记录
语法: add key flag expire length 回车

1:编译 memcached 时,指定一个最长常量,默认是 30天.
所以,即使设为 0,30天后也会失效.
2:可能等不到 30天,就会被新数据挤出去.

add color 0 10 3

red

delete
delete key [time seconds]
删除指定的 key. 如加可选参数 time,则指删除 key,并在删除 key 后的 time 秒内,不允许
get,add,replace操作此 key.

delete color

replace

替换
replace key flag expire length
参数和 add完全一样,不单独写

get

查询
get key
返回 key 的值

set

设置和修改值
参数和 add ,replace 一样,但功能不一样.

而 set 想当于有 add replace 两者的功能.
set key flag expire leng 时
如果服务器无此键 ----> 增加的效果
如果服务器有此键 ----> 修改的效果.

如下图的演示,该图中,name 是已经存在,而 date 原本不存在. set 都可以成功设置他们.

incr ,decr

命令:增加/减少值的大小
incr/decr key num

incr age 1

注意:incr,decr 操作是把值理解为 32 位无符号来+-操作的. 值在[0-2^32-1]范围内

查看memcached运行状态

stat pid 2296 进程号stat uptime 4237 持续运行时间stat time 1370054990stat version 1.2.6stat pointer_size 32stat curr_items 4 当前存储的键个数stat total_items 13stat bytes 236stat curr_connections 3stat total_connections 4stat connection_structures 4stat cmd_get 20stat cmd_set 16stat get_hits 13stat get_misses 7 // 这 2个参数 可以算出命中率stat evictions 0stat bytes_read 764stat bytes_written 618stat limit_maxbytes 67108864stat threads 1end缓存有一个重要的概念: 命中率.命中率是指: (查询到数据的次数/查询总数)*100%如上, 13/(13+7) = 60+% , 的命中

flush_all 清空所有的存储对象,慎用

编译memcached的php扩展

[[email protected] src]# wget http://pecl.php.net/get/memcache-2.2.7.tgz

[[email protected] src]# cd memcache-2.2.7

运行下面这个命令可以生成可执行脚本:

[[email protected] memcache-2.2.7]# /usr/local/php/bin/phpize

[[email protected] memcache-2.2.7]# ./configure --with-php-config=/usr/local/php/bin/php-config

[[email protected] memcache-2.2.7]# make && make install

安装memcache扩展成功!

配置memcache:

找到php.ini的存放目录

[[email protected] memcache-2.2.7]# vim /etc/php/php.ini

安装memecache扩展成功

安装php扩展,总结一下,就是:

1:  到pecl.php.net    去寻找扩展源码并下载解压
2:切换到解压?录
3:运?path/php/bin/phpize命令,动态创建编译选项脚本?件;
4:make    &&    make    install    编译安装
5:编译成功后,会?成.so?件,在php.ini中引?
6:重启PHP

小试一下:

$mem = new Memcache;
$mem->connect(‘localhost‘, 11211);
$new = $mem->get(‘new‘);
if(!$var){
    $new = ‘ceshishuju‘;
    $mem->add(‘new‘,$new,false,10);
    echo ‘mysql‘;
}else{
    echo ‘cache‘;
}

<?php

$memcache= new Memcache;
$sql = ‘select goods_id,goods_name from ecs_goods where is_hot=1 limit
5‘;
// 判断 memcached 中是否缓存热门商品,如果没有,则查询数据库
$hot = array();
if( !($hot=$memcache->get($sql)) ) {
$hot = $mysql->getAll($sql);
echo ‘<font color="red">查询自数据库</font>‘;
//从数据库取得数据后,把数据写入 memcached
$memcache->add($sql,$hot,0,300); // 并设置有效期 300 秒
} else {
echo ‘<font color="red">查询自 memcached</font>‘;
}
?>

时间: 2024-10-24 03:17:28

memcached操作的相关文章

CentOS7下安装Mysql和Memcached 以及 使用C#操作Mysql和Memcached

我本身是学.net的,但是现在很多主流SQL和NOSQL都是部置在linux下,本着好学的精神,前段时间装了个虚拟机,在其装上CentOS64位的服务器系统,对于英文0基础,linux0基础的我来说,过程是相当痛苦的,这里我就不分享了.下面分享一下在这个系统下安装Mysql和Memcached的过程. 安装Mysql 1.Centos 7 默认已不支持mysql ,而是带有MariaDB数据库管理系统(MySQL的一个分支),若要装mysql,最好先将MariaDB卸载 rpm -qa | gr

Python操作Memcached使用Python-memcached模块

安装Python的memcached驱动模块 pip install python-memcached 简单的操作示例: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 #!/usr/bin/env python3 #coding:utf8 import memcache #链接 mc = memcache.Client(['139.129.5.191:12000'], debug=True) #插入 mc.set("name", "python&qu

Memcached实现Session共享

一.memcached安装 1. memcached安装和启动.查看进程 安装扩展源 yum install -y epel-release 安装软件.组件.工具包 yum install -y libevent memcached libmemcached 启动 /etc/init.d/memcached start 进程 ps aux |grep memcached 解释: -d  启动一个守护进程 -p  监听的端口,默认11211 -u  运行memcached用户 -m 内存大小,单位

11 Python操作缓存之Memcache

1. 缓存系统 安装软件 程序:安装其对应的模块 本质:通过socket连接 2. mem特点 数据类型:k -> "value" 天生集群 基本操作 gets,cas(熟练掌握) 3. Windows安装python-memcached python35 -m pip3 install python-memcached 4. Memcached第一次操作 # 导入memcache模块 import memcache mc = memcache.Client(['192.168.

[转]Memcached应用总结

摘要 memcached是一款高性能的分布式缓存系统,凭借其简单方便的操作,稳定可靠的性能广泛应用于互联网应用中,这篇文章里,我主要去总结一些常见应用场景问题以及解决办法. 目录[-] 1. 缓存的存储设计 2. 缓存更新策略 3. 批量删除(或更新)问题 4. 故障转移和扩容的问题 5. 与优化有关的一些小细节 memcached是一款高性能的分布式缓存系统,凭借其简单方便的操作,稳定可靠的性能广泛应用于互联网应用中,网上关于memcached介绍的资料也很多,最经典的资料就是<memcach

Memcached应用总结

来自   http://my.oschina.net/u/142836/blog/171196 memcached是一款高性能的分布式缓存系统,凭借其简单方便的操作,稳定可靠的性能广泛应用于互联网应用中,网上关于memcached介绍的资料也很多,最经典的资料就是<memcached全面剖析>这个文档,原文链接:http://gihyo.jp/dev/feature/01/memcached/0001,中文翻译网上很多:http://tech.idv2.com/2008/08/17/memca

Memcached理解笔2---XMemcached&amp;Spring集成

一.Memcached Client简要介绍 Memcached Client目前有3种: Memcached Client for Java SpyMemcached XMemcached 这三种Client一直存在各种争议: Memcached Client for Java 比 SpyMemcached更稳定.更早.更广泛: SpyMemcached 比 Memcached Client for Java更高效: XMemcached 比 SpyMemcache并发效果更好. 用数据来说话

Memcached笔记——(二)XMemcached&amp;Spring集成

今天研究Memcached的Java的Client,使用XMemcached 1.3.5,做个简单的测试,并介绍如何与Spring集成. 相关链接: Memcached笔记——(一)安装&常规错误&监控Memcached笔记——(二)XMemcached&Spring集成 Memcached笔记——(三)Memcached使用总结 Memcached笔记——(四)应对高并发攻击  一.Memcached Client简要介绍 Memcached Client目前有3种: Memca

Python Memcached Script

介绍 利用 python 书写了 memcached 的启动等一类操作 尽量的实现脚本的复用性,以及脚本的可扩展性,已达到一劳永逸的效果, 并且添加了 memcached 监控搭建 memcached 操作代码 #!/usr/bin/env python # _*_coding:utf-8_*_ # Author: "Edward.Liu" # Author-Email: [email protected] import psutil import argparse import sy