redis,mongodb,memcached区别,mongodb与redis

  redis,mongodb,memcached区别,mongodb与redis

  对于大中型网站来说,利用缓存减少数据库访问次数是提高网站性能的重要手段之一。Memcached和Redis是Django项目生产环境中最常用的缓存回退。今天,我们将快速了解如何在Django项目中将Memcached和Redis配置为缓存后备。哪个更好?本文将对这两种存储系统进行比较,并在文末给出答案。

  Memcache缓存

  Memcache是一个高性能的分布式内存对象缓存系统,是Django支持的最快最高效的缓存系统。Memcached的优势在于它是一个快速的、分布式的缓存,可以同时运行在多个服务上(Django把它们当成一个大缓存)。

  设置步骤Memcached

  Windows系统:官网下载,解压安装。

  Linux系统:在Ubuntu系统上,使用sudo apt-get installlibeventevent-dev安装Memcached依赖项,然后使用sudo apt-get安装Memcached。

  安装详情请参考专网教程:https://www.runOOB.com/memcached/memcached-tutorial.html.

  

第二步:启动Memcached

  # Linux系统-前端启动/usr/local/memcached/fzdc/memcached-p 11211-m64m-vv # Linux系统-作为后台服务启动/usr/local

  Python操作必须在memcached数据库中安装python-memcached或pylibmc。建议前者。

  将pip安装py hon-memcached步骤memcached设置为Django缓存回滚。

  # local cache,local caches={ default :{ back end : django . core . cache . backends . memcached . memcacad UNIX套接字通信缓存={ default :{ back end : django . core . cache . backends . memcached . memcached cached back end : django . core . cache . backends . memcached . memcached cache , locationds , 172 . 19 . 26 . 24233333 location :[(172 . 19 . 26 . 26 . 26 . 26 . 2

  Redis是目前最快的内存非关系(NoSQL)数据库。Redis不仅支持简单的键值类型数据,还提供了许多数据结构的存储,包括列表、集合、zset和散列。

  设置步骤Redis

  Windows系统:官网下载,解压安装。请选中该框并输入环境变量。

  Linux系统:可以使用sudo apt-get install redis-server安装Ubuntu系统。

  步骤Redis服务已启动

  # Windows系统:cmd进入redis安装目录,redis服务redis-server.exe redis . Windows . conf # Linux系统启动:Redis安装目录启动redis/redis.conf#并在Redis-CLI . exe-h 127 . 0 . 0 . 1-p 6379 # Windows系统上单独打开一个窗口(可选)。建议像其他服务器一样设置,提高安全性。

  由于redis默认绑定到此计算机,第一步将是取消此设置。

  #用V编辑配置文件sudo vim /etc/redis/redis.conf

  im打开配置文件后,注释掉下面一行:

  # fzdcd 127.0.0.1然后设置登录密码。由于配置文件很长,请在命令模式下输入/requirepass foobared以快速搜索此配置项:

  #找到下面一行,去掉注释,修改前:#requirepass foobared#修改为:requirepass your_pwd #设置新密码。修改后,使用redis-server restart重启服务器,使配置生效。以后从其他服务器访问redis时,可以携带自己设置的密码:

  Redis-cli -a your_pwd -h hostip步骤3: pip安装django-redis

  redis安装启动后,还需要通过pip安装django-redis,才能在django中操作redis数据库。

  安装Django-Redis步骤4:将Redis设置为Django缓存后台

  CACHES={ default :{ back end : django _ redis . cache . redis cache , LOCATION : redis://your _ host _ ip:6379 ,# redis所在的服务器或容器的Ip地址 options :{ client _ class : django _ redis . client . default client , password: your _ pwd ,# the password you set },}}还可以在settings.py中设置缓存的默认过期时间(非必需)。

  redis _ time out=24 * 60 * 60 cubes _ redis _ time out=60 * 30 never _ redis _ time out=365 * 24 * 60 * 60测试缓存是否设置成功。在settings.py中修改了缓存的配置之后,您一定想知道Django缓存是否设置成功。您可以输入以下命令来打开Python的命令交互窗口:

  Python manage.py shell然后逐个输入以下命令进行测试。如果没有错误,您的缓存设置是成功的。

  从django.core.cache导入cache #引入缓存模块cache.set(k1 , 555 ,60*1) #用k1的键和值555写缓存,有效期1min。cache.has_key(k1)#确定是否有cache.get(k1) #获取键。

  Memcached和Redis都是基于内存的键值型数据存储系统,既快速又支持分布式部署。但是,它们之间有很大的区别。

  数据结构:与memcached相比,Redis拥有更多的数据结构(如list、set、zset、hash),支持丰富的数据操作。

  最大键值大小:Redis的每个键值的最大存储大小是512MB,而Memcached的每个键值的最大大小是1MB。

  数据持久化:Memcached不支持数据持久化,服务器重启后缓存的数据就没有了。Redis不仅支持缓存数据在硬盘上的持久化,还支持主从模式的数据备份。

  在各方面,Redis都远远优于Memcached。如果你的企业想选择一个缓存系统,边肖建议直接去redis就够了。

  本文摘自大疆狗博客《Django高级系列Django多缓存配置》一文。链接如下(点击原文阅读跳转)。

  https://pythondjango.cn/django/advanced/7-cache/

  

Memcached vs Redis

  Django基础(8):缓存应用场景及工作原理、缓存设置及使用方法

相关阅读

redis,mongodb,memcached区别,mongodb与redis