zoukankan      html  css  js  c++  java
  • memcached

    memcached是一个高性能的分布式内存对象缓存系统。通过在内存中缓存数据可以提高对系统的访问速度,减少对其后台的读写。memcached的守护进程是C语言编写的,但是客户端是由多种语言编写的。我们主要关注python和memcached结合。

    首先安装memcached

    yum install memcached

    安装完memcached后,也许你想做一些配置,通过下面的命令可以找到memcached的相关文件。

    [root@kramer memcached]# rpm -qa | grep memcached
    memcached-1.4.4-3.el6.x86_64
    [root@kramer memcached]# rpm -ql memcached-1.4.4-3.el6.x86_64
    /etc/rc.d/init.d/memcached
    /etc/sysconfig/memcached
    /usr/bin/memcached
    /usr/bin/memcached-tool
    /usr/share/doc/memcached-1.4.4
    /usr/share/doc/memcached-1.4.4/AUTHORS
    /usr/share/doc/memcached-1.4.4/CONTRIBUTORS
    /usr/share/doc/memcached-1.4.4/COPYING
    /usr/share/doc/memcached-1.4.4/ChangeLog
    /usr/share/doc/memcached-1.4.4/NEWS
    /usr/share/doc/memcached-1.4.4/README
    /usr/share/doc/memcached-1.4.4/protocol.txt
    /usr/share/doc/memcached-1.4.4/readme.txt
    /usr/share/doc/memcached-1.4.4/threads.txt
    /usr/share/man/man1/memcached.1.gz
    /var/run/memcached

    我们可以看到 yum 已经把memcached注册到了/etc/init.d 以及 /etc/rc.d中,所以,我们可以启动memcached 如下:

    /etc/init.d/memcached start

    可以看到启动后的进程是:

    [root@kramer memcached]# ps -ef | grep memcached
    498      31751     1  0 Jan14 ?        00:00:00 memcached -d -p 11211 -u memcached -m 64 -c 1024 -P /var/run/memcached/memcached.pid

    注意这里的-p 11211说明 memcached 监听端口是 11211.

    启动完毕后,可以安装memcached 的 python 客户端,然后编写代码测试。

    安装客户端用如下命令:

    pip install python-memcached

    然后我们编写一个python 来测试memcached 的威力。

    #!/usr/bin/python
    
    import memcache,random,time,timeit
    
    mc=memcache.Client(['127.0.0.1:11211'])
    
    def compute_square(n):
        value=mc.get('sq:%d' % n)
        if value is None:
            time.sleep(0.001)
            value=n*n
            mc.set('sq:%d' % n,value)
        return value
    
    def make_request():
        compute_square(random.randint(0,5000))
        
    print 'Ten successive runs:',
    for i in range(1,11):
        print '%0.2fs' % timeit.timeit(make_request,number=2000),
    print

    运行一下:

    [root@kramer 20140115]# ./make_square_memcache.py
    Ten successive runs: 2.32s 1.56s 1.19s 0.82s 0.69s 0.53s 0.48s 0.39s 0.39s 0.29s

    最开始运行 cache中没有多少缓存,所以运行2000次很慢要2.32秒。 但是越往后越快,只需要0.29秒。

     

  • 相关阅读:
    Java 联系Oracle 数据库
    android 流量统计
    [Angular] Using the Argon 2 Hashing Function In Our Sign Up Backend Service
    [Angular] Use Angular’s @HostBinding and :host(...) to add styling to the component itself
    [Angular] Use Angular style sanitization to mark dynamic styles as trusted values
    [D3] Build a Line Chart with D3 v4
    [Angular] Style HTML elements in Angular using ngStyle
    [Firebase] Firebase Cloud Functions
    [React] Theme your application with styled-components and "ThemeProvider"
    [Angular] Component architecture and Reactive Forms
  • 原文地址:https://www.cnblogs.com/kramer/p/3520738.html
Copyright © 2011-2022 走看看