电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

Django項目如何配置Memcached和Redis緩存?選擇哪個更有優勢?

瀏覽:41日期:2024-09-11 09:10:15

對于中大型網站而言,使用緩存減少對數據庫的訪問次數是提升網站性能的關鍵手段之一。在Django項目生產環境中最常用的緩存后臺是Memcached和Redis。今天小編就手把手教你如何在Django項目中配置Memcached和Redis作為緩存后臺。那么它們兩個到底哪個更好呢? 本文會對比這兩個存儲系統并在文末給出答案。

Memcache緩存

Memcache是一個高性能的分布式內存對象緩存系統,是Django原生支持的最快最有效的緩存系統。Memcached的優點是速度快,屬于分布式緩存,支持同時在多臺服務器上運行 (Django會把它們當成一個大緩存)。

第一步:安裝Memcached

windows系統:官網下載,解壓安裝即可。

Linux系統:Ubuntu系統需要使用sudo apt-get install libevent ibevent-dev安裝Memcached依賴環境,再使用sudo apt-get install memcached安裝memcached。

第二步:啟動Memcached

# Linux系統-前臺啟動/usr/local/memcached/bin/memcached -p 11211 -m 64m -vv# Linux系統-作為后臺服務啟動/usr/local/memcached/bin/memcached -p 11211 -m 64m -d第三步:pip安裝python-memcached

Python操作memcached數據庫需要安裝python-memcached或pylibmc, 推薦前者。

pip install pyhon-memcached第四步:將memcached設為Django緩存后臺

# 本地緩存,使用localhostCACHES = { ’default’: { ’BACKEND’: ’django.core.cache.backends.memcached.MemcachedCache’, ’LOCATION’: ’127.0.0.1:11211’, }}# 使用unix soket通信CACHES = { ’default’: { ’BACKEND’: ’django.core.cache.backends.memcached.MemcachedCache’, ’LOCATION’: ’unix:/tmp/memcached.sock’, }} # 分布式緩存,多臺服務器,支持配置權重。CACHES = { ’default’: { ’BACKEND’: ’django.core.cache.backends.memcached.MemcachedCache’, ’LOCATION’: [ ’172.19.26.240:11211’, ’172.19.26.242:11211’, ] # 我們也可以給緩存機器加權重,權重高的承擔更多的請求,如下: ’LOCATION’: [ (’172.19.26.240:11211’,5), (’172.19.26.242:11211’,1), ] } }Redis緩存

Redis 是當今速度最快的內存型非關系型(NoSQL)型數據庫。Redis不僅僅支持簡單的key-value類型的數據,同時還提供list,set,zset,hash等多種數據結構的存儲。

第一步:安裝Redis windows系統:官網下載,解壓安裝即可, 記得勾上加入環境變量。 Linux系統:Ubuntu系統可使用sudo apt-get install redis-server安裝。第二步:啟動Redis服務

# Windows系統:cmd進入redis安裝目錄,啟動redis服務redis-server.exe redis.windows.conf# Linux系統:進入redis安裝目錄啟動redis服務redis-server /etc/redis/redis.conf # 打開redis交互命令行,用于測試(可選)redis-cli.exe -h 127.0.0.1 -p 6379 # windows系統下另打開一個窗口redis-cli # linux系統

注意:默認情況下,訪問Redis服務器是不需要密碼的,為了讓其他服務器使用同增加安全性我們建議設置Redis服務器的訪問密碼。

由于redis默認綁定本機的,所以第一步取消該設置:

#編輯配置文件sudo vim /etc/redis/redis.conf

用vim打開該配置文件后,注釋掉下面這行:

# bind 127.0.0.1

然后設置登錄密碼。由于配置文件較長,命令模式下輸入/requirepass foobared快速搜索該配置項:

#找到下面這一行并去除注釋,未修改之前:#requirepass foobared#修改成:requirepass your_pwd #設置新的密碼

修改后使用redis-server restart重啟服務器使配置生效。以后從其它服務器訪問redis時攜帶你設置的密碼即可:

redis-cli -a your_pwd -h hostip第三步:pip安裝django-redis

Redis安裝好并且啟動后,你還需要通過pip安裝django-redis才能在Django中操作redis數據庫。

pip install django-redis第四步:將Redis設為Django緩存后臺

CACHES = { ’default’: { ’BACKEND’: ’django_redis.cache.RedisCache’, ’LOCATION’: ’redis://your_host_ip:6379’, # redis所在服務器或容器ip地址 'OPTIONS': { 'CLIENT_CLASS': 'django_redis.client.DefaultClient', 'PASSWORD': 'your_pwd', # 你設置的密碼 }, },}

你還可以在settings.py設置緩存默認過期時間(非必須)。

REDIS_TIMEOUT=24*60*60CUBES_REDIS_TIMEOUT=60*30NEVER_REDIS_TIMEOUT=365*24*60*60測試緩存是否設置成功

在你修改完settings.py中關于緩存的配置后,你一定想知道Django緩存是否設置成功。你可以輸入下面命令打開Python的命令交互窗口:

python manage.py shell

然后逐條輸入以下命令進行測試。如果無任何報錯,說明你緩存設置成功。

from django.core.cache import cache #引入緩存模塊cache.set(’k1’, ’555’, 60*1) #寫入key為k1,值為555的緩存,有效期1分鐘cache.has_key(’k1’)#判斷key為k1是否存在cache.get(’k1’) #獲取key為k1的緩存結果Memcached vs Redis

Memcached和Redis 兩者都是基于內存的、鍵-值數據存儲系統,速度都很快,而且支持分布式部署,然而兩者的區別也挺大的。

數據結構:與memcached相比,Redis擁有更多的數據結構(如list,set,zset,hash)并且支持豐富的數據操作。 鍵值尺寸上限:Redis每個鍵值(value)的存儲尺寸上限高達512MB,而Memcached每個鍵值尺寸最大不超過1MB。 數據持久化:Memcached不支持數據持久化,服務器重啟后緩存數據就沒了,而Redis不僅支持支持緩存數據在硬盤上的持久化,還支持master-slave模式的數據備份。

從各方面看,Redis功能特性遠優于Memcached。如果你的企業要選緩存系統,小編建議直接上redis就夠了。

以上就是Django項目如何配置Memcached和Redis緩存?選擇哪個更有優勢?的詳細內容,更多關于Django項目配置Memcached和Redis緩存的資料請關注好吧啦網其它相關文章!

標簽: Django
相關文章:
主站蜘蛛池模板: 沈飞防静电地板__机房地板-深圳市沈飞防静电设备有限公司 | 塑料检查井_双扣聚氯乙烯增强管_双壁波纹管-河南中盈塑料制品有限公司 | 无菌水质袋-NASCO食品无菌袋-Whirl-Pak无菌采样袋-深圳市慧普德贸易有限公司 | 武汉画册印刷厂家-企业画册印刷-画册设计印刷制作-宣传画册印刷公司 - 武汉泽雅印刷厂 | 翻斗式矿车|固定式矿车|曲轨侧卸式矿车|梭式矿车|矿车配件-山东卓力矿车生产厂家 | 自进式锚杆-自钻式中空注浆锚杆-洛阳恒诺锚固锚杆生产厂家 | 博莱特空压机|博莱特-阿特拉斯独资空压机品牌核心代理商 | 诺冠气动元件,诺冠电磁阀,海隆防爆阀,norgren气缸-山东锦隆自动化科技有限公司 | 合肥仿石砖_合肥pc砖厂家_合肥PC仿石砖_安徽旭坤建材有限公司 | 超细粉碎机|超微气流磨|气流分级机|粉体改性设备|超微粉碎设备-山东埃尔派粉碎机厂家 | 工作服定制,工作服定做,工作服厂家-卡珀职业服装(苏州)有限公司 | 北京西风东韵品牌与包装设计公司,创造视觉销售力! | 精密模具加工制造 - 富东懿| 长沙广告公司_制作,长沙喷绘_发光字_招牌制作_长沙泓润广告官网 长城人品牌官网 | 国标白水泥,高标号白水泥,白水泥厂家-淄博华雪建材有限公司 | 华夏医界网_民营医疗产业信息平台_民营医院营销管理培训 | 建筑资质代办-建筑资质转让找上海国信启航 | LED灯杆屏_LED广告机_户外LED广告机_智慧灯杆_智慧路灯-太龙智显科技(深圳)有限公司 | 干粉砂浆设备-干粉砂浆生产线-干混-石膏-保温砂浆设备生产线-腻子粉设备厂家-国恒机械 | 深圳昂为官网-气体分析仪,沼气分析仪,动态配气仪,气体传感器厂家 | 聚合氯化铝_喷雾聚氯化铝_聚合氯化铝铁厂家_郑州亿升化工有限公司 | 硫化罐_蒸汽硫化罐_大型硫化罐-山东鑫泰鑫智能装备有限公司 | 脉冲布袋除尘器_除尘布袋-泊头市净化除尘设备生产厂家 | Dataforth隔离信号调理模块-信号放大模块-加速度振动传感器-北京康泰电子有限公司 | 变频器维修公司_plc维修_伺服驱动器维修_工控机维修 - 夫唯科技 变位机,焊接变位机,焊接变位器,小型变位机,小型焊接变位机-济南上弘机电设备有限公司 | 干式磁选机_湿式磁选机_粉体除铁器-潍坊国铭矿山设备有限公司 | 多功能三相相位伏安表-变压器短路阻抗测试仪-上海妙定电气 | 烽火安全网_加密软件、神盾软件官网| 温州富欧金属封头-不锈钢封头厂家 | 本安接线盒-本安电路用接线盒-本安分线盒-矿用电话接线盒-JHH生产厂家-宁波龙亿电子科技有限公司 | 贵州自考_贵州自学考试网| 石英砂矿石色选机_履带辣椒色选机_X光异物检测机-合肥幼狮光电科技 | 浙江宝泉阀门有限公司 | 济南铝方通-济南铝方通价格-济南方通厂家-山东鲁方通建材有限公司 | 泵阀展|阀门展|水泵展|流体机械展 -2025上海国际泵管阀展览会flowtech china | 回转支承-转盘轴承-回转驱动生产厂家-洛阳隆达轴承有限公司 | 大型冰雕-景区冰雕展制作公司,3D创意设计源头厂家-[赛北冰雕] | 河南档案架,档案密集架,手动密集架,河南密集架批发/报价 | 天津热油泵_管道泵_天津高温热油泵-天津市金丰泰机械泵业有限公司【官方网站】 | SRRC认证|CCC认证|CTA申请_IMEI|MAC地址注册-英利检测 | 沥青车辙成型机-车托式混凝土取芯机-混凝土塑料试模|鑫高仪器 |