django redis memcached安装和配置

    xiaoxiao2021-03-25  118

    毕业设计可能不能过关了,所以努力找各种提高服务器性能的方案。前不久听到闺蜜钟钟说过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精简地概括了他们之间的区别。

    比较项目redismemcachedmongoDBmysql操作的便利性内存存储(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相同。

    转载请注明原文地址: https://ju.6miu.com/read-24572.html

    最新回复(0)