Memcached

Memcached是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态、数据库驱动网站的速度。Memcached基于一个存储键/值对的hashmap。

安装

Linux安装

yum install memcached

启动

memcached -d -m 64 -u root -l 127.0.0.1 -p 11211 -c 1024 -P /tmp/memcached.pid

参数说明:

  • -d:后台运行
  • -m:分配内存大小(MB)
  • -u:运行memcached的用户
  • -l:监听的服务器IP
  • -p:监听的端口
  • -c:最大并发连接数
  • -P:保存pid文件

Python操作Memcached

安装python-memcached

pip install python-memcached

基本操作

import memcache

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

# 设置缓存
mc.set('key', 'value', time=60)

# 获取缓存
value = mc.get('key')

# 删除缓存
mc.delete('key')

# 批量设置
mc.set_multi({'k1': 'v1', 'k2': 'v2'}, time=60)

# 批量获取
values = mc.get_multi(['k1', 'k2'])

Memcached集群

mc = memcache.Client([
    ('127.0.0.1:11211', 1),
    ('127.0.0.1:11212', 2),
    ('127.0.0.1:11213', 1),
], debug=0)

权重越大,存储的几率越大。memcache会根据权重将key分配到不同的服务器上。