python中连接Redis数据库的三种方式(以及添加密码后再连接)

本文深入探讨了如何在Python环境中安装并使用Redis数据库,包括驱动安装、数据库连接、连接池应用及数据操作方法。特别讲解了如何配置和使用连接池以提高效率,以及如何设置密码认证增强安全性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

安装驱动

pip install redis
pip install python-redis

连接数据库

import redis

db = redis.Redis(host=127.0.0.1,port=6379,decode_responses=False)
db.set('foo', 'Bar')
print(db.get('foo'))
a = input('按任意键结束')

如果要添加连接池则先创建连接池

目的是为了减少每次建立、释放连接的开销,推荐使用连接池
redis使用connection pool来管理对一个redis服务的所有连接。
多个redis实例可共享一个连接池。
详细解析
为什么使用连接池?
首先Redis也是一种数据库,它基于C/S模式,因此如果需要使用必须建立连接,稍微熟悉网络的人应该都清楚地知道为什么需要建立连接,C/S模式本身就是一种远程通信的交互模式,因此Redis服务器可以单独作为一个数据库服务器来独立存在。假设Redis服务器与客户端分处在异地,虽然基于内存的Redis数据库有着超高的性能,但是底层的网络通信却占用了一次数据请求的大量时间,因为每次数据交互都需要先建立连接,假设一次数据交互总共用时30ms,超高性能的Redis数据库处理数据所花的时间可能不到1ms,也即是说前期的连接占用了29ms,连接池则可以实现在客户端建立多个链接并且不释放,当需要使用连接的时候通过一定的算法获取已经建立的连接,使用完了以后则还给连接池,这就免去了数据库连接所占用的时间。

import redis
pool=redis.ConnectionPool(decode_response=True)
db=redis.Redis(connection_pool=pool,host=127.0.0.1,port=6379)
或者:

pool = redis.ConnectionPool(host='207.148.120.229',port=6379)
conn = redis.Redis(connection_pool=pool)
conn.set('key', 'Hello World')
print(conn.get('key'))
a = input('按任意键结束')

又一种连接数据库的方式,方法和redis-cli 的使用命令基本一致

db=redis.StrictRedis(host='127.0.0.1', port=6379)
 数据操作
db.set("name","disen")  # 添加string类型的key-value
print(db.get("name"))  # 速去string类型的key
db.lpush("names","disen","jack","mack")
db.lrange("name",0,-1)

Redis开启密码认证

  我们安装完Redis之后,在终端中输入redis-cli 直接进入redis数据库,redis默认是不需要密码认证的,只要连接的redis服务器的host和port(默认6379)正确,就可以连接使用。在这个信息化时代数据对我们来说是十分重要的我们并不想让别人随便访问我们的数据库,免密登录这显然不是我们所希望

  1. 修改配置文件
    redis的配置文件默认在/etc/redis.conf,sudo vim redis.conf找到如下行:
    #requirepass foobared
    去掉前面的注释,并修改为所需要的密码:
    requirepass 123456(123456是要设置的密码)

  2. 重启Redis服务
    如果Redis已经配置为service服务,可以通过以下方式重启:service redis restart
    如果Redis没有配置为service服务,可以通过以下方式重启:
    /usr/local/bin/redis-cli shutdown
    /usr/local/bin/redis-server /etc/redis.conf

    1. 登录验证
      设置redis认证密码后,客户端登录时需要使用-a参数输入认证密码,不添加该参数虽然也可以登录成功,但是没有任何操作权限。如下:Redis-cli -h host -p port -a pwd
redis-cli -h 127.0.0.1 -p 6379 -a 123456
127.0.0.1:6379> config get requirepass
1) "requirepass"
2) "123456"

看到类似上面的输出,说明Reids密码认证配置成功。

  1. 而python代码中用密码连接则如下:其他两种方式雷同
import redis
pool=redis.ConnectionPool(decode_response=True)
db=redis.Redis(connection_pool=pool,host=127.0.0.1,port=6379, password='123456')
### 配置自定义Ubuntu终端设置 #### 设置终端窗口大小字体大小 对于希望调整Ubuntu终端窗口大小以及改变终端内使用的字体尺寸的用户来说,可以在系统的图形界面中通过特定选项实现这一需求[^2]。进入终端后,在编辑菜单下找到首选项,这里可以更改字体样式、大小以及其他显示属性。 #### 默认打开即最大化的终端 为了使每次启动的`gnome-terminal`都处于最大化状态,可修改其`.desktop`文件,在原有启动命令的基础上追加`--maximize`参数。此改动使得新开启的所有实例都会自动扩展至全屏模式。 ```bash # 找到并编辑 gnome-terminal 的 .desktop 文件路径通常位于 /usr/share/applications/ sudo nano /usr/share/applications/gnome-terminal.desktop ``` 在该文件内的`Exec=`行后面加上`--maximize`即可保存退出重启应用生效。 #### 自定义终端窗口位置 如果想要让终端总是在屏幕上的某个固定地点弹出,则需先利用工具获取目标区域的信息。这可通过执行如下指令完成: ```bash xwininfo ``` 运行上述命令之后点击任意已存在的窗口就能得到关于它的几何数据;依据这些数值再配合快捷方式设定来达到目的。创建一个新的键盘快捷键关联至下面这样的脚本将会很有帮助[^3]: ```bash #!/bin/bash geometry="WIDTHxHEIGHT+XOFFSET+YOFFSET" gnome-terminal --geometry=$geometry & ``` 请替换掉模板里的宽度高度还有偏移量部分为实际测量所得的具体数字。 #### 更改终端颜色方案 针对偏好不同色彩搭配的人群而言,Ubuntu允许简单几步就切换成黑白对比度高的配色——白色背景配上黑色文字。前往终端偏好设置里寻找外观标签页下的调色板选项卡,从中挑选预设主题或是手动输入RGB值来自定义前景色与背景色组合[^4]。 此外还可以进一步个性化命令行提示符的样子,比如加入当前登录用户的名称或者是机器的名字等元素,增强辨识度的同时也增加了趣味性。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值