• redis


     链接

    mysql是一个软件,帮助开发者对一台机器的硬盘进行操作。

    redis是一个软件,帮助开发者对一台机器的内存进行操作。

    特点:

    a. 持久化   --AOF、RDB
    b. 单进程、单线程
    c. 5大数据类型
    
        redis={
            k1:'123',  字符串
            k2:[1,2,3,4,4,2,1], 列表
            k3:{1,2,3,4}, 集合
            k4:{name:123,age:666}, 字典
            k5:{('alex',60),('eva-j',80),('rt',70),},有序集合
        }

    redis默认端口:6379

    下载与安装教程

    环境变量的配置

    python连接redis的模块

    pip3 install redis

     基本使用:

    打开cmd输入以下命令启动redis

    redis-server.exe

    打开新的命令行窗口,输入:

     redis-cli.exe -h 127.0.0.1 -p 6379 回车

    在python中:

    redis_pool.py

    #把连接池做成单例模式
    import redis
    
    POOL = redis.ConnectionPool(host='127.0.0.1', port=6379,max_connections=1000)

    s1.py

    # 创建连接
    # import redis
    # conn = redis.Redis(host='127.0.0.1',port=6379) # conn.set('x1','wanghuaqiang',ex=5) #ex=5是设置超时时间 # val = conn.get('x1') # print(val) # 连接池(推荐使用) # import redis # pool = redis.ConnectionPool(host='127.0.0.1', port=6379,max_connections=1000) # conn = redis.Redis(connection_pool=pool) # conn.set('foo', 'Bar') from redis_pool import POOL while True: key = input('请输入key:') value = input('请输入value:') # 去连接池中获取连接 conn = redis.Redis(connection_pool=POOL) # 设置值 conn.set(key, value) #连接池注意:连接池只创建一次

     使用连接池本质:维护一个已经和服务端连接成功的socket,以后再次发送数据时,直接获取一个socket,直接send数据

     django中操作redis 

    pip3 install django-redis 

    在settings中进行配置

    # 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": "密码",
            }
        }
    }

    在视图中的使用

    import redis
    from django.shortcuts import render,HttpResponse
    from django_redis import get_redis_connection
    
    
    def index(request):
        conn = get_redis_connection("default")
        return HttpResponse('设置成功')
    def order(request):
        conn = get_redis_connection("back")
        return HttpResponse('获取成功')

    应用:

    1 全站缓存--中间件

    在settings中间进行配置

    # 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": "密码",
            }
        }
    }

     

    from django.shortcuts import render,HttpResponse
    import time
    
    
    def index(request):
        ctime = str(time.time())
        return HttpResponse(ctime)
    
    def order(request):
        ctime = str(time.time())
        return HttpResponse(ctime)
    Views.py

    2 单视图缓存--装饰器

    from django.shortcuts import render,HttpResponse
    import time
    from django.views.decorators.cache import cache_page
    
    @cache_page(60 * 15)
    def index(request):
        ctime = str(time.time())
        return HttpResponse(ctime)

    3 局部视图缓存

    views.py

    from django.shortcuts import render

    def order(request): return render(request,'order.html')
    {% load cache %}
    
    <!DOCTYPE html>
    <html lang="zh-CN">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <meta name="viewport" content="width=device-width, initial-scale=1">
    </head>
    <body>
        <h1>asdfasdfasdf</h1>
        <div>
            asdf
        </div>
        {% cache 10 sdfsdfsd32fd %}  <!-- 10s后消失 -->
            <div>asdfasdf</div>
        {% endcache %}
    
    </body>
    </html>
    order.html
  • 相关阅读:
    爬虫大作业
    作业
    新练习
    爬虫新练习
    最新操作
    小练习
    Hadoop综合大作业
    理解Mapreduce
    熟悉常用的HBase操作
    第三章 熟悉常用的HDFS操作
  • 原文地址:https://www.cnblogs.com/zh-xiaoyuan/p/13182745.html
Copyright © 2020-2023  润新知