redis管道/django中使用redis/django缓存

这篇具有很好参考价值的文章主要介绍了redis管道/django中使用redis/django缓存。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

redis管道

# 事务四大特性
	-原子性:要么都成功,要么都失败
    -一致性:数据前后要一致
    -隔离性:多个事务之间相互不影响
    -持久性:事务一旦完成,数据永久改变
    
    
# redis 有没有事务?支持事务
	-redis要支持事务,要完成事务的几大特性,需要使用管道来支持
    -单实例redis是支持管道的
    -集群模式下,不支持管道,就不支持事务

# redis通过管道实现事务
import redis
conn = redis.Redis()
pipline = conn.pipeline(transaction=True)
pipline.decrby('a1', 10)  # 没有真正执行,把命令先放到管道中
raise Exception('出错了')
pipline.incrby('a2', 10)

pipline.execute()  # 把管道中的命令,一次性执行
conn.close()
	

django中使用redis

# 两种方式
	-方式一:自定义的通用方案(跟框架无关)
    	-写一个py文件:redis_pool.py
        	import redis
            POOL=redis.ConnectionPool(max_connections=10)
        -在用的位置,导入直接使用
             conn = redis.Redis(connection_pool=POOL)
        	conn.incrby('a1')
    -django中有个模块,django-redis,方便我们快速集成redis
    	-1 下载:pip install django-redis
        -2 配置文件配置:
            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",
                    }
                }
            }
            
        -3 在使用的地方,导入直接使用
        from django_redis import get_redis_connection
        class MyResponseView(APIView):
            def get(self, request):
                conn = get_redis_connection()  # 从连接池中拿出一个链接
                conn.incrby('a1')
                conn.set('name','彭于晏')
                return APIResponse()
        

django缓存

# django 是大而全的框架,内置了很多web开发需要的东西,缓存内置了

# 缓存:可以把django中的一个变量(数据),存放到某个位置,下次还可以取出来

# 之前用过:默认放在:内存中,其实可以放在文件中,数据库,redis。。。。
from django.core.cache import cache
cache.set('key','value',5) # 存放值
res=cache.get('key') # 取值


# 通过配置,控制存放在哪,只要如下写,就会放在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",
           }
       }
   }

# django缓存最强大之处在于,只要是python的变量,任意类型都可以,尽管使用set设置值
       l = [1, 'lqz', [1, 3, 4, 5, 6], '彭于晏']
       cache.set('ll1', l)
	
# 以后再django中往redis放数据,就用cache即可

# redis的5大数据类型,只支持一层


# 看一下这篇文章:https://www.cnblogs.com/liuqingzheng/articles/9803351.html

# 超过5k就要交税
	-公司正常报税,工资中扣
    -6月份开始工作,按1w工资报税, 退税

文章来源地址https://www.toymoban.com/news/detail-515276.html

到了这里,关于redis管道/django中使用redis/django缓存的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 4.redis-事务和管道

    目录 一.事务   1.特性   2.命令 二.管道 pipe   1.操作   2.与原生批量命令对比   4.注意事项   1.特性     1) 单独的隔离操作       Redis的事务仅仅是保证事务里的操作会被连续独占得执行,redis命令执行是单线程架构,在执行完事事务内所有指令是不可能再去同时执行其他客

    2023年04月09日
    浏览(35)
  • django中使用redis和django缓存

    # 两种方式          -方式一:自定义的通用方案(跟框架无关) -写一个py文件:redis_pool.py                                   #连接池             import redis             POOL=redis.ConnectionPool(max_connections=10)       生成POOL。做成单例         -在用的位置,导入直

    2024年02月11日
    浏览(47)
  • Django_使用redis缓存数据

    目录 一、配置redis 二、缓存Django的默认session 三、使用django的缓存机制缓存数据 四、自定义缓存数据 源码等资料获取方法 在settings中添加配置参数 如果需要将session存储到redis中,还需要增加下面的配置参数 查看session是否保存至redis中  注意:会有默认设置过期时间 使用自

    2024年02月13日
    浏览(33)
  • Go Redis 管道和事务之 go-redis

    Redis pipelines(管道) 允许一次性发送多个命令来提高性能,go-redis支持同样的操作, 你可以使用go-redis一次性发送多个命令到服务器,并一次读取返回结果,而不是一个个命令的操作。 Go Redis 管道和事务: https://redis.uptrace.dev/zh/guide/go-redis-pipelines.html 管道 Watch 监听 事务 通过 g

    2024年02月09日
    浏览(40)
  • Redis 7 第五讲 事务、管道、发布订阅 过渡篇

             可以一次执行多个命令,本质是一组命令的集合。一个事务中的所有命令都会序列化,按顺序地串行化执行而不会被其它命令插入,不许加塞          一个队列中,一次性、顺序性、排他性的执行一系列命令 单独的隔离操作 Redis的事务仅仅是保证事务里的操

    2024年02月10日
    浏览(38)
  • Redis(概述、应用场景、线程模式、数据持久化、数据一致、事务、集群、哨兵、key过期策略、缓存穿透、击穿、雪崩)

    目录 Redis概述 应用场景 Redis的线程模式 数据持久化 1.Rdb(Redis DataBase) 2.Aof(Append Only File) mysql与redis保持数据一致 redis事务 主从复制(Redis集群) 哨兵模式 key过期策略 缓存穿透、击穿、雪崩 1.缓存穿透:缓存中没有,在mysql中也没有 2.缓存击穿:数据在数据库中存在,某个

    2024年01月16日
    浏览(64)
  • django中使用celery和接口缓存

    celery中要使用djagno的东西,才要加这句话         import os                          os.environ.setdefault(\\\"DJANGO_SETTINGS_MODULE\\\", \\\"luffy_api.settings.dev\\\") 加载django的配置文件,,将app加入到环境变量中 当一个接口是去数据库取东西,返回给前端,比如图片,等,每个人访问都要去数

    2024年02月12日
    浏览(80)
  • 一个月学通Python(二十六):Django使用缓存

    结合自身经验和内部资料总结的Python教程,每天3-5章,最短1个月就能全方位的完成Python的学习并进行实战开发,学完了定能成为大佬!加油吧!卷起来! 全部文章请访问专栏:《Python全栈教程(0基础)》

    2024年02月15日
    浏览(47)
  • 使用django-admin来做erp,是否需要使用缓存数据库

    需求: 结论:仅仅使用django admin,不需要使用缓存 1:在django admin后台中禁止一次性下载超过100条带有手机号码字段的数据,从而限制转换解密时间在5秒钟内 2:非要缩短时间,让甲方加价钱 展开讨论 首先,Django Admin是Django框架的一个组成部分,用于创建网站的管理后台。它

    2024年01月25日
    浏览(58)
  • springboot:缓存不止redis,学会使用本地缓存ehcache

    随着redis的普及,更多的同学对redis分布式缓存更加熟悉,但在一些实际场景中,其实并不需要用到redis,使用更加简单的本地缓存即可实现我们的缓存需求。 今天,我们一起来看看本地缓存组件ehcache ehcache是基于java开发的本地缓存组件,无需单独安装部署,只要引入jar包就

    2024年02月01日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包