`

Python memcache 上传数据

阅读更多
安装

Linux
sudo apt-get install memcached
sudo yum install memcached


启动Memcached
-d 选项是启动一个守护进程
-m 是分配给Memcache使用的内存数量,单位是MB,默认64MB
-M return error on memory exhausted (rather than removing items)
-u 是运行Memcache的用户,如果当前为root 的话,需要使用此参数指定用户
-l 是监听的服务器IP地址,默认为所有网卡
-p 是设置Memcache的TCP监听的端口,最好是1024以上的端口
-c 选项是最大运行的并发连接数,默认是1024
-P 是设置保存Memcache的pid文件
-f chunk size growth factor (default: 1.25)
-I Override the size of each slab page. Adjusts max item size(1.4.2版本新增)


例子
/usr/local/memcached/bin/memcached -d -m 100 -c 1000 -u root -p 11211

可以启动多个守护进程,但是端口不能重复。 设置开机启动的话可以将上行命令增加到/etc/rc.d/rc.local文件中。


Windows


下载memcache的windows稳定版 http://splinedancer.com/memcached-win32/
解压放某个盘下面,比如在c:\memcached
在终端(也即cmd命令界面)cd到解压目录(这里是c:\memcached),运行 memcached.exe -d install 安装服务
运行memcached.exe -d start,memcached会使用默认的端口(11211)来启动,你可以在任务管理器中看到memcached.exe



Python 操作 Memcached

memcached API地址 http://code.google.com/p/memcached/wiki/Clients

网上流传说Python-API中效率最高的是python-libmemcached,这里居然看到了hongqn(豆瓣首席架构师,后来也得到证实python-libmemcached是豆瓣贡献,看来豆瓣的阳光真的是撒满了Python的各个角落)。

另外还有python-memcached(100%纯Python),python-memcache(据说有内存泄漏问题?),cmemcache(代码多年未更新?)。

不过由于目前需要中效率并没有太高要求,于是选择了使用最多的python-memcached: 安装 python-memcached

sudo easy_install python-memcached



Python操作memcached

import memcache
mc = memcache.Client(['127.0.0.1:11211'],debug=True)
mc.set('name','luo',60)
print mc.get('name')
mc.delete('name')


Memcached常用方法

memcache其实是一个map结构,最常用的几个函数:

保存数据

set(key,value,timeout) 把key映射到value,timeout指的是什么时候这个映射失效
add(key,value,timeout)  仅当存储空间中不存在键相同的数据时才保存
replace(key,value,timeout) 仅当存储空间中存在键相同的数据时才保存


获取数据

get(key) 返回key所指向的value
get_multi(key1,key2,key3,key4) 可以非同步地同时取得多个键值, 比循环调用get快数十倍



删除数据

delete(key, timeout) 删除键为key的数据,timeout为时间值,禁止在timeout时间内名为key的键保存新数据(set函数无效)。


下面有成功的事例 可以自己测试

祝你成功
分享到:
评论

相关推荐

    SAE的Python博客_Python_HTML_下载.zip

    Python通常用于处理服务器端逻辑,如数据处理、用户认证等,而HTML则用于构建网页结构和内容。 文件名“blog-master”通常代表这是一个Git仓库的主分支,其中可能包含了整个博客项目的源代码。在Git中,"master"是...

    GoogleAppEngine-appengine-python-sdk-1.9.24

    2. **Memcache**: 提供内存级别的缓存服务,用于提高应用程序性能。 3. **Task Queues**: 用于处理后台任务和异步操作,确保任务按顺序执行。 4. **Mail Service**: 支持发送电子邮件,方便应用与用户沟通。 5. **...

    CentOS 7 使用seafile创建个人云

    接下来,确保你的系统已经安装了必要的依赖,包括Python 2.7及以上的版本,以及Python-setuptools、Python-imaging、Python-mysqldb、Python-ldap、Python-urllib3和Python-memcache。在CentOS 7上,可以使用yum命令...

    云端代码Google App Engine编程指南

    展示如何在Cloud Datastore中创建、查询和更新数据,以及如何使用Memcache优化性能。 3. **任务队列应用** 创建一个后台任务队列,用于定时执行任务,如发送电子邮件或执行数据分析。 4. **扩展性测试** 通过...

    软件在线升级程序

    在Linux下实现软件在线升级,可以利用其强大的命令行工具、脚本语言(如bash、Python)和系统调用来完成文件的上传、下载、解压、替换等操作。此外,Linux的权限管理系统也保证了软件更新过程的安全性。 再者,...

    离线 google app engine 文档

    4. **Memcache**:提供高速缓存服务,可以存储应用程序中的临时数据,提高性能。 5. **Static Files**:支持静态资源,如 HTML、CSS、JavaScript 文件,可以直接由 GAE 服务器提供,无需经过应用程序代码。 二、...

    google_appengine_1.9.50.zip

    5. **集成服务**:如 Memcache、Task Queue、Mail API 和 URL Fetch 等,方便开发者实现缓存、任务调度、邮件发送和网络请求等功能。 6. **多语言支持**:除了 Python,还支持 Java、Go 和 PHP,让开发者可以选择最...

    pgae-examples:Dan Sanderson 所著的“Google App Engine 编程”书籍随附的即用型示例

    在 GAE 上,Python 应用通常使用标准库,例如 `webapp2` 框架来处理 HTTP 请求,`ndb` 用于数据存储,以及 `memcache` 实现缓存功能。 **Java 在 GAE 上的应用** 虽然标题中提到的是 Python 示例,但 GAE 同样支持...

    Google Application Engine

    开发者只需上传应用程序和相关资源,谷歌负责处理负载均衡、自动扩展、数据存储等后端工作。 **2. 自动化部署与管理** 在GAE上,你可以轻松地部署和管理应用程序。通过使用谷歌的Cloud Console或命令行工具,开发者...

    google app engine开发人员文档

    这个平台支持多种编程语言,包括Python、Java、Go和PHP,为开发者提供了强大的服务,如数据存储、任务队列、电子邮件服务、身份验证等。 在“Google App Engine入门”中,你会学习到如何创建你的第一个GAE应用。这...

    Google App Engine 开发人员指南.pdf

    - **上传应用程序**:使用 `appcfg.py` 工具将应用部署到生产环境。 - **管理控制台**:提供图形界面监控应用状态,包括流量统计、日志查看等功能。 #### 六、安全沙盒环境 - **限制访问权限**:应用只能通过提供...

    cacti模板四:memcached监控模板

    通常,这可以通过Cacti的Web界面完成,选择“管理”>“数据输入方法”>“导入”,然后上传XML文件。 2. **安装脚本**:`memcached.py`是一个Python脚本,负责从memcached服务器收集数据。确保你的Cacti服务器上已经...

    java岗位求职简历-黑金风格(带项目经历内容).docx

    - 中信银行基金管理系统:利用Canal同步数据到Elasticsearch,使用Memcache和Redis进行缓存优化,提高查询性能。通过接口拆分和多线程处理优化业务逻辑,确保快速响应。 综上所述,这位求职者具备扎实的Java开发...

    weibo_PicWall:新浪微博的图片墙

    1.在sae上新建python应用,并开启MySQL和Memcache服务 2.上传以上代码至sae,在MySQL控制页面中将install.sql导入数据库 3.进入后台管理页面 xxx.sinaapp.com/admin,账户/密码:/111 4.点击 站点管理->站点基本设置...

    王纯建-web开发-简历1

    他还使用【Nodejs】建立了个人博客,采用【hexo】框架,表明他对【Nodejs】、【Python】、【.NET】和【Java】等后端语言有一定的熟悉度,能够处理数据展示和操作。对于这些语言,他还提及了各自的模板引擎,如【Jade...

    GoogleAppEngine api 手册

    - **Memcache**:提供高速缓存服务,可用于减轻 Datastore 的负载,提高性能。 - **Email**:发送电子邮件的功能,支持 SMTP 协议。 - **Blobstore**:用于存储大文件,如图片和视频,提供上传和下载接口。 **3. ...

    DzxSae2.0.zip

    - **缓存策略**:可能调整了缓存机制,利用SAE的Memcache服务,提高数据读取效率。 - **代码优化**:针对SAE的特性进行了代码优化,减少不必要的计算和资源消耗。 4. **核心文件解析** - **favicon.ico**:网站...

    appengine-java-sdk-1.9.24

    - **API 库**:提供对 GAE 服务的访问,例如 Datastore(NoSQL 数据库)、Memcache(缓存服务)、Task Queue(任务队列)和 Mail API(邮件服务)等。 - **JDO(Java Data Objects)和 JPA(Java Persistence API)*...

    sina云平台 sae springmvc框架

    它简化了开发过程,提供了诸如依赖注入、数据验证、国际化、异常处理等功能,使得代码更易于测试和维护。在SAE上使用Spring MVC,开发者可以充分利用其强大的功能来构建高性能、可扩展的应用。 3. **在SAE上部署...

Global site tag (gtag.js) - Google Analytics