需求很简单实时向客户端(目前只有浏览器)推送消息 核心为 rabbitmq + nodejs的socket.io + redis 做消息中心后端的消息中间件必不可少,当初考虑是从rabbitmq和redis选一个。 redis现在很火支持消息订阅性能也非常不错可惜它对消息这块支持的相对弱功能比较少,像消息的过期、ack
问题初现某基于node.js开发的业务系统向外提供了一个dubbo服务,提供向第三方缓存查询、设置多项业务数据并聚合操作结果。在QPS达到800时(两台虚拟机,每台机器4Core8G4node进程),在监控平台上出现了非常多的slow rt警告,平均接口响应达到60+ms,请求报警率达到80%+。为找到造成该服务吞吐量过低的罪魁祸首,业务人员在请求日志中打点了所有查询缓存的操作,结果显示每个请求查
转载 2024-06-18 20:46:55
105阅读
1.输出文件绝对路径   __dirname(不需要用fs模块)// 输出文件绝对路径 console.log(__dirname);2.异步获取指定文件夹下的文件和文件夹名称。异步是readdir,两个参数,err和datavar fs = require('fs') // 异步读取文件路径 需要err和data两个参数,data获取的是数组 [ 'a.js', 'b.js'
前言这次的内容是我自己为了总结Redis知识而扩充的,上一篇其实已经总结了几点知识了,但是Redis的强大,以及适用范围之广可不是单单一篇博文就能总结清的。所以这次准备继续总结,因为第一个问题,Redis批量操作,是我在面试过程中被真实问到的,当时没答上来,也是因为确实没了解过Redis批量操作。当时的问题,我还记得比较清晰:Redis执行批量操作的功能是什么?使用场景就是搞促销活动时,会做预
转载 2023-11-04 22:21:50
236阅读
# 实现"nodejs redis 批量取出"的步骤 ## 整体流程 首先,我们需要连接到 Redis 数据库,然后批量取出需要的数据,并最后关闭连接。 以下是整个流程的步骤: | 步骤 | 描述 | | --- | --- | | 1 | 连接到 Redis 数据库 | | 2 | 批量取出数据 | | 3 | 关闭 Redis 连接 | ## 具体步骤 ### 步骤1:连接到 Re
原创 2024-05-30 06:44:01
37阅读
前言在我们的日常的项目开发中redis是我们常用的一种的缓存共享机制,它对数据的处理速度比从数据库中查询要快很多,而且可以在不同的场景下实现资源的共享。1. 什么是RedisRedis是由意大利人Salvatore Sanfilippo(网名:antirez)开发的一款内存高速缓存数据库。Redis全称为:Remote Dictionary Server(远程数据服务),该软件使用C语言编写,Re
记录一次生产环境清理千万级redis数据一、场景二、批量生成模拟数据2.1、编写数据文件data.txt2.1.1、文件格式一2.1.2、文件格式二2.2、文件格式转码2.3、执行批量导入2.3.1、脚本生成模拟数据2.3.2、代码模拟数据2.3.3、执行导入三、批量删除3.1、使用keys *批量删除key3.1.1、单机部署测试3.1.2、集群部署测试3.1.3、通过脚本删除3.2、使用sc
目录 起因 redis批量操作批量操作产生的问题   起因 最近在测试环境上发现了一个比较慢的链路调用,如下图所示:该操作做了大量的hgetall,发现入参中的List参数高达2700个,导致这里操作redis的时候一直循环查询,因为这个接口在设计的时候没有料想到有如此巨大的数据入口(所以没有限制入口参数列表长度,也没有优化循环操作),导
转载 2023-07-09 23:40:00
344阅读
node项目安装redisnpm install redis原因: 最新版的可能会报 redis is closed 这个错,这是redis版本为最新版:npm install默认安装的Redis client for Node.js为V4.0.0版本,一些接口已经改变解决:1.回退到node-redis v3.1.2npm uninstall --save redis npm install -
转载 2023-05-25 13:52:46
175阅读
Node.js模块系统 概况 模块系统用来让Node.js文件可以相互调用模块时Node.js应用程序的基本组成部分,文件和模块一一对应这个文件可以是JavaScript代码,JSON或者编译过的C/C++扩展创建模块 main.js1 var hello = require('./hello'); 2 hello.world();hello.js1 exports
转载 2023-09-22 06:35:58
143阅读
# Redis批量删除key的Node.js实现 Redis是一个高性能的键值对(key-value)数据库,广泛用于缓存、消息队列、排行榜等场景。在实际应用中,我们可能会遇到需要批量删除Redis中的key的情况。本文将介绍如何使用Node.js实现Redis批量删除功能。 ## Redis批量删除key的需求 在某些情况下,我们需要删除Redis中的大量key,例如: 1. 清理过期
原创 2024-07-20 11:18:56
97阅读
在工作中经常遇到要导入数据的场景。1 导入全新的数据2 导入的数据中库中可能已经存在,已经存在的数据不能覆盖,不能变更3 导入的数据中库中可能已经存在,已经存在的数据主键等不能变化,同时需要更新这些数据的一些字段(比如:积分字段) 第一种最简单,最坑爹的是第三种了。新手碰到这种问题往往一筹莫展,能想到的最直接的办法就是 一条条获取 ,然后判断,然后 update。这种方式的效率在少量数据
转载 2023-09-04 13:50:46
608阅读
1、化整为零 一般情况下,如果需要对一个表进行大批量更新的时候,由于涉及到的记录数很多,所以可能需要花费的时间也就很长,这种情况下,还采用一个单独的update 语句来更新的话,就会造成长时间的加锁,影响到业务。 简单的一个例子,如要更新im_user表中的非空ID为用户表bmw_users中的ID,关联字段为im_user.login_id=b
转载 2024-05-16 06:43:29
115阅读
通常如果需要一次更新多条数据有两个方式,(1)在业务代码中循环遍历逐条更新。(2)一次性更新所有数据1 批量更新不同的值 不同的条件MySQL没有提供直接的方法来实现批量更新,但可以使用case when语法来实现这个功能。
原创 2021-12-10 09:56:26
4112阅读
通常如果需要一次更新多条数据有两个方式,(1)在业务代码中循环遍历逐条更
原创 2022-01-07 15:30:41
3623阅读
前文件介绍了Node.js的crypto模块中Cipher类,Cipher类用于对流数据进行加密的。在数据传输前对数据进行加密码可以保证数据传输的安全。对于加密码的数据,在收到加密码数据后,需要对数据进行解密。crypto模块中封将了Decipher类,用于对Cipher加密数据的解密。1. Decipher类的创建创建Cipher类可以crypto.createCipher()和cry
转载 2024-04-23 09:38:20
148阅读
# Java的Redis批量数据更新 Redis是一个高性能的内存数据库,常用于缓存、消息队列等场景。在实际使用中,我们经常需要对Redis中的数据进行批量更新操作。本文将介绍如何使用Java对Redis进行批量数据更新,并提供相应的代码示例。 ## Redis批量数据更新流程 为了更好地理解Redis批量数据更新流程,我们可以通过流程图来展示整个过程。下面是一个简单的流程图: ``
原创 2024-04-03 04:06:55
217阅读
# 如何实现“redis 批量更新数据库” ## 整个流程 | 步骤 | 描述 | | --- | --- | | 1 | 从 Redis 中读取数据 | | 2 | 将数据批量更新数据库 | ## 具体操作步骤及代码 ### 步骤1:从 Redis 中读取数据 在这一步,我们需要连接 Redis,并从中读取数据。 ```python import redis # 连接 Redi
原创 2024-03-15 06:00:15
141阅读
# Redis List 批量更新:高效数据管理之道 在现代应用程序中,数据管理是一个关键环节。Redis,作为一种高性能的内存数据库,为我们提供了一种快速、灵活的方式来处理数据。本文将探讨如何在Redis中对List进行批量更新,以实现更高效的数据管理。 ## 什么是Redis List? Redis List是一种简单的数据结构,用于存储一系列有序的数据项。它类似于其他编程语言中的数组或
原创 2024-07-18 04:07:33
63阅读
在工作中经常遇到要导入数据的场景。1 导入全新的数据2 导入的数据中库中可能已经存在,已经存在的数据不能覆盖,不能变更3 导入的数据中库中可能已经存在,已经存在的数据主键等不能变化,同时需要更新这些数据的一些字段(比如:积分字段) 第一种最简单,最坑爹的是第三种了。新手碰到这种问题往往一筹莫展,能想到的最直接的办法就是 一条条获取 ,然后判断,然后 update。这种方式的效率在少量数据
转载 2024-03-23 16:01:04
132阅读
  • 1
  • 2
  • 3
  • 4
  • 5