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

集约化网站建设的函化学网站建设

集约化网站建设的函,化学网站建设,如何自己做小程序免费,想学电商从什么学起如果你了解 JSON#xff0c;就会熟悉 Redis 设计系统。 它使用键值结构和分布式内存方法来实现弹性数据库。 哈希、列表、集合、排序集合、字符串、JSON 和流是 Redis 支持的众多数据结构之一。 这个开源数据库支持不同的语言#xff0c;包括 Python#xff0c;如果您正在使…如果你了解 JSON就会熟悉 Redis 设计系统。 它使用键值结构和分布式内存方法来实现弹性数据库。 哈希、列表、集合、排序集合、字符串、JSON 和流是 Redis 支持的众多数据结构之一。 这个开源数据库支持不同的语言包括 Python如果您正在使用它开发后端系统一些模块和包可以提供帮助。 您经常对数据库执行的许多操作之一是检索数据在像 Redis 这样的数据库中键对于实现此类操作很重要。 本文将讨论获取 Redis 数据库中的所有键。 使用 keys() 获取 Redis 数据库中的所有键 要使用 redis我们需要安装它 您可以查看 Redis 下载页面以了解操作方法。 对于 Linux 和 macOS 用户来说这要容易得多 但是对于 Windows 用户您可能必须使用适用于 Linux 的 Windows 子系统 (WSL2)并且您可以按照他们的说明视频指南进行操作。 假设您已经设置了 Redis 数据库我们将安装 redis 包它提供对 Redis 数据库的客户端访问。 要安装它我们将使用 pip 命令。 pip install redis输出: Collecting redisDownloading redis-4.3.4-py3-none-any.whl (246 kB)━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 246.2/246.2 kB 794.4 kB/s eta 0:00:00 Collecting deprecated1.2.3Downloading Deprecated-1.2.13-py2.py3-none-any.whl (9.6 kB) Collecting async-timeout4.0.2Downloading async_timeout-4.0.2-py3-none-any.whl (5.8 kB) Collecting packaging20.4Downloading packaging-21.3-py3-none-any.whl (40 kB)━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 40.8/40.8 kB 1.9 MB/s eta 0:00:00 Collecting wrapt2,1.10Downloading wrapt-1.14.1-cp310-cp310-win_amd64.whl (35 kB) Collecting pyparsing!3.0.5,2.0.2Downloading pyparsing-3.0.9-py3-none-any.whl (98 kB)━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 98.3/98.3 kB 624.8 kB/s eta 0:00:00 Installing collected packages: wrapt, pyparsing, async-timeout, packaging, deprecated, redis Successfully installed async-timeout-4.0.2 deprecated-1.2.13 packaging-21.3 pyparsing-3.0.9 redis-4.3.4 wrapt-1.14.1因此redis 包使用 wrapt、pyparsing、async-timeout、打包和不推荐使用的模块来为其模块提供支持。 要使用 redis 包我们需要导入它。 import redis进入正题我们可以使用redis模块提供的keys()方法来访问并获取其中的所有key。 key() 方法从给定的 Redis 数据库返回一个与在其参数中传递的模式相匹配的键列表。 如果不传递任何参数则有一个默认模式即*表示所有键。 为了展示工作中的方法我们使用 Key 按钮或以下代码手动预填充了别名 Temp 和一些键的 redis 数据库。 import redisredisHost localhost redisPort 6379 redisDecodeRes Truer redis.StrictRedis(hostredisHost,portredisPort,decode_responsesredisDecodeRes)r.set(ConnectionPool, Ox1212af34w3141)上面的代码导致键 ConnectionPool 被添加到具有相应值的 Temp 数据库中。 set() 方法将键值对应用于数据库而 StrictRedis() 方法创建一个 Redis 连接对象使我们能够访问数据库。 要通过 GUI 显示数据库使用别名 Temp及其密钥我们可以使用 RedisInsight 应用程序如图所示。 手动向数据库中添加了 11 个密钥以测试 key() 方法。 现在对于 key() 方法我们必须使用 StrictRedis() 方法创建一个 Redis 连接对象来访问键。 host、port 和 decode_responses 参数被传递来定义连接的参数。 host 和 port 定义主机名和端口号decode_responses 定义将传递的数据解码为我们可以轻松使用的 Python 字符串。 keys() 方法然后访问所有可用的键因为没有传递任何参数。 import redisredisHost localhost redisPort 6379 redisDecodeRes Truer redis.StrictRedis(hostredisHost,portredisPort,decode_responsesredisDecodeRes,db0)print(r.keys())输出: [bar-two, information, bar-one, details, foo, jinku, bar, User-One, delft, bar-three, ConnectionPool]我们在 Temp 数据库中有一个所有键的列表我们可以使用它。 如果我们有所需的键模式我们可以将其作为参数传递。 让我们列出所有以 bar 开头的键。 print(r.keys(patternbar*))输出: [bar-two, bar-one, bar, bar-three]使用 scan_iter() 获取 Redis 数据库中的所有键 对于大型数据库scan_iter() 允许我们在 Python 应用程序中更好地管理数据。 此外key() 方法会阻塞服务器并阻止其他使用操作而对于 scan_iter()其基于批处理的操作允许其他使用操作。 尽管 keys() 可能更快但它对于多个基于请求的系统来说并不是很好。 现在让我们看看它的实际效果。 import redisredisHost localhost redisPort 6379 redisDecodeRes Truetry:r redis.StrictRedis(hostredisHost,portredisPort,decode_responsesredisDecodeRes,db0)for key in r.scan_iter(matchbar*):print(key) except Exception as e:print(e)输出: bar-three bar-one bar-two bar当我们尝试使用数据库时使用 try/except 有助于处理连接问题。 使用 StrictRedis() 连接后我们使用 match 参数来定义我们正在寻找的键模式并循环遍历结果以给出键。 使用 zip_longest 获取 Redis 数据库中的所有键 正如我们所说对于具有大量键的大型数据库scan_iter() 方法更好但我们可以通过按指定数量的批次检索键来进一步改进它以更好地管理结果。 要创建批处理我们需要 itertools 模块它提供可用于不同情况的不同迭代器或方法。 在 itertools 模块中我们有 zip_longest 方法它返回一个 zip_longest 对象其 .next() 方法返回一个元组并聚合传递给它的 iterable 中的元素。 我们可以使用 zip_longest() 方法创建一个函数该函数根据传递的参数创建一批指定数量的键。 比如我们创建一批2可以用于很多情况。 import redis from itertools import zip_longestredisHost localhost redisPort 6379 redisDecodeRes Truetry:r redis.StrictRedis(hostredisHost,portredisPort,decode_responsesredisDecodeRes,db0)def batch(iterable, num):initIter [iter(iterable)] * numreturn zip_longest(*initIter)for keyBatch in batch(r.scan_iter(bar*), 2):print(keyBatch) except Exception as e:print(e)输出: (bar-three, bar-one) (bar-two, bar)
http://www.hkea.cn/news/14331088/

相关文章:

  • 电子商务网站建设的方法有哪些方面南京建设工程招聘信息网站
  • 网站开发知识点总结wordpress自带api
  • 四川新站优化做网站资料
  • 中国哪里建设最多四川做网站优化价格
  • 浏览器显示不安全网站建设网络营销的特点有哪些?
  • 博客和个人网站建设情况高水平高职院校 建设网站
  • 优秀简洁网站设计如何给公司网站做优化
  • 东莞seo网站关键词优优化重庆市建设工程人力资源网
  • 建设互联网站是什么51网页游戏官网
  • 图片模板 网站源码画册设计价格
  • 网站开发的开题报告引言环保油 东莞网站建设
  • 建设项目查询网站设计页面教案
  • 企业网站的建设 摘要有利于优化的网站模板
  • 沈阳求做商城 网站做门户型网站要多少钱
  • 怎么在虚拟空间做两个网站导航网站后台源码
  • 站内免费推广有哪些企业宣传册模板直接套用
  • 网站建设费用如何列支wordpress怎么上传txt文件
  • 信誉好的微网站建设网站开发后台编辑系统
  • 用dw做网站背景如何做一家专门卖零食的网站
  • 成都网站建设商家网站建设的请示报告
  • 建设网站收取广告费用网页设计期末作品代码
  • 淘宝流量网站义乌来料123加工网
  • 黄冈网站推广软件视频建设培训网站办安全员c证
  • 企业网站建设项目计划书怎样做婚恋网站
  • 万网提供的网站建设服务的具体项目佛山手工活外发加工网
  • 郑州it培训机构有哪些搜索引擎seo关键词优化效果
  • 上海做网站品牌公司用wordpress做企业网站视频教程
  • 淮安专业网站建设番禺做网站企业
  • 重庆网站建设大概需要多少钱网站建设中期检查表怎么写
  • 网站给我做坏了怎么办前台网站开发技术