摘要: Celery是Python中最流行的异步消息队列框架,支持RabbitMQ、Redis、ZoopKeeper等作为Broker,而对这些消息队列的抽象,都是通过Kombu实现的。Kombu实现了对AMQP transport和non-AMQP transports(Redis、Amazon SQS、 阅读全文
posted @ 2022-10-31 18:50 Kevin_zsq 阅读(38) 评论(0) 推荐(0)
摘要: 以celery worker启动为例: 起celery worker 的指令为 celery -A mysite.celery worker 如果指定-c 2 代表celery fork出两个子进程。 首先从启动worker进程的入口出发: 文件:Celery/bin/celery.py 这个文件是 阅读全文
posted @ 2022-10-31 18:47 Kevin_zsq 阅读(156) 评论(0) 推荐(0)
摘要: 一、行锁加锁规则在RR隔离级别,行锁的加锁规则:1、加锁原则:加锁的基本单元是next-key lock(前开后闭区间),且查找过程中访问的对象才会加锁2、等值查询next-key lock退化情况:(1)唯一索引上的等值查询,查询到结果时,next-key lock退化成行锁(2)索引上的等值查询 阅读全文
posted @ 2022-10-31 17:11 Kevin_zsq 阅读(279) 评论(0) 推荐(0)
摘要: import redis import time S_REDIS = redis.Redis( host='10.127.0.0', port='8088', db=9, password='test', decode_responses=True, retry_on_timeout=True, h 阅读全文
posted @ 2022-10-31 15:59 Kevin_zsq 阅读(35) 评论(0) 推荐(0)
摘要: 一、研究问题1:redis 配置文件设置了选项timeout后,是否会导致大量close_wait状态连接 注:redis配置文件timeout选项说明如下 # Close the connection after a client is idle for N seconds (0 to disab 阅读全文
posted @ 2022-10-31 13:52 Kevin_zsq 阅读(779) 评论(0) 推荐(0)
摘要: 问题现象:后端更新完数据库记录版本号后,前端展示的记录版本号仍然为老的版本号 问题分析: 客户端展示的版本号是从缓存中获取的,在更新后端数据库记录的时候,采用双写的方式,但是双写过程中,存在部分业务代码没有删除缓存。 双写的意思是既对sql数据库进行了修改(修改的意思就是增删改),又对redis缓存 阅读全文
posted @ 2022-10-31 13:48 Kevin_zsq 阅读(107) 评论(0) 推荐(0)