嘉兴网站托管主题资源网站建设 模块五作业

张小明 2026/1/11 9:16:47
嘉兴网站托管,主题资源网站建设 模块五作业,wordpress抓取 ins,织梦网站图片代码与mongo和mysql不同#xff0c;redis多用于存储中间层#xff0c;目前我多用于查重去重#xff0c;我们需要安装一个库#xff1a; pip install redis之前的aioredis合并到redis中了 同步操作 建立连接 import redis # 同步操作都这样导包 client_syn redis.Redis(hostredis多用于存储中间层目前我多用于查重去重我们需要安装一个库pip install redis之前的aioredis合并到redis中了同步操作建立连接importredis# 同步操作都这样导包client_synredis.Redis(host127.0.0.1,port6379,decode_responsesTrue)同步操作# 给Redis中键为count的字符串类型键值对设置值为10覆盖原有值无过期时间client_syn.set(count,10)# 获取Redis中键为count的字符串类型值返回bytes类型若设置decode_responsesTrue则返回字符串client_syn.get(count)# 向Redis中名为duplicate的集合Set添加元素md5_1集合自动去重client_syn.sadd(duplicate,md5_1)# 判断md5_1是否是Redis中duplicate集合的成员返回True/Falseclient_syn.sismember(duplicate,md5_1)去重操作一般用后两个实现代码如下# 模拟待处理的一批数据含重复值data_list[md5_1,md5_2,md5_1,md5_3]# 这里其实会将某些一定不能相同的数据加密成md5用于去重操作fordataindata_list:# 1. 先判断当前数据是否已存在于去重集合中# 存在则跳过实现去重ifclient_syn.sismember(duplicate,data):print(f数据{data}已存在跳过处理)continue# 2. 数据不存在执行业务处理比如存储、爬虫等print(f处理新数据{data})# 3. 将处理后的新数据加入去重集合# Sadd会自动忽略重复元素即使重复执行也不会存入重复值client_syn.sadd(duplicate,data)异步操作建立连接第一种是普通连接适合低并发的操作fromredisimportasyncioasaioredis client_aioawaitaioredis.from_url(redis://localhost:6379/0,# Redis 地址主机端口数据库编号0-15decode_responsesTrue,# 自动把 Redis 返回的 bytes 转字符串无需手动 decodepasswordNone,# 无密码设为 None有密码则填字符串如 123456encodingutf-8# 字符编码固定 utf-8 即可)第二种是建立连接池适合高并发# 先创建连接池控制最大连接数避免连接耗尽poolaioredis.ConnectionPool.from_url(redis://localhost:6379/0,max_connections100,# 连接池最大连接数根据服务器性能调整decode_responsesTrue# 统一开启字符串自动解码)# 基于连接池创建 Redis 实例redis_poolaioredis.Redis(connection_poolpool)基本操作基础K-V操作key valueawaitclient_aio.set(name,张三,ex60)# 新增仅当 keyage 不存在时设置值20setnx set if not exists避免覆盖awaitclient_aio.setnx(age,20)# 查询获取单个 key 的值nameawaitclient_aio.get(name)ageawaitclient_aio.get(age)print(f【单个查询】name{name}, age{age})# 输出name张三, age20# 删除删除指定 keyawaitclient_aio.delete(age)print(f【删除后查询】age{awaitclient_aio.get(age)})# 输出ageNone# 批量设置一次设置多个 key-valueawaitclient_aio.mset({k1:v1,k2:v2,k3:v3})# 批量获取一次获取多个 key 的值返回列表顺序与入参一致batch_dataawaitclient_aio.mget([k1,k2,k3])print(f【批量查询】{batch_data})# 输出[v1, v2, v3]集合基础操作# 新增元素自动去重 # 向集合 unique_users 添加 3 个元素其中 user1 重复自动过滤awaitclient_aio.sadd(unique_users,user1,user2,user1)# 查询操作 # 1. 获取集合所有元素返回集合类型天然去重all_usersawaitclient_aio.smembers(unique_users)# 2. 判断元素是否在集合中返回 True/False去重核心判断is_user1_existawaitclient_aio.sismember(unique_users,user1)is_user3_existawaitclient_aio.sismember(unique_users,user3)# 3. 获取集合元素数量user_countawaitclient_aio.scard(unique_users)print(f【集合所有元素】{all_users})# 输出{user1, user2}print(f【user1 是否存在】{is_user1_exist})# 输出Trueprint(f【user3 是否存在】{is_user3_exist})# 输出Falseprint(f【集合元素数量】{user_count})# 输出2# 删除元素 # 从集合中删除指定元素 user2awaitclient_aio.srem(unique_users,user2)print(f【删除后元素】{awaitclient_aio.smembers(unique_users)})# 输出{user1}去重可配合sadd和sismember关闭连接和pymongo一样redis不论同步异步都不需要手动关闭连接常用组合异步importasynciofromredisimportasyncioasaioredisasyncdefget_redis_client():创建Redis异步连接生产级连接池配置# 自定义连接池高并发/生产场景首选poolaioredis.ConnectionPool.from_url(redis://localhost:6379/0,max_connections50,# 按需调整默认足够日常使用decode_responsesTrue# 自动转字符串省手动解码)returnaioredis.Redis(connection_poolpool)asyncdefredis_common_operations():# 1. 获取连接redisawaitget_redis_client()# 【最常用】StringKV键值 awaitredis.set(name,张三,ex30)# 设置值30秒过期print(String查询,awaitredis.get(name))# 获取值# 【最常用】Set去重核心 awaitredis.sadd(unique_ids,id1,id2,id1)# 自动去重print(Set所有元素,awaitredis.smembers(unique_ids))# 查所有print(元素是否存在,awaitredis.sismember(unique_ids,id1))# 去重判断# 【常用】Hash存储对象 awaitredis.hset(user:1001,mapping{name:李四,age:25})# 存对象print(Hash查询,awaitredis.hgetall(user:1001))# 查整个对象# 【常用】Pipeline批量原子操作 piperedis.pipeline()pipe.set(a,1).incr(a).set(b,2)print(管道执行结果,awaitpipe.execute())# 关闭连接可选程序退出自动释放awaitredis.close()# 运行测试if__name____main__:asyncio.run(redis_common_operations())小结redis主要作用是去重所以会建立连接然后hash加密作为值通过sadd和sismember配合去重即可后面随用随查如有什么问题及时提出加油加油
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

做网站服务器沧州seo包年平台排行

第一章:加密PDF的Dify解密算法在处理企业级文档安全时,加密PDF文件的解析成为关键环节。Dify解密算法是一种专为高安全性PDF文档设计的逆向解析方案,结合对AES-256和RSA混合加密机制的理解,能够有效识别并还原受保护内容&#xff…

张小明 2026/1/9 11:59:39 网站建设

格力网站建设首页长治市郊区住房建设局网站

风光储联合发电系统;光伏风电储能能量管理simulink仿真 模型正确无误,已跑通 仅供学习 可参考文献 有教学视频和文档(you chang)最近在搞风光储联合系统的Simulink仿真,折腾了半个月总算把能量管理模型跑通了。今天咱们边喝咖啡边聊这个有意思…

张小明 2026/1/9 3:00:54 网站建设

权威发布e站浙江网站制作

横向对比测试:TensorRT vs OpenVINO vs TFLite 在自动驾驶的感知系统中,一个关键挑战是:如何让车载 GPU 在 30 毫秒内完成一帧复杂场景下的目标检测?这不仅是算法的问题,更是推理效率的博弈。现实中的模型往往“训练得…

张小明 2026/1/10 10:10:54 网站建设

做网站排名大概要多少网站开发开票税率

防火墙 防火墙既可以是硬件,也可以是软件,本质上是一种安全功能/技术,而不是只能对应某一种形态。 NAT和VPN NAT 一、NAT(Network Address Translation,网络地址转换) 1、 NAT 是干什么的?…

张小明 2026/1/10 16:47:34 网站建设

前几年做哪个网站能致富什么是开放式的网站

第一章:R Shiny中多格式数据导入的自动化变革在现代数据分析工作流中,R Shiny 应用正逐步从静态展示工具演变为动态交互平台。其中,多格式数据导入的自动化成为提升用户体验与系统灵活性的关键环节。通过集成多种文件解析机制,Shi…

张小明 2026/1/10 17:44:39 网站建设

一个人可以做多少网站新加坡建设网站

C 结构体(struct)是用户自定义的数据类型,核心用于封装多个不同类型的数据成员,也支持成员函数和访问控制。核心特性默认访问权限为 public,结构体间可直接访问成员(类 class 默认 private)。能…

张小明 2026/1/10 17:10:38 网站建设