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

yipeiwu_com7年前Python基础

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

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

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

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

# 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)

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

相关文章

Python paramiko模块使用解析(实现ssh)

开发堡垒机之前,先来学习Python的paramiko模块,该模块基于SSH用于连接远程服务器并执行相关操作 安装paramiko模块 pip3 install paramiko...

Flask实现跨域请求的处理方法

在Flask开发RESTful后端时,前端请求会遇到跨域的问题。下面是解决方法: 使用 flask-cors库可以很容易的解决 pip install flask-cors 两种方...

python3基于TCP实现CS架构文件传输

本文实例为大家分享了python3实现CS架构文件传输的具体代码,供大家参考,具体内容如下 1、目标: 基于tcp实现CS架构的文件传输 指令列表:(1)get:从服务器端下载文件 &n...

基于Python获取城市近7天天气预报

基于Python获取城市近7天天气预报

这篇文章主要介绍了基于Python获取城市近7天天气预报,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 首先,我们打开中国天气网,找到...

Django app配置多个数据库代码实例

这篇文章主要介绍了Django app配置多个数据库代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 每个app使用不同的数据库...