自定义redis连接池(字典操作)


pool=redis.ConnectionPool(host='127.0.0.1', port=6379,max_connections=1000)
conn=redis.Redis(connection_pool=pool)
'''
所有的网络通信都是socket来进行通信的
创建连接池,创建连接池的过程,就是多个socket的过程
去连接池中获取连接
创建连接池,在连接他
'''
 
 
例子:

创建连接池
import   redis
##所有的网络都是socket来进行通信的
##创建连接池,创建连接池的过程,就是多个socket的过程
pool=redis.ConnectionPool(host='127.0.0.1', port=6379,max_connections=1000)#如果有密码的话,后面还要写密码
##取连接池中获取连接
conn=redis.Redis(connection_pool=pool)
#创建连接池,在连接他



哈希操作:
清空缓存里面所有的值:
conn.flushall()

拿到redis里面所有的键:
conn.keys()

获取单个:hset,hget
##字典操作k4:{name:'yunxin',age:26}
# conn.hset('k1','name','yunxin')
# conn.hset('k1','age','20')
##上面是把值存进字典里面,执行完之后已经把值存进字典里面了
'''
k1:{name:yunxin,
age:20}
'''



获取全部:hgetall
# # conn.set('foo','Bar')
# val=conn.hgetall('k1')
# ##取全部的值操作
# print(val)


批量设置,批量获取:hmset,hmget
# conn.hmset('k2',{'name':None,'age':20})
val=conn.hmget('k2','name','age')
# print(val)




获取长度:hlen
conn.hlen('k2')
'''
hdel 删除
hexist
hvals
'''

判断是否存在:hexists
# val=conn.hexists('k2','name')#判断是否存在改值
#只要存在性对应的键就可以为真
# print(val)


计数器:hincrby
conn.hincrby('k2','age',amount=2)##可以每一次都加1,age的值,只要上面没有重新赋值,每次都可以加1操作,amount=2每一次增加2
# print(conn.hget('k2','age'))

增加浮点数:hincrbyfloat
# conn.hincrbyfloat('k2','age',amount=0.1)##





生成器:hscan_iter

##下面拿到的是一个生成器,可以一个一个的取数据
# ret=conn.hscan_iter('k2',count=10)##第一次 循环的时候,取了10条数据出来
# for i in ret:
# print(i)
##在下面循环打印出来
#迭代器iter(生成器或者是可迭代对象(列表))的话,取数据是__next__


生成器内部实现原理
'''
cursor = '0'
while cursor != 0:
cursor, data = self.scan(cursor=cursor, match=match, count=count)
for item in data:
yield item
'''
'''
cursor是起始位置,取数据的位置
count是取多少条数据出来
'''








 

 

转载于:https://www.cnblogs.com/yunxintryyoubest/p/9904894.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值