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

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

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

2. 拿到redis里面所有的键:
conn.keys()
3. 获取单个:hset,hget
##字典操作k4:{name:'yunxin',age:26}
# conn.hset('k1','name','yunxin')
# conn.hset('k1','age','20')
##上面是把值存进字典里面,执行完之后已经把值存进字典里面了
'''
k1:{name:yunxin,
age:20}
'''
4. 获取全部:hgetall
# # conn.set('foo','Bar')
# val=conn.hgetall('k1')
# ##取全部的值操作
# print(val)
5. 批量设置,批量获取:hmset,hmget
# conn.hmset('k2',{'name':None,'age':20})
val=conn.hmget('k2','name','age')
# print(val)
6. 获取长度:hlen
conn.hlen('k2')
hdel    删除
hexist
hvals
7. 判断是否存在:hexists
# val=conn.hexists('k2','name')#判断是否存在改值
#只要存在性对应的键就可以为真
# print(val)
8. 计数器:hincrby
conn.hincrby('k2','age',amount=2)##可以每一次都加1,age的值,只要上面没有重新赋值,每次都可以加1操作,amount=2每一次增加2
# print(conn.hget('k2','age'))
9. 增加浮点数:hincrbyfloat
# conn.hincrbyfloat('k2','age',amount=0.1)##
10. 生成器:hscan_iter
##下面拿到的是一个生成器,可以一个一个的取数据
# ret=conn.hscan_iter('k2',count=10)##第一次 循环的时候,取了10条数据出来
# for  i in ret:
#     print(i)
##在下面循环打印出来
#迭代器iter(生成器或者是可迭代对象(列表))的话,取数据是__next__

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

 

posted @ 2018-11-04 17:40  风不再来  阅读(1055)  评论(0编辑  收藏  举报