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是取多少条数据出来
'''
 

自定义redis连接池(字典操作)的更多相关文章

  1. 泊爷带你学go -- redis连接池的操作

    package main import ( "common" "fmt" "proto" "strconv" " ...

  2. java操作redis redis连接池

    redis作为缓存型数据库,越来越受到大家的欢迎,这里简单介绍一下java如何操作redis. 1.java连接redis java通过需要jedis的jar包获取Jedis连接. jedis-2.8 ...

  3. Redis】Java中使用Jedis操作Redis(Maven导入包)、创建Redis连接池

    如果我们使用Java操作Redis, 需要确保已经安装了 redis 服务及 Java redis 驱动. Maven项目可以直接在pom.xml中加入jedis包驱动: <!-- https: ...

  4. Django day35 redis连接池,redis-list操作,django中使用redis,支付宝支付

    一:redis连接池, 二:redis-list操作, 三:django中使用redis, 四:支付宝支付

  5. redis连接池操作

    /** * @类描述 redis 工具 * @功能名 POJO * @author zxf * @date 2014年11月25日 */public final class RedisUtil { p ...

  6. 三:Redis连接池、JedisPool详解、Redisi分布式

    单机模式: package com.ljq.utils; import redis.clients.jedis.Jedis; import redis.clients.jedis.JedisPool; ...

  7. Redis连接池

    package com.lee.utils; import redis.clients.jedis.Jedis; import redis.clients.jedis.JedisPool; impor ...

  8. python使用dbutils的PooledDB连接池,操作数据库

    1.使用dbutils的PooledDB连接池,操作数据库. 这样就不需要每次执行sql后都关闭数据库连接,频繁的创建连接,消耗时间 2.如果是使用一个连接一直不关闭,多线程下,插入超长字符串到数据库 ...

  9. redis连接池 jedis-2.9.0.jar+commons-pool2-2.4.2.jar

    java使用Redis连接池  jar包为 jedis-2.9.0.jar+commons-pool2-2.4.2.jar jar下载地址 package com.test; import redis ...

随机推荐

  1. extjs.net Combox赋值

    1.直接赋值 ].Rows) //遍历获取两个值 { Ext.Net.ListItem listItem = new Ext.Net.ListItem(); //每次创建一个Ext.Net.ListI ...

  2. 钉钉C# 使用数据接口要注意的问题

    1.钉钉的数据json全部使用的首字母小写的驼峰写法,如果首字母大写,将读取接口失败. 2.钉钉的文档同一个接口可能有simple和非simple两种写法,如果发现数据不全,可以把simple去掉试试 ...

  3. 使用Nginx在windows和linux上搭建集群

    Nginx Nginx (engine x) 是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器 特点:反向代理 负载均衡 动静分离… 反向代理(Reverse Pro ...

  4. 数据库面试题之COUNT(*),COUNT(字段),CONUT(DISTINCT 字段)的区别

    COUNT(*).明确的返回数据表中的数据个数,是最准确的 COUNT(列),返回数据表中的数据个数,不统计值为null的字段 COUNT(DISTINCT 字段) 返回数据表中不重复的的数据个数,不 ...

  5. MFC中psz_data无法读取内存的错误

    1.项目 ->属性->C/C++ -->预编译头文件,改为“不适用预编译头” 出现ATL::CSimplestring错误,psz_data无法读取内存 2.修改如下:鼠标右击 项目 ...

  6. deque

    转自:https://www.cnblogs.com/LearningTheLoad/p/7450948.html deque双向开口可进可出的容器 我们知道连续内存的容器不能随意扩充,因为这样容易扩 ...

  7. [C++]PAT乙级1002.写出这个数(20/20)

    /* 1002. 写出这个数 (20) 读入一个自然数n,计算其各位数字之和,用汉语拼音写出和的每一位数字. 输入格式:每个测试输入包含1个测试用例,即给出自然数n的值.这里保证n小于10^100. ...

  8. JSTL 递增序号

    <c:forEach items="${signBusList}" var="sign" varStatus="xh"> ${x ...

  9. struts基础3-把数据写入页面

    一.OGNL(Object-Groph Navigation Language) 是一种强大的表达式语言,可以存取对象的任意属性,调用对象的方法,遍历整个对象的结构图,实现字段类型转化等功能. 1)与 ...

  10. HashSet、TreeSet和LinkedHashSet分别基于HashMap、TreeMap和LinkedHashMap

    1.如果你需要一个访问快速的Set,你应该使用HashSet: 当你需要一个排序的Set,你应该使用TreeSet: 当你需要记录下插入时的顺序时,你应该使用LinedHashSet. 2.因为Tre ...