Python操作Redis详解

Redis是一个基于内存的高效的键值型非关系型数据库,存取效率极高,而且支持多种存储数据结构,使用也非常简单。
在上篇博文我们已经学会了如何安装redis数据库
redis安装及其图形化界面安装以及与Python的交互
以及安装其图形化界面Redisdesktopmanager
并且学习了如何用Python来连接Python
并且用Python创建一个分布式锁
接下来我们详细学习一下Python的Redis操作,主要介绍RedisPy这个库的用法。

连接Redis

现在我们已经在本地安装了Redis并运行在6379端口,密码设置为fgabcdef。那么,可以用如下示例连接Redis并测试:

from redis import StrictRedis
redis = StrictRedis(host='localhost', port=6379, db=0, password='foobared')
redis.set('name', 'Bob')
print(redis.get('name'))

这里我们传入了Redis的地址、运行端口、使用的数据库和密码信息。在默认不传的情况下,这4个参数分别为localhost、6379、0和None。首先声明了一个StrictRedis对象,接下来调用set()方法,设置一个键值对,然后将其获取并打印。
观察上图的结果这说明我们连接成功,并可以执行set()和get()操作了。

当然,我们还可以使用ConnectionPool来连接,示例如下:

from redis import StrictRedis, ConnectionPool

pool = ConnectionPool(host='localhost', port=6379, db=0, password='foobared')
redis = StrictRedis(connection_pool=pool)

另外,ConnectionPool还支持通过URL来构建。URL的格式支持有如下3种:

url = 'redis://:foobared@localhost:6379/0'
pool = ConnectionPool.from_url(url)
redis = StrictRedis(connection_pool=pool)

键操作

下表总结了键的一些判断和操作方法。
在这里插入图片描述在这里插入图片描述

字符串操作

Redis支持最基本的键值对形式存储,用法总结如下表所示。
在这里插入图片描述
在这里插入图片描述

列表操作

Redis还提供了列表存储,列表内的元素可以重复,而且可以从两端存储,用法如下表所示。
在这里插入图片描述
在这里插入图片描述

集合操作

Redis还提供了集合存储,集合中的元素都是不重复的,用法如下表所示。
在这里插入图片描述
在这里插入图片描述

有序集合操作

有序集合比集合多了一个分数字段,利用它可以对集合中的数据进行排序,其用法总结如下表所示。
在这里插入图片描述
在这里插入图片描述

哈希操作

Redis还提供了哈希表的数据结构,我们可以用name指定一个哈希表的名称,表内存储了各个键值对,用法总结如下表所示。
在这里插入图片描述
在这里插入图片描述

RedisDump

RedisDump提供了强大的Redis数据的导入和导出功能,现在就来看下它的具体用法。

首先,确保已经安装好了RedisDump。

RedisDump提供了两个可执行命令:redis-dump用于导出数据,redis-load用于导入数据。

redis-dump

首先,可以输入如下命令查看所有可选项:

redis-dump -h

运行结果如下:

Usage: redis-dump [global options] COMMAND [command options] 
    -u, --uri=S                      Redis URI (e.g. redis://hostname[:port])
    -d, --database=S                 Redis database (e.g. -d 15)
    -s, --sleep=S                    Sleep for S seconds after dumping (for debugging)
    -c, --count=S                    Chunk size (default: 10000)
    -f, --filter=S                   Filter selected keys (passed directly to redis' KEYS command)
    -O, --without_optimizations      Disable run time optimizations
    -V, --version                    Display version
    -D, --debug
        --nosafe

其中-u代表Redis连接字符串,-d代表数据库代号,-s代表导出之后的休眠时间,-c代表分块大小,默认是10000,-f代表导出时的过滤器,-O代表禁用运行时优化,-V用于显示版本,-D表示开启调试。

同样,我们可以首先输入如下命令查看所有可选项

redis-load -h

运行结果:

redis-load --help
  Try: redis-load [global options] COMMAND [command options] 
    -u, --uri=S                      Redis URI (e.g. redis://hostname[:port])
    -d, --database=S                 Redis database (e.g. -d 15)
    -s, --sleep=S                    Sleep for S seconds after dumping (for debugging)
    -n, --no_check_utf8
    -V, --version                    Display version
    -D, --debug
        --nosafe

好啦,接下来我们就去做一做分布式爬虫吧!

  • 2
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值