redis常用命令:
select 1 选择使用数据库
字符串:
keys * 所有的 key
get key 获取指定key的值
set key value 设置key的值为value
setget key value 获取key之前的值,并设置新值
mget k1 [k2...] 获取多个key的值
append key value 在之前的key后面添加值
KEY:
del k1 [k2...] 删除指定的key
expire key seconds 给key设置过期时间(s)pexpire(ms)
exists key 检查key是否存在
ttl key 查看key的生存时间,剩余过期时间(s)pttl(ms)
HASH:高级的字符串 相当于一个对象
hset key f1 v1 f2 v2... set只一个哈希数据key的
hgetall key 获取key hash中的所有值
del key f 删除key 下面hash的值
hget key f 获取到key这个hash对象下的 f字段的值
hlen key 获取hash对象的字段数
hmget key f1 [f2] 获取hash对象中多个值
hexists key f 检测hash对象中字段f是否存在
LIST:
lpush key v 名为key的列表中添加一个值
lindex key index 获取index在key这个列表中的值
llen key 获取该列表的长度
lpop key 获取列表第一个元素
rpop key 获取列表最后一个元素
lpush key v1 [v2...] 列表前面添加多个元素
rpush key v1 [v2...] 列表后面添加多个元素
SET:
sadd key value 想key的集合中添加一个数据 成功返回 1(不存在) 否则返回0(存在)
smembers key 集合key的成员分别是
spop key 获取到集合中随机一个数据
ZSET:有序集合
zadd key value [value1..] 向一个有序集合添加一个或则元素
zcard key 有序集合有效的数据个数
mongoDB:
库:
use DATABASE_NAME 创建库,有(切换),无(创建并切换)
show dbs 展示当前所有数据库和占用大小
db.dropDatabase() 删除数据库,当前在那个库下面删除那个库
集合:
db.createCollection(NAME[,option]) 创建一个集合
show collections 展示当前数据库下面所有的集合
db.集合名称.drop() 删除指定的集合
文档:
插入:
更新:
删除:
查询:
1— 线程池子
with ThreadPoolExecutor(max_workers=20) as executor:
# 提交任务到线程池
futures = [executor.submit(执行函数, num) for num in range(0, 3333)]
# 等待所有任务完成
for future in futures:
future.result()
2— 多线程
listsh=[]
for num in range(0, 3333):
t = threading.Thread(target=craw, args=(num,))
listsh.append(t)
t.start()
for i in listsh:
i.join()