日常小结

1.使用mongodb时,如果存入键值对数据的键名中含有英文句号,在插入的时候会保存,导致无法插入数据

mongo_client = MongoClient('127.0.0.1', 27017)
db_auth = mongo_client['admin']
db_auth.authenticate('username','password')
collection = mongo_client['qweasd']['qwe']
data = {'_id':'aaa','.bbb':'ccc'}
collection.insert_one(data)

#报错
bson.errors.InvalidDocument: key '.bbb' must not contain '.'

 遇到这种情况下,在插入数据的时候加上check_keys即可

collection.insert(data,check_keys=False)

 当然,mongodb中.有特殊的用途,除了万不得已的情况下使用check_keys参数之外,最好的情况是当你的数据中含有.时,你可以使用Unicode码来替换

 除了.之外,mongodb键名中同时还不能出现

/  " $ * < > : | ?

 等数据,如果你的数据中含有这些的话,规避吧,或者设置不检查键名

2.使用wget来下载文件时,需要下载到指定的目录下,在网上找了一圈,说给定一个-P参数即可

wget -P path 'www.baidu.com' -O baidu.txt

 但是很奇怪,我的执行之后path下并没有baidu.txt,反而在执行该命令的路径下出现了,奇哉怪哉,于是索性在-O上下功夫

wget 'www.baidu.com' -O /home/.../baidu.txt

 很显然,这必须可以呀

3.redis集群情况下,如何遍历集群下所有的数据库?

  scan_iter()可以轻松实现

原文地址:https://www.cnblogs.com/sthu/p/12103956.html