背景
根据公司业务的需求,需要做一个对于mysql数据库的大批量更新。脚本嘛也是干干单单。使用了redis的队列做缓存,可以异步并发的多任务进行更新。
有点难受的地方在于,请求访问时,因为一些网速,速率之内的原因,导致正常的数据会请求失败。处理的方法呢,就是多请求几次。
不过,麻烦的地方在于,每次重新请求,都要讲原来get,和put的key转换。手动更换起来麻烦的一批。
所以就想做一个自动的转换小demo。
成熟的代码应该学会自己照顾自己。
自动转换的机制是: 每一次请求,判断bool值,依据bool值分别赋值,每次请求之前或者请求完成之后,需要修改Bool值。
这就涉及到今天的重点了,bool值的取反。
b = True
a = bool(1-b)
bool()函数中的1-bool值 就是取bool值的反值了。
实验的代码如下:
def negation_bool(b):
b = bool(1 - b)
return b
def up(b):
if b is True:
unique1 = "map_url"
unique2 = "map2_url"
else:
unique1 = "map2_url"
unique2 = "map_url"
return unique1, unique2
b = True
num = 5
for i in range(num * 2):
b = negation_bool(b)
unique1, unique2 = up(b)
print(unique1, unique2)
print("+" * 50)
可以看到每次的值都是相反的。
bool值的取反操作,可以用来做一些有规律行的修改变量操作。例如代码启动的指示变量,代码中关键的值等等。
我们的原则就是,能自动的绝不手动,能一键启动的,绝不会做多余的操作。
我是北房有佳人,金窝藏娇的那个哟O(∩_∩)O哈哈~