首页
学习
活动
专区
圈层
工具
发布
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Redis进阶-如何从海量的 key 中找出特定的key列表 & Scan详解

    ---- 需求 假设你需要从 Redis 实例成千上万的 key 中找出特定前缀的 key 列表来手动处理数据,可能是修改它的值,也可能是删除 key。...那该如何从海量的 key 中找出满足特定前缀的 key 列表来?...,因为Redis 是单线程程序,顺序执行所有指令,其它指令必须等到当前的 keys 指令执行完了才可以继续。...scan 返回给客户端的游标整数; 返回的结果可能会有重复,需要客户端去重复,这点非常重要; 遍历的过程中如果有数据修改,改动后的数据能不能遍历到是不确定的; 单次返回的结果是空的并不意味着遍历结束,...第一次遍历时,cursor 值为 0,然后将返回结果中第一个整数值作为下一次遍历的 cursor。一直遍历到返回的 cursor 值为 0 时结束。

    7K30

    程序员的复仇:11行代码如何让Nodejs社区鸡飞狗跳

    两天前,一名NPM(Nodejs Package Manager)社区的贡献者Azer Koçulu出于对NPM管理层的怨愤,不声不响删除了自己在NPM上面的全部代码,其中就包含只有11行代码的“Left-pad...”,没想到从中国北京 到美国硅谷,从大学宿舍学习Nodejs的新手到Facebook的资深工程师,整个互联网界都炸开了锅,他们手中的许多Nodejs模块,全罢 工了。...同时受影响的还有当今非常著名的React框架,这个框架帮助前端 工程师更便捷地开发网站界面,全世界同时学习React框架的程序员可能数百万,但是突然就都不能用了。...以外发生4个多小时后,NPM社区管理员决定出手,把“left-pad”这个名字从Azer Koçulu手中夺了回来,重新写了一个“left-pad”函数,终于才抚平了千万程序员躁动的心。...同时也有人开始怀疑NPM的设计哲学,为什么不设计官方标准库,而是把十来行,甚至只有1行的代码设计成独立的模块。比如有个叫 isArray的模块,下载量达到88万次,其实只有1行代码而已。

    2.3K60

    从代码中诞生的浪漫:一个程序员的表白艺术

    作为一名程序员,我深知代码不仅仅是冰冷的逻辑堆砌,更可以成为传递情感的桥梁。这个表白网页项目,就是我用技术编织浪漫的最佳见证。项目的起源:不只是一个网页为什么选择用代码表白?...传统的表白方式已经被重复千百遍:玫瑰、巧克力、烛光晚餐。但作为一个程序员,我想用自己的方式诉说爱意 - 用代码,用创意,用每一行充满心意的程序。...动态页面效果想象一下,当你的心上人打开这个页面时,会看到: 柔和飘动的心形背景 如打字机般缓缓出现的告白文字 充满科技感的按钮交互特效这些细节,都是为了让表白更有仪式感。2....通过开源,我们希望: 为更多程序员提供创意灵感 搭建技术与情感的交流平台 鼓励更多人用创新方式表达爱意未来展望:Codebuddy的协作魔力借助腾讯的Codebuddy,我们有了更多可能: 智能代码建议...协作开发的便利性 更高效的迭代更新扩展计划 多语言支持 更多互动游戏 照片上传功能 社区分享模块写在最后:代码即诗,爱情永恒这个项目证明了:程序员的浪漫,可以如此与众不同。

    78242

    如何让你的小程序在市场中脱颖而出?这里就有答案

    如何微信小程序 28 号正式发布,对于相关从业者来说,马上要面临这样一个问题: 自己开发出的小程序,如何在高度竞争的市场中脱颖而出? 这是对产品、营销和运营人员的一个重大考验,大家需要做好哪些准备?...从产品的研发、成长、成熟到衰退,过度注重开发的最初状态,而忽视如用户需求或市场价值,有可能将产品「做死」。 我们不仅要谈论小程序的开发,更要谈论小程序的产品运营和市场推广。...它区别于「黑客马拉松」 24 小时的不间断思考与开发,是一个非技术的实操课堂,无需技术门槛,你就可以与大咖们一同讨论小程序: 产品研发:如何设计产品,让小程序有足够的亮点?...运营维护:如何连接用户,让小程序更具生命力? 营销推广:如何判断市场,让小程序更有市场价值? 如果「未来小程序 · 黑客马拉松」是梦想的实现,那「未来小程序· Workshop」就是思维的沉淀。...在「未来小程序 · Workshop」活动中,产品、运营、市场三个领域的业界牛人都将加入到小程序的生态探讨之中,通过自身的特点和特长,专注于小程序从产品开发、产品营销到产品运营的全方位合作,基于某个特定的场景

    1.9K20

    如何写出一手好的小程序代码,从架构说起

    作为微信小程序底层 API 维护者之一,经历了风风雨雨、各种各样的吐槽。为了让大家能更好的写一手小程序,特地梳理一篇文章介绍。...01 简述小程序的通信体系 为了大家能更好的开发出一些高质量、高性能的小程序,这里带大家理解一下小程序在不同端上架构体系的区分,更好的让大家理解小程序一些特有的代码写作方式。...· JSContext: jsContext 是 js代码执行的上下文对象,相当于一个 webview 中的 window 对象。在同一个 VM 中,你可以传递不同的 Context。...简单来说,它会直接将 native 的相关属性和方法,直接转换成 prototype object 上的方法和属性。 那在 JS 代码中,如何执行 Swift 的代码呢?...04 最后的总结 这篇文章的主要目的,是让大家更加了解一下小程序架构模式在开发者工具和手机端上的不同,更好的开发出一些高性能、优质的小程序应用。这也是小程序中心一直在做的事情。

    2.3K20

    计算机程序的思维逻辑 (7) - 如何从乱码中恢复 (下)?

    ÀÏÂí GB18030 脌脧脗铆 Big5 ���穩 虽然有这么多形式,但我们看到的乱码形式很可能是"ÀÏÂí",因为在例子中UTF-8是编码转换的目标编码格式,既然转换为了UTF-8,一般也是要按...这四种编码是常见编码,在大部分实际应用中应该够了,但如果你的情况有其他编码,可以增加一些尝试。 不是所有的乱码形式都是可以恢复的,如果形式中有很多不能识别的字符如�?...但我们是学编程的,这种尝试当然应该可以通过写程序自动进行,程序甚至应该可以自动判定哪些尝试是无效的,哪些尝试是可能有效的。 那怎么写程序呢?...接下来,是时候看看在Java中如何表示和处理字符了,我们知道Java中用char类型表示一个字符,但在第三节我们提到了一个问题,即"字符类型怎么也可以进行算术运算和比较?"。...我们需要对Java中的字符类型有一个更为清晰和深刻的理解。

    1.6K80

    计算机程序的思维逻辑 (6) - 如何从乱码中恢复 (上)?

    我们在处理文件、浏览网页、编写程序时,时不时会碰到乱码的情况。乱码几乎总是令人心烦,让人困惑。希望通过本节和下节文章,你可以自信从容地面对乱码,恢复乱码。...基本上可以认为,ISO 8859-1已被Windows-1252取代,在很多应用程序中,即使文件声明它采用的是ISO 8859-1编码,解析的时候依然被当做Windows-1252编码。...在四字节编码中,第一个字节的值从0x81到0xFE,第二个字节的值从0x30到0x39,第三个字节的值从0x81到0xFE,第四个字节的值从0x30到0x39。...解析二进制时,如何知道是两个字节还是四个字节表示一个字符呢?看第二个字节的范围,如果是0x30到0x39就是四个字节表示,因为两个字节编码中第二字节都比这个大。...首先将其看做整数,转化为二进制形式(去掉高位的0),然后将二进制位从右向左依次填入到对应的二进制格式x中,填完后,如果对应的二进制格式还有没填的x,则设为0。

    1.9K50

    Docker使用笔记

    这些容器是独立的、可执行的软件包,它们包含了运行应用程序所需的所有内容,包括代码、运行时、库、环境变量和系统工具。 Docker的一个重要特点是它可以屏蔽环境差异。...和test_rule_checker三个文件夹中的main.py,每个python脚本的执行记录都写到日志文件中,且每个程序保持在后台运行 5、使用start.sh作为docker的启动命令 混元的返回是...7: ture: command not found 脚本写错了,把true写成了ture(这是在混元返回的基础上自己写的少量代码之一,这也说明了人没那么靠谱?)。...另外,建议在启动脚本中,启动应用时,以nohup启动并将程序的运行日志重定向到文件中。如果脚本中只是启动一个守护进程,可以在启动脚本后面增加一个循环语句或者wait命令,让镜像能持续的运行。...提交成功后,再push到镜像仓库中。 3.8 删除容器 在3.3中提到了如何启动容器,在3.4中提到了如何进入到容器中。

    90810

    从循环条件的代码里,我能在面试中甄别程序员是否是高级

    一般来说,工作经验满3后,程序员就达到了高级程序员的年限要求,但能力上是否达到?又如何在面试里短短30分钟里验证程序员是否达到高级程序员的水准?...5第6行代码里,通过了if语句来判断是否是闰年,如果不是,则走第10行的else分支语句。    ...我们看到,这个例子中第5第6行的条件语句里,用到了&&和||来进行and和or操作,请大家注意别把这个和&和|混淆,一个&和一个|是位操作(用的地方不多,所以这里不讲),而两个&&和两个||是布尔操作。...原因是,我们在做代码测试时,得完全覆盖条件表达式的各种情况,比如在判断闰年的例子里,我们用的测试案例如下。     1是能被4整除但不能被100整除的年份,比如2016。    ...条件n)     如果业务需求真的那么复杂,我们宁可分解成如下的代码。     if(条件1 ){           if(条件2){}…     }     else     {}

    1.6K30

    如何在Ubuntu 16.04上使用Docker和Docker Compose配置持续集成测试环境

    此方法显示了每次测试时如何为应用程序构建相同的,全新的测试环境,包括其依赖关系。 因此,我们独立于测试中的应用程序和底层基础架构自动化CI工作流。...requirements.txt:安装应用程序的pip依赖项 ADD app.py /app/app.py:将我们的应用程序源代码添加到Docker镜像中 EXPOSE 80:表示我们的应用程序可以通过端口...文件指示如何在两个Docker容器中本地启动“Hello World”应用程序。...如何自定义您自己的应用程序 设置自己的应用程序的关键是将您的应用程序放在自己的Docker容器中,并从自己的容器中运行每个依赖项。然后,您可以使用Docker Compose定义容器之间的关系。...最后,检查sut容器的退出代码以验证您的测试是否已通过: docker wait ci_sut_1 0 这个命令执行后,$?值将是0,如果测试通过。

    3.1K00

    从导航到代码:带权图如何撑起数据结构中的「距离美学」

    不同于只记录 “是否相连” 的普通图,带权图给每条边都加上了 “权重”,可能是距离、时间、成本,正是这种 “量化关系”,让它成为解决现实问题的核心工具。今天我们就从原理到代码,拆解带权图的奥秘。...从定义上看,带权图由 “顶点” 和 “带权边” 组成: 顶点:对应现实中的节点(比如路口、站点); 带权边:连接两个顶点的 “关系”,且附带一个数值(权重),代表两者之间的量化关联。...二、用邻接矩阵存储带权图:代码里的 “关系表” 想要用代码实现带权图,首先要解决 “如何存储” 的问题。...三、手把手实现带权图:从初始化到输出 光有结构体还不够,我们需要通过代码给带权图 “填充数据”,再让它 “展示自己”。下面分两步拆解: 1....结语:带权图,让数据结构 “落地” 现实 从代码里的邻接矩阵,到生活中的导航路线,带权图的本质是 “给关系加量化标准”。

    14810

    「docker实战篇」python的docker-docker系统管理-基本命令(29)

    diff 检查容器文件系统上的更改 events 从服务器获取实时事件 exec 在正在运行的容器中运行命令 export 将容器的文件系统导出为...inspect 返回Docker对象的低级信息 kill kill运行中的容器 load 从存档或者STDIN加载镜像 login 登陆docker...镜像仓库 logout 退出docker镜像仓库 logs 获取一个容器的日志 pause 暂停一个或多个容器中的所有进程 port 查看端口映射或容器的特定映射列表...更新容器配置 version 显示Docker的版本信息 wait 阻塞直到容器停止,然后打印退出代码 如:docker images 显示所有镜像 让容器长期运行...6.运行你指定的程序:运行指定的程序 7.捕获并且提供应用输出:连接并且记录标准输出,输入和错误让你可以看到你的程序是如何运行的。 批量删除结束的容器 #因为目前没有退出的容器,所以报错。

    1.6K30

    如何在Ubuntu 14.04上使用Docker和Docker Compose配置持续集成测试环境

    此方法显示了每次测试时如何为应用程序构建相同的,全新的测试环境,包括其依赖关系。 因此,我们将CI工作流的自动化独立于测试中的应用程序和底层基础架构。...:安装应用程序pip依赖项 ADD app.py /app/app.py:将我们的应用程序源代码添加到Docker镜像中 EXPOSE 80:表示我们的应用程序可以通过端口80(标准公共Web端口)访问...它还使用您的Ubuntu服务器的公共IP从Internet公开访问端口80 从名为redis的标准公共Docker镜像执行 redis 第5步 - 部署“Hello World”应用程序 在此步骤中,我们将部署应用程序...如何自定义您自己的应用程序 设置自己的应用程序的关键是将您的应用程序放在自己的Docker容器中,并从自己的容器中运行每个依赖项。然后,您可以使用Docker Compose定义容器之间的关系。...最后,检查sut容器的退出代码以验证您的测试是否已通过: docker wait ci_sut_1 产量 0 这个命令执行后,如果测试通过,那么$?的值将是0。否则,我们的应用程序测试失败。

    2.5K00
    领券