第二百九十三,Memcached缓存

Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态、数据库驱动网站的速度。Memcached基于一个存储键/值对的hashmap。其守护进程(daemon )是用C写的,但是客户端可以用任何语言来编写,并通过memcached协议与守护进程通信。

Memcached安装和基本使用

Window下memcached安装与测试步骤

下载好软件包memcached-1.4.20版本

安装步骤
1、解压到指定目录,如:E:\memcached
2、用cmd打开命令窗口,转到解压的目录,输入 “memcached -d install”如下图:

查看是否安装成功,输入memcached –h,出现下图窗口说明已经安装成功。

默认命令说明
-p 监听的端口
-l 连接的IP地址, 默认是本机
-d start 启动memcached服务
-d restart 重起memcached服务
-d stop|shutdown 关闭正在运行的memcached服务
-d install 安装memcached服务
-d uninstall 卸载memcached服
-u 以的身份运行 (仅在以root运行的时候有效
-m 最大内存使用,单位MB。默认64M
-M 内存耗尽时返回错误,而不是删除
-c 最大同时连接数,默认是102
-f 块大小增长因子,默认是1.2
-n 最小分配空间,key+value+flags默认是4
-h 显示帮助

linux安装memcached

wget http://memcached.org/latest
tar -zxvf memcached-1.x.x.tar.gz
cd memcached-1.x.x
./configure && make && make test && sudo make install

PS:依赖libevent
       yum install libevent-devel
       apt-get install libevent-dev

Memcached命令

存储命令: set/add/replace/append/prepend/cas
获取命令: get/gets
其他命令: delete/stats..

Python操作Memcached

安装API模块python-memcached

python-memcached属于第三方模块需要安装

安装好后,在命令终端启动memcached并且配置python-memcached连接参数ip端口连接数内存大小等信息

memcached -d -m 10    -u root -l 127.0.0.1 -p 12000 -c 256 -P /tmp/memcached.pid     #配置连接
memcached -d -m 10    -u root -l 服务器ip -p 端口 -c 256 -P /tmp/memcached.pid       #配置连接说明

参数说明:
    -d 是启动一个守护进程
    -m 是分配给Memcache使用的内存数量,单位是MB
    -u 是运行Memcache的用户
    -l 是监听的服务器IP地址
    -p 是设置Memcache监听的端口,最好是1024以上的端口
    -c 选项是最大运行的并发连接数,默认是1024,按照你服务器的负载量来设定
    -P 是设置保存Memcache的pid文件

第一次操作

Client([ip:端口])创建memcache对象,配置连接memcache信息

set()通过memcache向内存写入键值对,字符串
使用方式:memcache对象.set("键","值")

get()通过memcache在内存里读取写入的键值对
使用方式:memcache对象.get(‘键‘)

#!/usr/bin/env python
# -*- coding:utf-8 -*-

import memcache             #导入操作memcached软件控制模块

mc = memcache.Client([‘127.0.0.1:12000‘], debug=True)  #debug = True 表示运行出现错误时,显示错误信息,上线后移除该参数。
mc.set("foo", "bar3333")
ret = mc.get(‘foo‘)
print(ret)
#输出:bar3333
时间: 2024-10-29 00:50:37

第二百九十三,Memcached缓存的相关文章

第二百九十七节,python操作redis缓存-List类型,可以理解为列表

python操作redis缓存-List类型,可以理解为列表 List操作,redis中的List在在内存中按照一个name对应一个List来存储.如图:

第二百六十三也,Tornado框架-基于正则的动态路由映射分页

Tornado框架-基于正则的动态路由映射分页 分页基本显示数据 第一步.设置正则路由映射配置,(r"/index/(?P<page>\d*)", index.indexHandler),正则匹配访问路径,访问录index/后面可以是可以是0个或多个数字第二步.配置逻辑处理方法,get()方法里显示对应的页面,并传值一个SHUJU全局变量列表到html模板,这个全局变量列表里是字典显示的数据第三步.在html模板里用模板语言,循环这个列表里的字典,显示到表格里第四步.设置用

第二百三十三天 how can I 坚持

刚才看了场球,亚冠恒大和迪拜阿尔阿赫利,1:0,刚打开电脑就看到了进球,还是很幸运的. 在家待了一天,阴天,预报明天又中到大雪 啊,下吧.好希望下场大雪啊. 最近一直感觉好累,写代码不容易啊 ,还是因为是上周爬上爬的没有休息过来. 睡觉. 期待明天的大雪.

上班的第四百九十三天

今天把合服技术总结完之后,就一直处于无所事事的状态了,觉得自己很不应该.所以我就马上想起早上在地铁看到的<魔龙与勇士>的广告,果断下了一个来玩. 玩了几个小时,真心不得不赞扬一下腾讯在游戏方面的实力,实在是设计得很好.把<雷神战机>的游戏模式更改为可以手动控制的动作型游戏,其余的通过之类的.升级装备的模式就全部挪过来,真心觉得"成功是可以复制的"这句话用得好贴切. 一边玩一边想他们的服务器是怎么设计的,说实话,我实在看不出他们的服务器和我们的服务器架构有什么区别

第二百九十一节,RabbitMQ多设备消息队列

RabbitMQ多设备消息队列-安装与简介 RabbitMQ简介 解释RabbitMQ,就不得不提到AMQP(Advanced Message Queuing Protocol)协议. AMQP协议是一种基于网络的消息传输协议,它能够在应用或组织之间提供可靠的消息传输.RabbitMQ是该AMQP协议的一种实现,利用它,可以将消息安全可靠的从发 送方传输到接收方.简单的说,就是消息发送方利用RabbitMQ将信息安全的传递给接收方. RabbitMQ是一个在AMQP基础上完整的,可复用的企业消息

NeHe OpenGL教程 第二十九课:Blt函数

转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线教程的编写,以及yarn的翻译整理表示感谢. NeHe OpenGL第二十九课:Blt函数 Blitter 函数: 类似于DirectDraw的blit函数,过时的技术,我们有实现了它.它非常的简单,就是把一块纹理贴到另一块纹理上. 这篇文章是有Andreas Lffler所写的,它写了一份原始的教

Python开发【第二十篇】:缓存

Python开发[第二十篇]:缓存redis&Memcache 点击这里 Python之路[第九篇]:Python操作 RabbitMQ.Redis.Memcache.SQLAlchemy Memcached Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载.它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态.数据库驱动网站的速度.Memcached基于一个存储键/值对的hashmap.其守护进程(daemon )是用C写的,但是客户端可

清除memcached缓存数据的方式

第一.连接:telnet 127.0.0.1 11211 第二.按回车键 第三.flush_all 后回车 控制台显示OK,表示操作成功 说明: 1.清空所有键值 flush_all 注:flush并不会将items删除,只是将所有的items标记为expired,因此这时memcache依旧占用所有内存. 2.退出 quit 清除memcached缓存数据的方式

Linux下搭建Memcached缓存系统

首先说下抱歉,博主最近单位经常加班,博客更新有点慢,希望大家理解,草稿箱里存了不少内容,等不忙时候一点点填坑~ 在一般的网站开发学习时候,都会把数据存放在RDBMS(关系型数据库系统(Relational Database Management System)中,服务器程序通过读取RDBMS来取得数据显示在页面上.这在我们以往编写练习项目时候,是没有任何问题的.根据木桶理论,一只水桶能装多少水取决于它最短的那块木板,在实际的网站开发中,随着数据量的增大,访问的集中,就会出现RDBMS的负担加重.