zoukankan      html  css  js  c++  java
  • django自带cache结合redis创建永久缓存

    0916自我总结

    django自带cache结合redis创建永久缓存

    1.redis库

    1.安装redis与可视化操作工具

    1.安装redis

    https://www.runoob.com/redis/redis-install.html

    2.可视化操作工具

    2.在服务中管理redis服务器的开启关闭

    3.命令行简单使用redis

    -- redis-cli  # 启动客户端
    -- set key value  # 设置值
    -- get key  # 取出值
    

    4.redis支持

    字符串:String
    字典:Hash
    列表:List
    无序集合:Set
    有序集合:Sorted Set
    

    https://www.runoob.com/redis/redis-tutorial.html

    5.特点

    内存数据库:数据存储在内存中,存取效率极高
    nosql数据库:没有mysql那样的表关系,通过 类似字典方式,用 key-value 方式存储数据
    高并发支持:单线程单进程并发
    数据可持久化:redis中的数据可以保存在硬盘中,支持与mysql等数据库完成数据同步 #独有特点
    支持的类型也较多:相比其他内存数据库(memcache)#独有特点
    

    2.redis库python中操作

    1.安装模块

    pip3 install redis
    

    2.简单使用

    直接连接使用

    import redis
    r = redis.Redis(db=0) #第几个库
    

    连接池使用

    import redis
    pool = redis.ConnectionPool(host='127.0.0.1', port=6379)
    r = redis.Redis(connection_pool=pool)
    

    常用的创建

    r.set('111',123)
    print(r.get('11111'))
    print(type(r.get('name')))
    
    r.hmset('dic',{'a':1,'b':1})
    print(r.hgetall('dic'))
    for a in  r.hgetall('dic').values():
        print(a.decode('utf8'))
    

    3.结合使用

    结合两者的特点cache序列化和返序列化操作简单,redis支持类型多也可以永久使用

    djang中.setting.py配置

    CACHES = {
        "default": {
            "BACKEND": "django_redis.cache.RedisCache",
            "LOCATION": "redis://127.0.0.1:6379",    #redis的地址
            "OPTIONS": {
                "CLIENT_CLASS": "django_redis.client.DefaultClient",
                "CONNECTION_POOL_KWARGS": {"max_connections": 100}  #池的个数
            }
        }
    }
    #前提必须安装redis第三方数据模块
    

    views.py

    from django.core.cache import cache  # 结合配置文件实现插拔式
    # 存放token,可以直接设置过期时间
    cache.set('token', 'header.payload.signature', 10)
    # 取出token
    token = cache.get('token')
    
  • 相关阅读:
    java 寒假作业
    java 搭积木
    java 移动距离
    java 垒骰子
    java 饮料换购
    java 牌型种数
    ONOS基础教程(QuickStart with a VM)
    Java中 VO、 PO、DO、DTO、 BO、 QO、DAO、POJO的概念
    PM2使用基本介绍
    nodejs项目部署
  • 原文地址:https://www.cnblogs.com/pythonywy/p/11529867.html
Copyright © 2011-2022 走看看