django redis memcached安装和配置

毕业设计可能不能过关了,所以努力找各种提高服务器性能的方案。前不久听到闺蜜钟钟说过memcached缓存数据库,这几天做了相关调研,记录如下:
数据库Redis, Memcache, mongoDB的区别: http://wenku.baidu.com/link?url=vL79crToZkQF8W8BKwSFSCqDf4tBuRvaBRgFpI_iFTD0iizJFiHkflhrsrwXO5R-mvB-Bhc2OrEGBPNMRutFoOz8iCr2daQoqlS_t9hQ-OO

http://www.epubit.com.cn/article/200比较系统地对比了一些数据库,其中一部分被摘抄形成下文中的表。
Memcached 及 Redis 架构分析和比较:http://blog.csdn.net/colorant/article/details/21089057个人觉得比较形象,通过图文的方式表达了其工作的机制。
redis和memcached的区别(总结):http://www.cnblogs.com/timothy-lai/p/5786502.html精简地概括了他们之间的区别。

比较项目 redis memcached mongoDB mysql
操作的便利性 内存存储(in-memory)非关系数据库,包括key-value键值对和其他 使用内存存储的键值缓存 使用硬盘存储(on-disk)的非关系文档存储 关系数据库
数据存储选项 字符串、列表、集合、散列表、有序集合 键值之间的映射 每个数据库可以包含多个表,每个表可以包含多个无schema(schema-less)的BSON文档 每个数据库可以包含多个表,每个表可以包含多个行;可以处理多个表的视图(view);支持空间(spatial)和第三方扩展
查询类型 每种数据类型都有自己的专属命令,另外还有批量操作(bulk operation)和不完全(partial)的事务支持 创建命令、读取命令、更新命令、删除命令以及其他几个命令 创建命令、读取命令、更新命令、删除命令、条件查询命令等 SELECT、 INSERT、 UPDATE、 DELETE、函数、存储过程
附加功能 发布与订阅,主从复制(master/slave replication),持久化,脚本(存储过程,stored procedure) 为提升性能而设的多线程服务器 支持map-reduce操作,主从复制,分片,空间索引(spatial index) 支持ACID性质(需要使用InnoDB),主从复制和主主复制 (master/master replication)

Ubuntu安装Redis
参考http://www.pythontab.com/html/2014/pythonweb_1224/937.html
安装Redis服务器端sudo apt-get install redis-server
然后为了能在Django中使用redis,还需要安装redis for Django的插件:
pip install django-redis

那么现在就是在Django的settings中配置了。

CACHES = {
    'default': {
        'BACKEND': 'redis_cache.cache.RedisCache',
        'LOCATION': '127.0.0.1:6379',
        "OPTIONS": {
            "CLIENT_CLASS": "redis_cache.client.DefaultClient",
        },
    },
}

在项目中使用:

from django.conf import settings
from django.core.cache import cache
#read cache user id
def read_from_cache(self, user_name):
    key = 'user_id_of_'+user_name
    value = cache.get(key)
    if value == None:
        data = None
    else:
        data = json.loads(value)
    return data
#write cache user id
def write_to_cache(self, user_name):
    key = 'user_id_of_'+user_name
    cache.set(key, json.dumps(user_name), settings.NEVER_REDIS_TIMEOUT)

Ubuntu安装和使用memcached
参考http://blog.csdn.net/scelong/article/details/7245343
安装Memcache服务端sudo apt-get install memcached
启动服务:memcached -d -m 128 -p 11111 -u root
参数的具体解释为:
这里需要说明一下memcached服务的启动参数:
-p 监听的端口
-l 连接的IP地址, 默认是本机
-d start 启动memcached服务
-d restart 重起memcached服务
-d stop|shutdown 关闭正在运行的memcached服务
-d install 安装memcached服务
-d uninstall 卸载memcached服务
-u 以的身份运行 (仅在以root运行的时候有效)
-m 最大内存使用,单位MB。默认64MB
-M 内存耗尽时返回错误,而不是删除项
-c 最大同时连接数,默认是1024
-f 块大小增长因子,默认是1.25-n 最小分配空间,key+value+flags默认是48
-h 显示帮助

在django的settings.py中配置cache文件:

CACHES = {
    'default': {
        'BACKEND':  
        'django.core.cache.backends.memcached.MemcachedCache',
        'LOCATION': '127.0.0.1:11211',
    }
}

在代码中的使用方法和redis相同。

你可能感兴趣的:(数据库,memcached,redis,django)