服务器之家

服务器之家 > 正文

Python实现遍历数据库并获取key的值

时间:2020-06-30 09:40     来源/作者:Python教程网

遍历Redis数据库中有以格式为PREFIX_*的按照key-value方式存储的key,并打印其值.

遍历使用SCAN,因为KEYS PREFIX_*可能会造成Redis长时间阻塞。
查询使用pipeline减少交互,提高效率。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
import redis
import hiredis
 
pool = redis.ConnectionPool(host='127.0.0.1', port=6379, db=0)
r = redis.Redis(connection_pool=pool)
 
pipe = r.pipeline()
pipe_size = 100000
 
len = 0
key_list = []
for key in r.scan_iter(match='PREFIX_*', count=100000):
key_list.append(key)
pipe.get(key)
 if len < pipe_size:
 len += 1
else:
 for (k, v) in zip(key_list, pipe.execute()):
 print k, v
 len = 0
 key_list = []
 
for (k, v) in zip(key_list, pipe.execute()):
 print k, v

附上其他网页的代码,参考下吧

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# filename itertaorfilefolder
import os
import os.path
 
filePath = raw_input('Enter filepath : ')
 
#遍历文件夹
#三个参数:分别返回1.父目录 2.所有文件夹名字(不含路径) 3.所有文件名字
for parent ,dirnames , filenames in os.walk(filePath):
  #输出文件夹信息
  for dirname in dirnames:
    print 'parent is :'+parent
    print 'dirname is '+ dirname
  #输出文件信息
  for filename in filenames :
    print 'parent is :'+parent
    print 'filename is :' + filename
    #输出文件路径信息
    currentPath = os.path.join(parent,filename)
    print 'the fulll name of the file is :'+ currentPath
    filesize = os.path.getsize(currentPath)/1024/1024
    print 'the file size is : %.3f MB' %(filesize)
    #删除大于50m的文件
    if filesize > 50:
      delete = raw_input(' are you sure to delete ?')
      if delete == 'yes':
        os.remove(currentPath)

以上所述就是本文的全部内容了,希望大家能够喜欢。

相关文章

热门资讯

2022年最旺的微信头像大全 微信头像2022年最新版图片
2022年最旺的微信头像大全 微信头像2022年最新版图片 2022-01-10
蜘蛛侠3英雄无归3正片免费播放 蜘蛛侠3在线观看免费高清完整
蜘蛛侠3英雄无归3正片免费播放 蜘蛛侠3在线观看免费高清完整 2021-08-24
背刺什么意思 网络词语背刺是什么梗
背刺什么意思 网络词语背刺是什么梗 2020-05-22
yue是什么意思 网络流行语yue了是什么梗
yue是什么意思 网络流行语yue了是什么梗 2020-10-11
暖暖日本高清免费中文 暖暖在线观看免费完整版韩国
暖暖日本高清免费中文 暖暖在线观看免费完整版韩国 2021-05-08
返回顶部