`
san_yun
  • 浏览: 2663732 次
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

memcached 简单试用

 
阅读更多

memcached是很强大的工具,因为它可以支持分布式的共享内存缓存,大站都用它,对小站点来说,只要出得起内存,这也是好东西;首页所需要的内存缓冲区大小估计不会超过10K,更何况我现在也是内存土豪了,还在乎这个?

安装:ubuntu下还是方便啊

apt-get install memcached
apt-get install python-memcached

配置运行:因为是单机没啥好配的,改改内存和端口就行了

vi /etc/memcached.conf
/etc/init.d/memcached restart

在python的网页应用中使用之

import memcache
mc = memcache.Client(['127.0.0.1:11211'], debug=0)

memcache其实就是一个map结构,最常使用的就是两个函数了:

  • 第一个就是set(key,value,timeout) ,这个很简单就是把key映射到value,timeout指的是什么时候这个映射失效
  • 第二个就是get(key) 函数,返回key所指向的value

于是对一个正常的sql查询可以这么干

sql = 'select count(*) from verycd'
c = sqlite3.connect('verycd.db').cursor()

#原来的处理方式
c.execute(sql)
count = c.fetchone()[0]

#现在的处理方式
from hashlib import md5
key=md5(sql)
count = mc.get(key)
if not count:
    c.execute(sql)
    count = c.fetchone()[0]
    mc.set(key,count,60*5) #存5分钟

其中md5是为了让key分布更均匀,其他代码很直观我就不解释了。

 

    key = None
    if custom_key:
        custom_key = str(custom_key).encode("utf-8")
        if isinstance(base_key, ModelBase):
            base_key = "%s%s%s" % (base_key.__module__, split_char, base_key.__name__)
        elif isinstance(base_key, Model):
            base_key = base_key.__class__
            base_key = "%s%s%s" % (base_key.__module__, split_char, base_key.__name__)
        else:
            base_key = str(base_key)
        to_md5 = (len(custom_key) + len(base_key)) > 250
        if not to_md5:
            for char in custom_key:
                if ord(char) < 33 or ord(char) == 127:
                    to_md5 = True
                    break
        if to_md5:
            m = hashlib.md5()
            m.update(custom_key)
            custom_key = m.hexdigest()
        key = ("%s%s%s" % (base_key, split_char, custom_key)).lower()

 

源文:http://simple-is-better.com/news/351

分享到:
评论
1 楼 san_yun 2012-08-26  
补充:不要通过配置文件修改内存和端口就行了

memcached -help

memcached -d -m 64m

相关推荐

    JAVA-memcached简单例子

    下面我们将深入探讨如何在Java项目中实现Memcached的简单应用。 1. **Memcached安装与配置** - 首先,你需要在服务器上安装Memcached。这通常通过包管理器(如Ubuntu的`apt-get`或CentOS的`yum`)完成,或者从官方...

    java使用Memcached简单教程

    ### Java使用Memcached简单教程 #### 一、简介 Memcached是一个高性能的分布式内存对象缓存系统,通过减轻数据库负载来加速动态Web应用,提高网站的浏览速度。它通过在内存中缓存数据和对象来减少读取数据库的次数...

    Memcached 简单示例

    Memcached以其轻量级、高性能和简单易用的特点,成为了很多开发者的首选。 C#中的Memcached支持通常依赖于第三方库,如Enyim.Caching或StackExchange.Redis。这些库提供了与Memcached服务器交互的API,使得开发者...

    memcached简单封装

    在开发过程中,我们常常需要对Memcached进行简单的封装,以便于在项目中更加方便地使用。封装通常包括以下几个步骤: 1. **安装和配置**:首先确保系统中已经安装了Memcached服务,并且服务运行正常。这通常涉及到...

    memcached 的简单java实例

    以下是一个简单的Java实例,演示如何使用Spymemcached连接到Memcached服务器并执行基本操作: 1. **添加依赖** 首先,你需要在项目中添加Spymemcached的依赖。如果你使用的是Maven,可以在pom.xml文件中添加以下...

    在java程序中使用memcached简单示例

    在java程序中使用memcached简单示例

    MemCached 简单配置和使用.doc

    以下是对Memcached简单配置和使用的详细说明: **第一步:引入iBOS jar包** 在使用Memcached之前,首先需要确保你的应用程序中包含了必要的库文件。将iBOS相关的jar包放入应用的lib目录下,这样你的应用程序就能...

    memcached 64位 window

    由于其简单的设计和高效的性能,Memcached在许多高流量网站和应用中被广泛应用。 **64位系统的优势** 在64位Windows系统上运行Memcached,可以支持超过4GB的内存,这在处理大量数据时非常有用。64位版本可以更有效...

    memcached安装包以及MemCachedClient

    Memcached 使用简单,可移植性强,广泛应用于多种编程语言环境。 **1. 安装 Memcached** 首先,你需要下载 Memcached 的源码包或预编译二进制包。在Unix/Linux系统中,通常通过包管理器如`apt-get`(Ubuntu/Debian...

    memcached安装软件 libevent magent memcached

    Memcached是一款高性能、分布式内存对象缓存系统,广泛应用于Web应用中,用于减轻数据库的负载。它通过在内存中存储数据来提供快速的数据访问,从而提高应用的性能。本篇文章将详细讲解如何安装和配置memcached,...

    memcached windows稳定版

    在终端(也即cmd命令界面)下输入 ‘c:\memcached\memcached.exe -d install’ 安装 3. 再输入: ‘c:\memcached\memcached.exe -d start’ 启动。NOTE: 以后memcached将作为windows的一个服务每次开机时自动启动...

    windows下memcached+memcached.dll 5.3.8

    6. **测试连接**: 安装完PHP Memcache扩展后,可以通过编写简单的PHP代码测试是否能成功连接到本地的Memcached服务。 在标签中,`php`表明这个过程与PHP编程语言相关,意味着在Web开发环境中使用Memcached来缓存PHP...

    memcached java简单实例

    **标题:“memcached java简单实例”** 在Java开发中,我们常常会遇到缓存的需求,以提高应用程序的性能。Memcached是一款高效的分布式内存对象缓存系统,它能够将数据存储在内存中,从而减少对数据库的访问。这篇...

    memcached服务器端memcached.exe 下载

    标题“memcached服务器端memcached.exe 下载”指的是获取memcached服务端的可执行文件,`memcached.exe`是Windows环境下运行memcached服务的程序。这个绿色版的memcached意味着它无需安装,下载解压后即可直接运行,...

    memcached简单实用

    **标题:“memcached简单实用”** **描述**:在IT领域,memcached是一款高效、轻量级的分布式内存对象缓存系统,常用于减轻数据库负载,提高网站性能。本资源包含在Windows环境下安装memcached所需的文件,以及Java...

    memcached简单理解

    ### Memcached简单理解 #### 一、Memcached简介 Memcached是一种高性能的分布式内存对象缓存系统,通过减轻数据库负载来加速动态Web应用程序,提升网站访问速度。它通过在内存中缓存数据和对象来减少读取数据库的...

    python-memcached python-memcached

    Python-memcached库则为Python开发者提供了一个简单易用的接口,能够方便地将数据存储和检索到Memcached服务器上。 这个库的主要功能包括: 1. **键值存储**:Python-memcached允许开发者使用键(key)和值(value...

    memcached C++客户端的最简单实现

    老大想用memcached,但是不喜欢网上的那些库...但是它绝对足够简单方便,很适合打算用memcached但又不喜欢用那些庞大复杂的开源库的同学。 用vc2010做的,其它版本可以不用我的vsproj,直接用里面三个代码文件就可以。

    memcached全面剖析.pdf

    安装和配置memcached相对简单,可以通过源码编译安装,也可以使用包管理器(如apt-get、yum等)安装预编译的包。安装完成后,可以通过命令行工具启动memcached服务。 客户端连接到memcached服务器,可以使用多种...

Global site tag (gtag.js) - Google Analytics