当前位置: 首页 > news >正文

淘宝客怎样建网站大连建设网信息公开行政审批专栏

淘宝客怎样建网站,大连建设网信息公开行政审批专栏,西宁做网站制作的公司哪家好,趣快排seo是什么1 redis普通连接和连接池 1.1 普通连接 1.2 连接池 2 redis字符串类型 3 redis hash类型 4 redis列表类型 1 redis普通连接和连接池 #1 python 代码作为客户端---》连接# 2 安装模块#xff1a;pip install redis1.1 普通连接 from redis import Redisconn Redis(hostpip install redis1.1 普通连接 from redis import Redisconn Redis(hostlocalhost,port6379,db0,decode_responsesTrue)resconn.get(name)print(res)conn.close() 1.2 连接池 import redis # 把池写成单例----》整个项目中只有这一个实例(对象)---》python 中实现单例的5种方式---》模块导入的方式 POOL redis.ConnectionPool(host127.0.0.1, port6379, max_connections50)######import redis from threading import Threadfrom pool import POOL def task():conn redis.Redis(connection_poolPOOL)print(conn.get(name))conn.close()if __name__ __main__:for i in range(10):t Thread(targettask)t.start() 2 redis字符串类型 1 set(name, value, exNone, pxNone, nxFalse, xxFalse) 2 setnx(name, value) 3 setex(name, value, time) 4 psetex(name, time_ms, value) 5 mset(*args, **kwargs) 6 get(name) 7 mget(keys, *args) 8 getset(name, value) 9 getrange(key, start, end) 10 setrange(name, offset, value) 11 setbit(name, offset, value) 12 getbit(name, offset) 13 bitcount(key, startNone, endNone) 14 bitop(operation, dest, *keys) 15 strlen(name) 16 incr(self, name, amount1) # incrby 17 incrbyfloat(self, name, amount1.0) 18 decr(self, name, amount1) 19 append(key, value)代码演练19个字符串类型import redisconn redis.Redis(decode_responsesTrue) # 1 set(name, value, exNone, pxNone, nxFalse, xxFalse) # conn.set(age,19) # 没有就新增有值就修改 # conn.set(hobby,篮球,ex5) # ex过期时间 秒 # conn.set(hobby,篮球,px5000)# 过期时间毫秒 # conn.set(name,彭于晏) # conn.set(name, lqz, nxTrue) # nx如果设置为True则只有name不存在时当前set操作才执行,值存在就修改不了执行没效果 # conn.set(name, lqz, xxTrue) # 如果设置为True则只有name存在时当前set操作才执行值存在才能修改值不存在不会设置新值# 2 setnx(name, value) # conn.setnx(name,彭于晏)# 3 setex(name, value, time) # conn.setex(name,5,sdasdfs)# 4 psetex(name, time_ms, value) # conn.psetex(name,5000,lqz)# 5 mset(*args, **kwargs) 批量设置 # conn.mset({name: lqz, age: 29, gender: 男})# 6 get(name) # print(conn.get(name))# 7 mget(keys, *args) # print(conn.mget([name,age])) # print(conn.mget(name,age,gender))# 8 getset(name, value) # 等同于 get set # print(conn.getset(name,oooo))# 9 getrange(key, start, end) # print(conn.getrange(name,1,3)) # 前闭后闭区间# 10 setrange(name, offset, value) # conn.setrange(name,2,ooo) # 包含2# 先不聊---》操作比特位---》后面聊 # 11 setbit(name, offset, value) # conn.setbit(name,7,1) # l[1 1 0 0 0 1 0 0 ] # 12 getbit(name, offset) # 13 bitcount(key, startNone, endNone) # 14 bitop(operation, dest, *keys)# 15 strlen(name) # print(conn.strlen(name))# 16 incr(self, name, amount1) # conn.incr(age,2) # 自加1单线程没有并发安全数据不会错乱天然适合计数器 计数器---》日活日活跃用户数只要有用户登录就1 # # incrby# 17 incrbyfloat(self, name, amount1.0) # conn.incrbyfloat(age,1.1)# 18 decr(self, name, amount1) # conn.decr(age) # 19 append(key, value) # conn.append(name,ooo) conn.close() set get getrange strlen3 redis hash类型 1 hset(name, key, value) 2 hmset(name, mapping) 3 hget(name,key) 4 hmget(name, keys, *args) 5 hgetall(name) 6 hlen(name) 7 hkeys(name) 8 hvals(name) 9 hexists(name, key) 10 hdel(name,*keys) 11 hincrby(name, key, amount1) 12 hincrbyfloat(name, key, amount1.0) 13 hscan(name, cursor0, matchNone, countNone) 14 hscan_iter(name, matchNone, countNone)def hscan_iter(self,name,match None,count None):cursor 0while cursor ! 0:cursor, data self.hscan(name, cursorcursor, matchmatch, countcount)yield from data.items()代码演练14个hash类型 hash 类型就是咱们python中的字典类型 数据结构数据的组织形式 底层存储 数组---》根据key值使用hash函数得到结构存到数组中字典的key值必须可hash字典的key值必须是不可变数据类型hash 类型无序跟放的先后顺序无关的python 的字典是 有序的 字典列表# print(hash(1)) # print(hash(asdfasdf)) # # print(hash([1,2,3,])) # unhashable # print(hash((1,2,3))) # 不可变数据类型 # a{(1,2,3):8} # print(a[(1,2,3)])# class Person(object): # pass # pPerson() # # a{p:asdf} # print(a[p])import redisconn redis.Redis(decode_responsesTrue) # 1 hset(name, key, value) # conn.hset(userinfo,name,lqz) # conn.hset(userinfo,age,19)# 2 hmset(name, mapping) 弃用了统一用hset # conn.hmset(userinfo2,{name:pyy,age:33}) # conn.hset(userinfo3,mapping{name:xxx,age:33})# 3 hget(name,key) # print(conn.hget(userinfo,name)) # 4 hmget(name, keys, *args) # print(conn.hmget(userinfo,[name,age])) # print(conn.hmget(userinfo,name,age))# 5 hgetall(name) # 慎用---》userinfo 对应的value值非常多一次性拿出来很耗时 # print(conn.hgetall(userinfo))# 6 hlen(name) # print(conn.hlen(userinfo))# 7 hkeys(name) # print(conn.hkeys(userinfo))# 8 hvals(name) # print(conn.hvals(userinfo))# 9 hexists(name, key) # print(conn.hexists(userinfo,hobby))# 10 hdel(name,*keys) # conn.hdel(userinfo,[name,age]) # conn.hdel(userinfo,name,age)# 11 hincrby(name, key, amount1) # conn.hincrby(userinfo2,age)# 12 hincrbyfloat(name, key, amount1.0)# 13 hscan(name, cursor0, matchNone, countNone) # 不单独用 ## 造数据 # for i in range(1000): # conn.hset(hash2,egg_%s%i,鸡蛋%s号%i)# count 数字是大致的 大小如果拿了10 可能是9 可能是11 # resconn.hscan(hash2,cursor0,count10) # 无序所以不是从egg_0开始的 # print(len(res[1]))# 14 hscan_iter(name, matchNone, countNone) # 替代hgetall一次性全取出值如果占内存很大会有风险 , 使用hscan_iter 分批获取值内存占用很小 for item in conn.hscan_iter(hash2,count10):print(item)# 分批获取数据conn.close() hset hget hlen hexists hincrby hscan_iter4 redis列表类型 1 lpush(name, values) 2 rpush(name, values) 表示从右向左操作 3 lpushx(name, value) 4 rpushx(name, value) 表示从右向左操作 5 llen(name) 6 linsert(name, where, refvalue, value)) 7 r.lset(name, index, value) 8 r.lrem(name, value, num) 9 lpop(name) 10 rpop(name) 表示从右向左操作 11 lindex(name, index) 12 lrange(name, start, end) 13 ltrim(name, start, end) 14 rpoplpush(src, dst) 15 blpop(keys, timeout) 16 r.brpop(keys, timeout)从右向左获取数据 17 brpoplpush(src, dst, timeout0)代码演练17个列表类型import redisconn redis.Redis(decode_responsesTrue)# 1 lpush(name, values) # conn.lpush(girls,刘亦菲,迪丽热巴) # conn.lpush(girls,小红)# 2 rpush(name, values) 表示从右向左操作 # conn.rpush(girls, 小绿)# 3 lpushx(name, value) # 只有key存在才能追加 # conn.lpushx(girls,小紫) conn.lpushx(girls1, 小紫)# 4 rpushx(name, value) 表示从右向左操作# 5 llen(name) # print(conn.llen(girls))# 6 linsert(name, where, refvalue, value)) # conn.linsert(girls, wherebefore, refvalue刘亦菲, value新刘亦菲) # conn.linsert(girls, whereafter, refvalue刘亦菲, value老刘亦菲)# 7 r.lset(name, index, value) # conn.lset(girls,0,oooo) # 按索引修改某个位置值# 8 r.lrem(name, value, num) # conn.lrem(girls,1,刘亦菲) # 从左侧删一个 # conn.lrem(girls,-1,刘亦菲) # 从右侧删一个 # conn.lrem(girls,0,刘亦菲) # 全删除# 9 lpop(name) # print(conn.lpop(girls)) # 左侧弹出一个 # print(conn.rpop(girls)) # 右侧弹出 # 10 rpop(name) 表示从右向左操作# 11 lindex(name, index) # print(conn.lindex(girls,0))# 12 lrange(name, start, end) # print(conn.lrange(girls,1,10000)) # 前闭后闭# 一次性把列表中数据都取出来 # print(conn.lrange(girls, 0, -1)) # 可以用-1 # print(conn.lrange(girls, 0, conn.llen(girls))) # 可以用-1# 13 ltrim(name, start, end) # conn.ltrim(girls,2,4)# 14 rpoplpush(src, dst) # conn.rpoplpush(girls,girls)# 15 blpop(keys, timeout) # block:阻塞 实现分布式的系统 消息队列 resconn.blpop(girls,timeout5) print(res)# 16 r.brpop(keys, timeout)从右向左获取数据 # 17 brpoplpush(src, dst, timeout0)conn.close()# utf-8 编码的 bytes格式 # bb\xe8\xbf\xaa\xe4\xb8\xbd\xe7\x83\xad\xe5\xb7\xb4 # print(b.decode(utf-8)) # # for i in b: # print(bin(i)) lpush rpush llen lrange lpop
http://www.zqtcl.cn/news/404674/

相关文章:

  • 政务网站建设发言材料知名互联网公司有哪些
  • 网站搭建制作建e室内设计网画图
  • 重庆市建设工程施工安全管理信息网北京seo公司网站
  • 国外做调查问卷的网站建设邮费自己的网站 要不要购买服务器的
  • 网站建设和优化排名四川建设网官网证书查询入口
  • 如何搜名字搜到自己做的网站电子商务平台icp备案证明
  • 网站建设与管理工作内容北京网站建设价
  • 做网站选哪个语言软文营销的方法
  • 青岛正规公司网站建设公司中国建设银行注册网站
  • 免费个人网站平台关键词检索
  • 定制型网站建设推广宁河网站建设
  • 主流网站开发语言有哪些电子邮件营销
  • 扫描二维码进入公司网站怎样做在万网上域名了怎么做网站
  • 销售型网站设计怎么做网站广告位
  • 网站推广的方法ppt购物网站logo
  • 网站关键词分割wordpress为展示的作品投票
  • 建立网站 域名 服务器吗wordpress超链接出错
  • 外贸开发网站建设注册会计师协会
  • 莆田建设网站dw网页设计作品及源码
  • 360免费建站视频淘宝客的网站怎么做
  • 四川自助seo建站短视频推广计划
  • 网站建设案例的公司黄冈网站建设公司
  • 做淘客网站需要营业执照吗制作网站公
  • 手机网站开发的目的鲁班设计远程工作
  • 宿迁网站建设要多少钱高密市住房和城乡建设局网站
  • 咸阳网站建设公司哪家好wordpress访客ip记录
  • 厦门建设银行网站那个网站做效果图电脑配置
  • 人才网站建设医院网站建设的好处
  • 房屋装修网站模板html5做网站
  • 网站建设需要的硬件网站建设知名公司排名