鱼C论坛

 找回密码
 立即注册
查看: 1361|回复: 5

[已解决]Python Redis 带密码测试失败是需要修改计算机的登录密码吗? 谢谢

[复制链接]
发表于 2021-10-21 21:30:10 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
import  redis

ip = '127.0.0.1'


conn_pool = redis.ConnectionPool(host=ip,port=6379)
r = redis.Redis(connection_pool=conn_pool)
r.set('name','zhangsansan')
print(r.get('name'))

////////////////////////////////////////////////////////


import  redis

ip = '127.0.0.1'
password = '123456'

conn_pool = redis.ConnectionPool(host=ip,password=password, port=6379)
r = redis.Redis(connection_pool=conn_pool)
r.set('name','zhangsansan')
print(r.get('name'))


测试失败,是需要修改计算机的登录密码吗? 谢谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2021-10-21 21:32:20 | 显示全部楼层
  1. #单例,类可以定义很多个实例,继承了单例的类,就只能实例化一个对象
  2. class Singleton(object):
  3.     def __new__(cls, *args, **kw):
  4.         if not hasattr(cls, '_instance'):
  5.             orig = super(Singleton, cls)
  6.             cls._instance = orig.__new__(cls, *args, **kw)
  7.         return cls._instance

  8. #redis的客户端类,继承单例类,所以只能有一个对象实例
  9. class RedisClient(Singleton):
  10.     #__init__就是构建函数
  11.     #类:有构建函数__init__和析构函数(pyhton一般用不到)
  12.     def __init__(self):
  13.         #pool连接池,创建一个127.0.0.1的redis连接,端口号6379
  14.         #一个tcp连接需要有ip和端口号,
  15.         #127.0.0.1本地的IP地址或者localhost也可以
  16.         #decode_responses自动解析字符串
  17.         self.pool = redis.ConnectionPool(
  18.             host='127.0.0.1', port=6379, db=0, decode_responses=True
  19.         )

  20.     #定义该函数为只读
  21.     @property
  22.     def conn(self):#类里的函数,这个函数是用来获取连接的
  23.         if not hasattr(self, '_conn'):#看这个类中有没有_conn这个参数
  24.             self.getConnection()    #调用函数进行连接到redis服务器
  25.         return self._conn           #如果已经有了_conn这个参数,说明已经连接过了,就直接返回这个连接

  26.     #连接到本地redis服务器的函数
  27.     def getConnection(self):
  28.         self._conn = redis.Redis(connection_pool = self.pool)


  29. #实例化redis客户端类对象
  30. rcli = RedisClient()

  31.     #rcli.conn返回的是一个连接
  32.     #hex_get,
  33.     res = rcli.conn.hget("record",name)
  34.     #如果查询到结果就返回结果,没有的话就返回一个None
  35.     if res is None:
  36.         print("未查询到结果")
  37.     else:
  38.         res_obj=eval(res) #把他变成一个ditc字典
  39.         #print函数%s代表着字符串。%d就是整数
  40.         print("姓名:%s,最近一次战绩时间%s,用了%d次\r\n"%(name,res_obj["time"],res_obj["count"]))


复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-10-21 21:37:20 | 显示全部楼层
redis设置密码了吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-10-21 21:41:46 | 显示全部楼层
suchocolate 发表于 2021-10-21 21:37
redis设置密码了吗?

不知道怎么查,应该是没有设置
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-10-21 21:57:03 | 显示全部楼层    本楼为最佳答案   
wideband 发表于 2021-10-21 21:41
不知道怎么查,应该是没有设置

https://www.runoob.com/redis/redis-security.html
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-10-22 08:45:03 | 显示全部楼层
import  redis
ip = '127.0.0.1'

conn_pool = redis.ConnectionPool(host=ip,port=6379,decode_responses=True)
r = redis.Redis(connection_pool=conn_pool)

name = "zhangsan"
h=1.8
w=50

obj={'h':h,'w':w}

r.hset("record",name,str(obj))
res=r.hget("record",name)

res_obj=eval(res)
print("姓名:%s,身高%s,体重%d \r\n"%(name,res_obj["h"],res_obj["w"]))
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-6-3 03:23

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表