鱼C论坛

 找回密码
 立即注册
查看: 1529|回复: 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 | 显示全部楼层
#单例,类可以定义很多个实例,继承了单例的类,就只能实例化一个对象
class Singleton(object):
    def __new__(cls, *args, **kw):
        if not hasattr(cls, '_instance'):
            orig = super(Singleton, cls)
            cls._instance = orig.__new__(cls, *args, **kw)
        return cls._instance

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

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

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


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

    #rcli.conn返回的是一个连接
    #hex_get,
    res = rcli.conn.hget("record",name)
    #如果查询到结果就返回结果,没有的话就返回一个None
    if res is None:
        print("未查询到结果")
    else:
        res_obj=eval(res) #把他变成一个ditc字典
        #print函数%s代表着字符串。%d就是整数
        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, 2025-1-12 22:54

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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