网站空间免费建设网站职业证书

张小明 2025/12/29 11:41:03
网站空间免费,建设网站职业证书,制作视频软件,ftp 网站管理与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进行投诉反馈,一经查实,立即删除!

微信公众号h5网站开发徐州网站建设公司百家号

《对象返回方法与枚举类型详解》 在编程领域,对象的创建和管理是核心内容之一。对象通常通过直接调用类的构造函数来创建,但也可以通过调用某个类的静态方法或对象的方法来生成。下面将详细介绍返回对象的方法以及各种枚举类型。 1. 返回对象的方法 返回对象的方法有多种用…

张小明 2025/12/29 9:39:48 网站建设

网站换了服务器网站 设计 案例 简单

在信息爆炸的数字时代,每天都有海量图片在网络上传播。从社交媒体到新闻报道,从商业广告到法律证据,图片已成为我们获取信息的重要载体。然而,你是否曾经怀疑过某张图片的真实性?是否担心被精心设计的假图所欺骗&#…

张小明 2025/12/29 9:39:49 网站建设

网站开发最流行的语言店铺logo图片免费生成器

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 创建一个包含10个典型Java正则应用场景的演示项目,包括:1)手机号/邮箱验证 2)身份证号校验 3)日志时间戳提取 4)JSON关键字段抽取 5)SQL注入检测 6)中文分词…

张小明 2025/12/29 9:39:52 网站建设

深圳专业网络推广郑州有没有厉害的seo

磁耦合谐振无线电能传输系统仿真 通过负载估算和移相控制的发射端控制方案来调整SS/SP谐振拓扑的无线供电系统的输出电压和电流。 避免了常规无线电能传输系统中发射端与接收端的实时无线通讯,同时,减少了在发射端或接收端添加升压或降压控制电路&#x…

张小明 2025/12/29 9:39:47 网站建设

有哪些h5做的网站借贷网站建设

张量的基本运算函数张量运算在深度学习和科学计算中至关重要。常见的张量运算函数包括加法、减法、乘法和除法。这些运算通常按元素进行,要求参与运算的张量具有相同的形状。加法运算:import torch a torch.tensor([1, 2, 3]) b torch.tensor([4, 5, 6…

张小明 2025/12/29 9:39:53 网站建设

重庆给商家企业做网站郑州做优化的公司有哪些

第一章:AI 模型的 Docker 缓存策略在构建 AI 模型服务镜像时,Docker 的缓存机制能显著提升构建效率。合理的缓存策略可以避免重复下载大型依赖包(如 PyTorch、TensorFlow),从而缩短 CI/CD 流程中的构建时间。分层缓存原…

张小明 2025/12/29 9:39:58 网站建设