memcached

1、介绍

memcached是一个高性能的分布式的内存对象缓存系统,分担数据库压力。
memcached在内存里维护一个巨大的hash表,
哪些情况下适合使用memcached:存储验证码、登录session等不是至关重要的数据。

2、python 操作memcached

1、安装:python-memcached:pip install python-memcached
2、建立连接:
					import memcache
					conn = memcached.Client(['ip:port','ip:port'],debug=True)
3、设置数据:
					conn.set('user','lisa',time=)
					conn.set_multi(('user':'lisa','age':'18'),time=)
4、获取数据:
					conn.get('user')
5、删除数据:
					conn.delete('user')
6、自增长:
					conn.incr('num')
7、自减少:
					conn.decr('num')

3、django中使用memcached

方法一:采用源生的连接
方法二:配置文件连接
1、配置
def KEY_FUNCTION(key,key_prefix,version):
	return key
CACHES = {
	'default'{
		'BACKEND':'django.core.cache.backends.memcached.MemcachedCache',
		'LOCATION':['ip:port','ip:port'],
		'KEY_FUNCTION':KEY_FUNCTION
	}
}
2、使用
from django.cache.cache import cache
def index(request):
	cache.set('user','lisa',60)
	name = cache.get('user')
	return 

4、Redis和memcached的区别

1、数据类型不同
redis:最为常用的数据类型 	String	hash	list	set	zset
memcached:仅仅支持简单的key-value结构的数据记录
2、内存管理机制不同
首先:redis中并不是所有的数据一直存储在内存中。当物理内存用完时,
			Redis可以将一些很久没用到的value交换到磁盘。memcached不会。
其次:
		Redis为了方便内存的管理,在分配一块内存之后,会将这块内存的大小存入内存块的头部。
		Memcached主要思想是按照预先规定的大小,将分配的内存分割成特定长度的块以存储相应长度的key-value
				数据记录,以完全解决内存碎片问题。
3、数据持久化
Redis虽然是基于内存的存储系统,但是提供RDB和AOF两种数据持久化方法。
Memcached不支持
4、集群管理不同
Memcached本身并不支持分布式,因此只能在客户端通过像一致性哈希这样的分布式算法来实现Memcached的分布式存储。
Redis更偏向于在服务器端构建分布式存储。最新版本的Redis已经支持了分布式存储功能。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值