首页 > 数据库 >django中使用redis多种方法

django中使用redis多种方法

时间:2023-03-08 17:24:45浏览次数:36  
标签:count 多种 res cache redis django import

目录

django中使用redis

方式一,自定义包方案

通用的,不针对某个框架,所有框架都能用

写一个pool.py,设置链接池

import redis

# 链接池
POOL = redis.ConnectionPool(max_connections=100)
"无论怎么导都是单例"

在需要使用的地方导入使用(接口)

from django.http import JsonResponse
from utils.pool import POOL
import redis
def test_redis(request):
    # 指定链接池
    conn=redis.Redis(connection_pool=POOL)
    # 每次访问自增1
    conn.incr('count')
    # 拿出来看看编号
    res=conn.get('count')
    return JsonResponse(f'这个接口被访问的访问次数:{res}',safe=False,json_dumps_params={'ensure_ascii':False})

记得设置路由

方式二,django方案

1,diango的缓存使用redis

settings中配置

这个也需要下载 pip install django-redis 
        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",
                }
            }
        }

接口

from django.http import JsonResponse
from django.core.cache import cache
# django使用redis作为缓存
def test_redis(request):
    # 没办法使用redis方法,只能手动取出来加 需要提前先放进去一个因为缓存里现在没有count  cache.set('count',1)
    res=cache.get('count')
    cache.set('count',res+1)
    return JsonResponse(f'这个接口被访问的访问次数:{res}',safe=False,json_dumps_params={'ensure_ascii':False})
"这里拿的不是redis本身的count,还是django把redis作为缓存存在了redis里别的地方的:conut"

2.第三方 django-redis提供

 也需要配置文件哦
from django.http import JsonResponse
from django_redis import get_redis_connection
# django-redis
def test_redis(request):
    # 从我们配置文件中 配置的的链接池里拿出一个链接
    conn=get_redis_connection()
    # 拿的是redis的count
    res=conn.get('count')
    return JsonResponse(f'这个接口被访问的访问次数:{res}',safe=False,json_dumps_params={'ensure_ascii':False})

标签:count,多种,res,cache,redis,django,import
From: https://www.cnblogs.com/LiaJi/p/17193599.html

相关文章

  • Django 实现Canal 读取 MySQL 写入到 Kafka中
    安装canal-python库:pipinstallcanal-python修改settings.py文件,添加Canal相关配置CANAL_SETTINGS={"canal_host":"127.0.0.1","canal_port":11111,......
  • Redis + CAS,配置自增业务单号
    DB脚本SETNAMESutf8mb4;SETFOREIGN_KEY_CHECKS=0;--------------------------------Tablestructureforlog_czrz------------------------------CREATE......
  • 10、Redis集群模式
    1.Redis主从模式和cluster分片集群区别redis主从模式,是所有Redis数据一致,但是key过多了会影响性能cluster分片集群,可以将数据分散到多个Redis节点,数据分片存储,能够提高re......
  • 7、Redis持久化存储的两种方式
    1.Redis持久化存储的两种方式RDB方式RDB存储是Redis实现的一种存储机制(默认开启)AOF方式AOF存储方式,直接把操作的命令记录下来,保存到一个文件里,类似mysql的......
  • 8、Redis的RDB工具分析key的大小
    1.什么是Redis的大key?(BigKey)redis存储数据的时候,当某个key的值比较大(包括字符串、列表等数据类型),key的数据越大,占用的内存和空间就越多。BigKey(大key)Bigkey指的是redis......
  • 5、Redis慢日志和key有效期
    一、Redis的慢日志问题:如果有人反馈redis慢,如何进行排查?系统资源情况查看慢日志情况1.查看慢日志的默认配置>CONFIGGETslow*#查看慢日志的配......
  • 6、Redis禁用危险命令和压测工具
    1.Redis禁用危险命令Redis危险的命令有哪些?>FLUSHALL会清空Redis所有数据>FLUSHDB会清除当前DB所有数据>KEYS*在键过多的时候......
  • redis之列表、redis之hash、redis其他操作、redis 管道、django中使用redis、celery介
    目录1redis之列表2redis之hash3redis其他操作4redis管道5django中使用redis5celery介绍和安装6celery快速使用7celery包结构#1登录注册前端 -登录 -手......
  • 3、Redis库切换和运维监控命令
    一.Redis不同数据库的切换1.配置文件查看Redis有多少个库?#默认是16个[root@localhost~]#grepdatabases/etc/redis.confdatabases162.Redis数据库的切换>sel......
  • 2、Redis常用数据类型
    1.Redis-cli使用和认证登录#客户端工具redis-cli登录redis-cli#默认127.0.0.16379redis-cli-hipredis-cli-hip-pportredis-cli-h......