自定义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是取多少条数据出来
'''
自定义redis连接池(字典操作)的更多相关文章
- 泊爷带你学go -- redis连接池的操作
package main import ( "common" "fmt" "proto" "strconv" " ...
- java操作redis redis连接池
redis作为缓存型数据库,越来越受到大家的欢迎,这里简单介绍一下java如何操作redis. 1.java连接redis java通过需要jedis的jar包获取Jedis连接. jedis-2.8 ...
- Redis】Java中使用Jedis操作Redis(Maven导入包)、创建Redis连接池
如果我们使用Java操作Redis, 需要确保已经安装了 redis 服务及 Java redis 驱动. Maven项目可以直接在pom.xml中加入jedis包驱动: <!-- https: ...
- Django day35 redis连接池,redis-list操作,django中使用redis,支付宝支付
一:redis连接池, 二:redis-list操作, 三:django中使用redis, 四:支付宝支付
- redis连接池操作
/** * @类描述 redis 工具 * @功能名 POJO * @author zxf * @date 2014年11月25日 */public final class RedisUtil { p ...
- 三:Redis连接池、JedisPool详解、Redisi分布式
单机模式: package com.ljq.utils; import redis.clients.jedis.Jedis; import redis.clients.jedis.JedisPool; ...
- Redis连接池
package com.lee.utils; import redis.clients.jedis.Jedis; import redis.clients.jedis.JedisPool; impor ...
- python使用dbutils的PooledDB连接池,操作数据库
1.使用dbutils的PooledDB连接池,操作数据库. 这样就不需要每次执行sql后都关闭数据库连接,频繁的创建连接,消耗时间 2.如果是使用一个连接一直不关闭,多线程下,插入超长字符串到数据库 ...
- 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 ...
随机推荐
- C JAVA你可能不知道的那些编程细节
关于printf的格式化字符 %* *与其它占位符结合使用, *将首先被一个 int 变量值代替后再被格式化. 如 printf("%.*s.", 2, "Hello&q ...
- EFCodeFirst示例
1.定义一个基础模板类 namespace WebApplication1.Models { /// <summary> /// 可持久到数据库的领域模型的基类. /// </sum ...
- 关于hashMap中 计算hashCode的逻辑推理(二)
hashMap中,为了使元素在数组中尽量均匀的分布,所以使用取模的算法来决定元素的位置.如下: //方法一: static final int hash(Object key){//jdk1.8 in ...
- python的基础初始第二天
1.基础数据类型初始 1,数字类型,int,用于计算,+ ,- ,*, /,加,减,乘,除.在python2有整型和长整型之分(3344L),在python3 已经不区分了. 2,字符串类型strin ...
- Django 详解 中间件Middleware
Django中间件 还是涉及到django的请求生命周期.middle ware 请求穿过中间件到达url,再经过中间件返回给用户. 简单实例 django项目根目录新建一个Middle文件夹,再新建 ...
- eclipse中一些常见svn图标的含义
项目视图 The Package Explorer view - 已忽略版本控制的文件.可以通过Window → Preferences → Team → Ignored Resources.来忽 ...
- ASP.NET MVC - 模型与元数据(进阶)
模型与元数据(Model & Model Metadata) ASP.NET MVC中有一个模型的概念,实际上模型就是一个类型,Model表示的就是最终要绑定到View视图页面上的数据而已. ...
- 阿里云ECS centos7配置tomcat
准备:创建好developer目录和tomcat子目录 1.在 http://tomcat.apache.org/download-80.cgi 下载tomcat,通过Xftp拷贝到tomcat目录 ...
- dubbo初步认识
dubbo中文网站:http://dubbo.apache.org/zh-cn/ dubbo英文网站:http://dubbo.apache.org/en-us/ 1.Apache Dubbo是一款高 ...
- cartographer 安装
Debian 8 Jessie 一顿操作梦如虎,最后不知道咋装上的. 参考:https://www.jianshu.com/p/9922a51ce38f https://blog.csdn.net/p ...