您的位置:首页 > 汽车 > 新车 > 扬州建设工程交易网_页面设计模板简约_长尾词挖掘_青岛网站建设微动力

扬州建设工程交易网_页面设计模板简约_长尾词挖掘_青岛网站建设微动力

2024/12/27 18:00:57 来源:https://blog.csdn.net/hhq2002322/article/details/142831283  浏览:    关键词:扬州建设工程交易网_页面设计模板简约_长尾词挖掘_青岛网站建设微动力
扬州建设工程交易网_页面设计模板简约_长尾词挖掘_青岛网站建设微动力

一、redis作用

Redis,作为一款开源的内存数据结构存储系统,它可以用作数据库、缓存和消息中间件。以下是Redis的主要作用:

1、高速缓存

Redis能够极大地加速数据的读取速度,因为它将数据存储在内存中通过缓存热点数据,Redis显著减少了对后端数据库(如MySQL)的查询压力,从而提升了整个系统的响应速度

2、会话存储

在Web应用中,Redis常被用来存储用户会话信息,如登录状态、购物车内容等。这有助于在分布式系统中实现会话共享,确保用户在不同服务器之间切换时能够保持会话的连续性。

3、数据持久化

Redis支持发布/订阅消息模式,允许消息发送者(发布者)将消息发送到特定的频道,而消息接收者(订阅者)可以订阅这些频道以接收消息。这为应用之间的异步通信提供了一种简单而有效的解决方案。

4、发布/订阅系统

Redis支持发布/订阅消息模式,允许消息发送者(发布者)将消息发送到特定的频道,而消息接收者(订阅者)可以订阅这些频道以接收消息。这为应用之间的异步通信提供了一种简单而有效的解决方案。

5、计数器

Redis提供了原子性的递增和递减操作,这使得它成为实现计数器(如网站访问量、点赞数等)的理想选择。

6、排行榜

Redis的有序集合(Sorted Set)数据结构使得实现排行榜变得非常简单。你可以轻松地添加、删除和更新成员,并根据分数对成员进行排序。

7、应用集成

Redis可以与其他应用和服务(如消息队列、搜索引擎等)进行集成,以提供更丰富的功能和服务。

二、安装redis

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple django-redis

三、django集成redis

1、配置django缓存的后端

CACHES = {"default": {"BACKEND": "django_redis.cache.RedisCache",  # 配置redis缓存"LOCATION": "redis://127.0.0.1:6379/1",  # 使用redis名叫1的数据库"OPTIONS": {# django使用redis的默认客户端来进行操作."CLIENT_CLASS": "django_redis.client.DefaultClient",}}
}

2、缓存查询数据

from django.utils.decorators import method_decorator
from django.views.decorators.cache import cache_page
class AIView(APIView):authentication_classes = []@method_decorator(cache_page(60*60))  # 使用method_decorator装饰器缓存并设置过期时间def get(self,request):input_content=request.query_params.get('input')try:content=load_model(input_content)return Response(data={'msg':'请求成功','data':content,'code':200})except Exception as e:return Response(data={'msg':'请求失败','error':str(e),'code':500})

3、自定义缓存数据

from django.core.cache import cache
class AIView(APIView):authentication_classes = []def get(self,request):input_content=request.query_params.get('input')cache.set('input',input_content,timeout=60*60)  # cache.set设置键名,键值,过期时间print(cache.get('input')) # cache.get进行取值try:content=load_model(input_content)return Response(data={'msg':'请求成功','data':content,'code':200})except Exception as e:return Response(data={'msg':'请求失败','error':str(e),'code':500})

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com