python中连接Redis数据库的三种方式(以及添加密码后再连接) 您所在的位置:网站首页 redis-py-cluster python中连接Redis数据库的三种方式(以及添加密码后再连接)

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

2023-12-24 05:13| 来源: 网络整理| 查看: 265

安装驱动

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)正确,就可以连接使用。在这个信息化时代数据对我们来说是十分重要的我们并不想让别人随便访问我们的数据库,免密登录这显然不是我们所希望

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

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

登录验证 设置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密码认证配置成功。

而python代码中用密码连接则如下:其他两种方式雷同 import redis pool=redis.ConnectionPool(decode_response=True) db=redis.Redis(connection_pool=pool,host=127.0.0.1,port=6379, password='123456')


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有