首页 > 数据库 >django中使用redis

django中使用redis

时间:2024-05-15 19:58:58浏览次数:22  
标签:count get redis django 使用 import conn

django中使用redis

方式一:通用方式

  • pool.py
import redis
POOL = redis.ConnectionPool(max_connections=10, decode_responses=True)
  • 在哪里用,导入用即可
from utils.pool import POOL
import redis
class RedisView(ViewSet):
    def list(self, request):
        conn = redis.Redis(connection_pool=POOL)
        conn.incrby('count')
        count = conn.get('count')
        return APIResponse(msg='您是第%s个访问的' % count)

方式二:django-redis

  • 安装
pip install django-redis
  • 配置文件配置 seetings.py
from django_redis import get_redis_connection
class RedisView(ViewSet):
    def list(self, request):
        conn = get_redis_connection() # 从池中获取一个链接
        conn.incrby('count')
        count = conn.get('count')
        return APIResponse(msg='您是第%s个访问的' % count)
  • 调用
from django_redis import get_redis_connection
class RedisView(ViewSet):
    def list(self, request):
        conn = get_redis_connection() # 从池中获取一个链接
        conn.incrby('count')
        count = conn.get('count')
        return APIResponse(msg='您是第%s个访问的' % count)

方式三:django的缓存

django内置的,可以直接操作缓存;但只要项目一重启,数据就没了。

把缓存数据,放到 redis中 ,redis可以持久化,项目停止,但redis还运行,数据就不会丢。

  • 配置文件配置 seetings.py
CACHES = {
    "default": {
        "BACKEND": "django_redis.cache.RedisCache",
        "LOCATION": "redis://127.0.0.1:6379",
        "OPTIONS": {
            "CLIENT_CLASS": "django_redis.client.DefaultClient",
            "CONNECTION_POOL_KWARGS": {"max_connections": 100}
            # "PASSWORD": "123",
        }
    }
}
  • 以后再django中,可以直接使用
cache.set()  # 设置缓存
cache.get()  # 获取缓存
  • 优势
    • redis 分数据类型, 只能设置5种数据类型
    • django的缓存来讲 ,不限制类型,可以放python的任意类型

标签:count,get,redis,django,使用,import,conn
From: https://www.cnblogs.com/unrealqcc/p/18194582

相关文章

  • webase go-sdk 简单使用
    本流程在test目录下,其中用到的 solc-0.4.25和abigen工具网上教程都比较详细,就暂时不展开聊,今天就大概描述流程。1.将目录下的test.sol文件编译pragmasolidity^0.4.25;import"./Table.sol";contracttest{stringconstantTABLE_NAME="test2";......
  • 如何让Vmware虚拟机ubuntu20.04使用物理机(windows11)下的魔法能力(浏览器及命令行下载、
    ​首先点击VMware下的“编辑”》虚拟网络编辑器,得到如图所示画面。​​​​​如果没有VMnet0就到桌面上右键VMware图标选择属性,然后如图:兼容性>以管理员身份运行此程序。然后重新打开就有了。然后桥接模式不要选择自动设置,如何选择继续往下看。在主机中cmd命令行输入:syste......
  • 使用playwright控制浏览器在服务器端将网页转化为PDF文件
    需求在实际需要中,经常存在需要在服务器端将网页转化为PDF文件保存下来。代码requirements.txt点击查看代码playwrightconvert_pdf.py点击查看代码fromplaywright.sync_apiimportsync_playwright,Playwrightimportargparsedefrun(playwright:Playwright,url......
  • MySQL存储过程中如何使用ROLLBACK
    在MySQL存储过程中,可以使用ROLLBACK来撤销之前执行的所有未提交的更改。当与BEGIN和COMMIT结合使用时,ROLLBACK可以帮助您管理事务并确保数据的完整性。以下是一个示例存储过程,它使用TRY...CATCH块来捕获异常,并在需要时执行ROLLBACK。请注意,MySQL本身并不直接支持TRY...CATCH错误......
  • 关于使用多个平台上的测试工具请使用两种以上平台上的测试工具,并介绍
    XL-A951交直流充电桩移动式综合测试系统*功能:这是一个移动式的测试平台,可以用于非车载充电机和交流充电桩的出厂检验、到货验收和周期检定。使用:该系统支持国家标准、能源局标准、国网企标等标准的测试项目,包括计量检定、通信协议一致性测试、互操作性测试、功能性测试、安全......
  • 使用qemu-system-x86_64和cloud-init修改qcow2镜像密码
    方法来自于:CoretutorialwithQEMU依次执行下面的命令sudoaptinstallqemu-system-x86mkdirtempcdtemp#以此镜像为例wgethttps://cloud-images.ubuntu.com/jammy/current/jammy-server-cloudimg-amd64.imgcat<<EOF>user-data#cloud-configpassword:123ch......
  • 全景图浏览器手机版 - 绿色免费, 可离线使用
    免费版的电脑版360全景图片查看器受到了许多用户的喜爱,由于其绿色小巧的特性,非常适合在大屏幕上或者展台上展示一些简单的全景VR内容。如果你还不了解的话,详细的介绍文章可以查看下面的链接:绿色免费的全景图片360查看器-附下载地址(h5pack.com)但是一些展厅里面用的是安卓系......
  • 全局异常处理和jwt介绍与使用
    全局异常处理和jwt介绍与使用1.全局异常处理#APIView的dispatch的时候--》三大认证,视图类的方法中--》出了异常--》被异常捕获--》都会执行一个函数:#只要出了异常,都会执行dispatch中的这句,这个函数response=self.handle_exception(exc)#handle_exception源码分析d......
  • linux下使用c++模拟下载进度
    #include<iostream>#include<iomanip>#include<chrono>#include<thread>voidshowProgressBar(doubleprogress){constintbarWidth=70;std::cout<<"\r[";intpos=static_cast<int>(barWid......
  • 使用XCA自制CA证书并签发https证书
    序言本文目的是使公司内网部署的Web可以使用https的方式访问现有部署的系统有用域名访问,有用IP访问,但都是用http的方式所以打算在公司内网部署统一的CA证书,并可以自己签发对应的域名和IP证书使得可以用https的方式访问各Web系统工具下载XCA下载地址Github:https://github.c......