前言
Redis中有一个经典的问题,在巨大的数据量的情况下,做类似于查找符合某种规则的Key的信息,这里就有两种方式,
一是keys命令,简单粗暴,由于Redis单线程这一特性,keys命令是以阻塞的方式执行的,keys是以遍历的方式实现的复杂度是 O(n),Redis库中的key越多,查找实现代价越大,产生的阻塞时间越长。
二是scan命令,以非阻塞的方式实现key值的查找,绝大多数情况下是可以替代keys命令的,可选性更强
以下写入100000条key***:value***格式的测试数据(ps:用pipline的话,1w一笔,每一笔在秒级完成)
# -*- coding: utf-8 -*-
# !/usr/bin/env python3
import redis
import sys
import datetime
def create_testdata():
r = redis.StrictRedis(host='***.***.***.***', port=****, db=0, password='root')
counter = 0
with r.pipeline(transaction=False) as p:
for i in range(0, 100000):
p.set('key' + str(i), "value" + str(i))
counter = counter + 1
if (counter == 10000):
p.execute()
counter = 0
print("set by pipline loop")
if __name__ == "__main__":
create_testdata()
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
软考中级精品资料免费领
- 历年真题答案解析
- 备考技巧名师总结
- 高频考点精准押题
- 资料下载
- 历年真题
193.9 KB下载数265
191.63 KB下载数245
143.91 KB下载数1148
183.71 KB下载数642
644.84 KB下载数2756
相关文章
发现更多好内容猜你喜欢
AI推送时光机Redis中Scan命令的基本使用教程
数据库2024-04-02
Redis中Scan命令的使用方法
数据库2024-04-02
Scan命令怎么在Redis 中使用
数据库2024-04-02
redis中scan命令的使用方法是什么
数据库2024-04-09
Redis中scan命令的作用是什么
数据库2024-04-02
Linux中ipconfig与route命令的基本使用教程
数据库2023-06-12
怎么在Redis中使用SCAN命令实现有限保证
数据库2024-04-02
详解Redis基本命令与使用场景
数据库2024-04-02
Ubuntu系统中Git客户端的安装与基本命令的使用教程
数据库2023-06-13
redis中lua脚本使用教程
数据库2024-04-02
python模块中pip命令的基本使用
数据库2024-04-02
golang中defer的基本使用教程
数据库2024-04-02
git中cherry-pick命令的使用教程
数据库2024-04-02
FTP命令的基本使用方法
数据库2023-06-09
vue3.2新增指令v-memo的基本使用教程
数据库2024-04-02
(Redis基础教程之六)如何使用Redis中的List
数据库2017-01-10
(Redis基础教程之七)如何使用Redis中的Hashes
数据库2014-10-15
Linux系统中使用xargs命令的教程
数据库2023-06-13
hansontable在vue中的基本使用教程
数据库2022-11-13
咦!没有更多了?去看看其它编程学习网 内容吧