学习总结
学习总结:
(1)【新闻推荐系统】(task2)mysql和pymysql使用 (2)【新闻推荐系统】(task2)MongoDB篇
(3)【新闻推荐系统】(task2)Redis篇(上)
(4)【新闻推荐系统】(task2)Python调用Redis
关于redis的数据类型总结:
文章目录
- 学习总结
- 二、Python调用Redis
- 2.1 安装Redis模块
- 2.2 Python连接Redis
- (1)直连模式
- (2)连接池模式
- 2.3 基本操作
- 1. String操作
- 2. Hash操作
- 3. List操作
- 4. Set操作
- 5. SortedSet操作
- 6. 管道操作
- Reference
二、Python调用Redis
在Python中,目前可以通过一个redis模块来实现操控Redis,下面我们简单的介绍一下关于使用redis模块。
2.1 安装Redis模块
如果是在Windows 系统,安装 redis 模块可以使用以下命令:
如果是 Linux 系统,需要执行以下命令来安装:
如果是使用Anaconda管理环境,也可以使用以下命令安装:
2.2 Python连接Redis
Redis模块提供了两种连接的模式:直连模式和连接词模式。
(1)直连模式
直连模式的方式简单方便,适合少量长期连接的场景。其中host参数是ip地址,如果Redis服务存在于本地,可以使用127.0.0.1,或者换成Redis服务所在的ip地址。db表示当前选择的库,其参数值可以是 0-15;如果设置连接数据库的密码,那么就需要使用password进行验证。
(2)连接池模式
连接池模式是使用 connection pool(连接池)来管理 redis server 的所有连接,每个Redis实例会维护自己的连接池来管理管理对一个 redis server 所有的连接,避免每次建立,释放连接的开销。
上面的参数,decode_responses=True
可以使得redis取出的结果改成字符串,其默认的是字节, max_connections
参数可以设置最大连接数量,这样当有新的客户端请求连接时,只需要去连接池获取即可,这样就可以把一个连接共享给多个客服端,减少每次连接所消耗的时间以及资源。
2.3 基本操作
在Redis模块中,提供了Redis和StrictRedis来支持Redis访问和操作。其中 StrictRedis 使用python基于Redis协议实现了所有官方的Redis操作命令,也就是说其实对于python操作redis的API接口和上面提到的Redis官方接口一样。因此下面我们就简单介绍一些常用的方法。
1. String操作
运行结果
2. Hash操作
批量操作:
如果按照上面的hmset
是会报错的:DeprecationWarning: Redis.hmset() is deprecated. Use Redis.hset() instead.
所以将hmset()
改成hset
即可。
【注意】Redis 4.0.0开始弃用HMSET,请使用HSET!!
添加:返回添加数量
修改数值:成功返回0
example:
如果是在python上的redis则可以参考Stack Overflow:
运行结果
3. List操作
全部的运行结果:
4. Set操作
运行结果为:
5. SortedSet操作
运行结果
6. 管道操作
Redis 模块默认在执行每次请求都会向连接池请求创建连接和断开申请操作,如果想要在一次请求中指定多个命令,则可以使用pipline实现一次请求指定多个命令,并且默认情况下一次pipline 是原子性操作(即为一次操作)。
运行结果
Reference
(1)redis官方文档
(2)datawhale notebook
(3)python对redis的连接和操作
(4)聊聊 python 数据处理全家桶(Redis篇)