一.win下安装redis https://github.com/MicrosoftArchive/redis/releases 下载Redis-x64-3.2.100.zip,然后解压,放到自定义目录. 然后打开命令行工具,进入到该目录下,运行安装redis服务. redis-server.exe --service-install redis.windows-service.conf --loglevel verbose 然后就可以启动redis服务了 redis-server --serv…
问题初现 某基于node.js开发的业务系统向外提供了一个dubbo服务,提供向第三方缓存查询.设置多项业务数据并聚合操作结果.在QPS达到800时(两台虚拟机,每台机器4Core8G4node进程),在监控平台上出现了非常多的slow rt警告,平均接口响应达到60+ms,请求报警率达到80%+. 为找到造成该服务吞吐量过低的罪魁祸首,业务人员在请求日志中打点了所有查询缓存的操作,结果显示每个请求查询缓存耗时在50-100ms之间跳动.查询了redis-server的监控数据发现,不存在ser…
服务端: 启动Redis服务: redis-server 客户端: 1.安装Redis        npm install redis --save 2.redisTest.js文件 //引入redisvar redis = require("redis");//创建redis客户端var client = redis.createClient("6379", "127.0.0.1");//连接错误处理client.on("error…
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,博客地址为http://www.cnblogs.com/jasonnode/ .学习网站上有对应每一小节的在线练习大家可以去试试. Cookie 在web应用中,多个请求之间共享“用户会话”是非常必要的.但HTTP1.0协议是无状态的.那这时Cookie就出现了.那Cookie又是如何处理的呢? Cookie的处理: 服务端向客户端发送Cookie 客户端的浏览器把Cookie保存 然后在每次…
系列目录: Node.js 教程 01 - 简介.安装及配置 Node.js 教程 02 - 经典的Hello World Node.js 教程 03 - 创建HTTP服务器 Node.js 教程 04 - 模块系统 Node.js 教程 05 - EventEmitter(事件监听/发射器) Node.js 教程 06 - 函数 ▁▃▅ Node.js 教程 01 - 简介.安装及配置 ▅▃▁ 简单的说 Node.js 就是运行在服务端的 JavaScript. Node.js 是一个基于Ch…
Sequelize是一个基于promise的关系型数据库ORM框架,这个库完全采用JavaScript开发并且能够用在Node.JS环境中,易于使用,支持多SQL方言(dialect),.它当前支持MySQL,.MariaDB.SQLite.PostgreSQL.Sql Server 数据库. 目前在Node.js中,Sequelize的关注度较高,用的也较多. 因为是基于promise规范,在调用后的处理上不再是callback方式,而是统一的链式调用方式,调用直观,易读. 那么就先用起来吧,…
Node.js 中MongoDB的基本接口操作 连接数据库 安装mongodb模块 导入mongodb模块 调用connect方法 文档的增删改查操作 插入文档 方法: db.collection("collectionName").insertOne(obj, option, callback) db.collection("collectionName").insertMany(array, option, callback) 删除文档 方法: do.colle…
Windowv 上安装Node.js Windows 安装包(.msi) : 32 位安装包下载地址 : http://nodejs.org/dist/v0.10.26/node-v0.10.26-x86.msi 64 位安装包下载地址 : http://nodejs.org/dist/v0.10.26/x64/node-v0.10.26-x64.msi 安装步骤: 安装步骤: 步骤 1 : 双击下载后的安装包 node-v0.10.26-x86.msi,如下所示: 步骤 2 : 点击以上的Ru…
本文转自:https://www.cnblogs.com/kongxianghai/p/5582661.html Sequelize是一个基于promise的关系型数据库ORM框架,这个库完全采用JavaScript开发并且能够用在Node.JS环境中,易于使用,支持多SQL方言(dialect),.它当前支持MySQL,.MariaDB.SQLite.PostgreSQL.Sql Server 数据库. 目前在Node.js中,Sequelize的关注度较高,用的也较多. 因为是基于promi…
Node.js中的流程控制可以使用async,在使用之前需要先安装,使用npm安装 npm install async --g 下面主要介绍4种流程控制的方式: 1.串行无关联:async.series(tasks,callback) 多个函数依次执行,之间没有数据交换,其中一个函数出错,后续函数不再执行; 以下是标准写法: async.series({ one: function(callback){ callback(null, 1); }, two: function(callback){…
Node.js中http-server的使用 使用阿里的npm镜像 国外的npm太慢了.查看一下自己使用的源: npm config get registry 应该显示https://registry.npmjs.org/.这回改成阿里的: npm config set registry https://registry.npm.taobao.org 不过在npm publish时要记得切回去 安装http-server http-server是一个基于Node.js的简单零配置命令行HTTP服…
玩node.js,不玩后台那就是杀鸡牛刀,今天没事整理一下以前开发node.js后台的心得 1.首先安装node.js以及cnpm,在这儿我就不说了,看我node.js中的另一篇文章node.js的安装和配置 安装express框架: sudo cnpm install express -g 全局安装express, 之后再安装express生成器,用下面语句就能安装 sudo cnpm install -g express-generator 此时你就可以输入 express -v 查看你所安…
mac下配置Node.js开发环境.express安装.创建项目 一.node.js的安装 去官网下载对应的平台版本就可以了,https://nodejs.org 二.express安装 sudo npm install -g express 进行全局安装. 这时有可能会安装不成功,用下面的命令即可 sudo npm install express-generator -g 三.创建项目 终端输入 express -e 你的项目名称 -e 为使用ejs框架 express默认为jade,为了 学…
创建一个服务器 首先建立一个js文件,命名为app.js写入内容: const http=require('http'); http.createServer((request,response)=>{ response.setHeader('Access-Control-Allow-Origin','*') //设置请求头 第一项代表允许的请求格式,第二项代表允许谁请求 response.write('hello node'); response.end(); //必须写,否则页面会进入死循环…
本章中你将会学到如何在node.js中使用neo4j图形数据库. 当你想存储或者查询和数据紧密关联的数据的时候,图形数据库很有用. neo4j是一个可有效存储,处理和查询你数据模型中紧密相连的元素的数据库. neo4j有很强大且灵活的数据模型,你可以使用其来表示你真实的,易变结构的信息,且不失真. 使用内置的REST API来和Neo4j通讯 Neo4j数据库有内在的HTTP REST接口,我们可以使用其直接和Neo4j数据库交接(interface). 你需要简单的使用POST向一个HTTP…
node.js中使用imagemagick进行图片裁剪压缩 安装imagemagick sudo apt-get install imagemagick or wget http://www.imagemagick.org/download/ImageMagick.tar.gz tar zxvf ImageMagick.tar.gz cd ImageMagick ./configure --prefix=/usr/local make sudo make install 安装GraphicsMa…
这次给大家带来一个好东西,它的主要用途就是能让大家在 Node.js 中使用 Python 的接口和函数.可能你看到这里会好奇,会疑惑,会不解,我 Node.js 大法那么好,干嘛要用 Python 呢?如果你之前尝试了解过一些机器学习的 JavaScript 的应用,就会比较清楚这背后的原因. 现状是机器学习生态几乎是捆绑在 Python 这门语言在高速迭代着的,而 JavaScript 只能望其项背,如果我们期望从零做到 Python 如今的规模,需要付出的工作量是巨大的,这个我在几年前写了…
node.js中模块和包 什么是模块 如何创建并加载模块 1. 创建模块 2. 单次加载 3. 覆盖 exports 如何创建一个包 1. 作为文件夹的模块 2. package.json 如何使用包管理器 1. 获取一个包 2. 本地模式和全局模式 3. 创建全局链接 什么是模块 模块是 Node.js 应用程序的基本组成部分,文件和模块是一一对应的.换言之,一个 Node.js 文件就是一个模块,这个文件可能是 JavaScript 代码.JSON 或者编译过的 C/C++ 扩展. 如何创建…
通常情况下,在Node.js中我们可以通过underscore的extend或者lodash的merge来合并两个对象,但是对于像下面这种复杂的对象,要如何来应对呢? 例如我有以下两个object: var obj1 = { "name" : "myname", "status" : 0, "profile": { "sex":"m", "isactive" : tr…
Mac平台下搭建node.js开发平台 安装方式 1 步骤: 下载mac版的.pkg文件(简单直接和Windows差不多) 安装方式 2 步骤: 安装xcode(命令:xcode-select --install) 安装Python 安装Homebrew(需要先安装ruby) 安装命令: ruby –e "$(curl –fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" 安装 node.js…
node.js中如何向客户端发送COOKIE呢?有如下两个方案: 一.使用response.writeHead,代码示例: //设置过期时间为一分钟 var today = new Date(); var time = today.getTime() + 60*1000; var time2 = new Date(time); var timeObj = time2.toGMTString(); response.writeHead({ 'Set-Cookie':'myCookie="type=…
当你学习node.js的时候,Events是一个非常重要的需要理解的事情.非常多的Node对象触发事件,你能在文档API中找到很多例子.但是关于如何写自己的事件和监听,你可能还不太清楚.如果你不了解,你很快就会碰壁.那么我们如何写自己的事件和监听呢?首先而且重要的是,你要了解node.js中的events模块. 事件发布/订阅模式事件监听器模式是一种广泛应用于一步变成的模式,是回调函数的事件化,又称发布/订阅模式.Node自身提供的events模块,是发布/订阅模式的一个简单实现,Node中部分…
10.1 使用domain模块处理错误 / 272 10.1.1 domain模块概述 / 272 10.1.2 创建并使用Domain对象 / 274 10.1.3 隐式绑定与显式绑定 / 276 10.1.4 绑定回调函数与拦截回调函数 / 279 10.1.5 domain堆栈的弹出与推入 / 280 10.1.6 Domain对象的销毁 / 28610.2 Node.js中的断言处理 / 286 10.2.1 equal方法与notEqual方法 / 287 10.2.2 strictE…
Node.js中的URL 什么是URL URL是Uniform Location Resource的缩写,翻译为"统一资源定位符",也就是描述资源位置的固定表示方法.被URL描述的资源可以位于互联网上,也可以位于本地. URL的组成结构 基本URL包含模式(或者成为协议),服务器名(或IP地址),路径和文件名. 第一部分:协议 通过协议,可以获取打开URL的方式,最常见的协议是http,从网上查到的协议如下: http 超文本传输协议 https 用安全套接字层传送的超文本传输协议 f…
总结一下mysql语句在node.js中的各种写法,参考了npm网站mysql模块给的实例. 查询 select //1 db.query('select * from tuanshang_users where user_id < 10',function(err,results,fields){ //if(err) throw err; console.log( results ); if(!!results.length){ console.log('查询到'+ results.lengt…
本章内容包括: 如何使用REPL运行环境以及如何在该运行环境中测试各种JavaScript表达式. 如何定义并启动REPL运行环境. Node.js 框架中为REPL运行环境提供了哪些命令以及这些命令的作用. 2.1 REPL运行环境概述 在 Node.js 中,为了使开发者方便测试JavaScript代码,提供了一个名为REPL(Read-Eval-Print-Loop)的可交互运行环境. 在命令行窗口中,输入"node"命令并按下回车键,即可进入REPL运行环境.在REPL运行环境…
在上一篇文章在Node.js中使用RabbitMQ系列一 Hello world我有使用一个任务队列,不过当时的场景是将消息发送给一个消费者,本篇文章我将讨论有多个消费者的场景. 其实,任务队列最核心解决的问题是避免立即处理那些耗时的任务,也就是避免请求-响应的这种同步模式.取而代之的是我们通过调度算法,让这些耗时的任务之后再执行,也就是采用异步的模式.我们需要将一条消息封装成一个任务,并且将它添加到任务队列里面.后台会运行多个工作进程(worker process),通过调度算法,将队列里的任…
在前端学习过程中,涉及到路径的问题非常多,相对路径,绝对路径等.有时候明明觉得没问题,但是还是会出错.或者说线下没问题,但是到了线上就出现问题,因此弄懂路径问题,非常关键.我们需要知道为什么这个地方既可以使用相对路径,又可以使用绝对路径,为什么有些地方只能使用绝对路径. 一.Node.js中加载模块的路径设置 const myClass = require('./myclass') 上面这段代码是我们在使用Node.js中经常会使用到的代码-引入模块.我们都知道如果加载的是核心模块,直接requ…
一个是前端技术,一个是后端技术 浏览器中的 JavaScript ECMAScript  语言基础,如语法.数据类型结构.一些内置对象 BOM(Browser Object Model)  一些操作页面元素的方法 DOM(Document Object Model) 一些操作浏览器的方法 Node.js 中的 JavaScript ECMAScript Node 为 JavaScript 提供的服务器级别的 API…
进程,你可以把它理解成一个正在运行的程序.node.js中每个应用程序都是进程类的实例对象. node.js中有一个 process 全局对象,通过它我们可以获取,运行该程序的用户,环境变量等信息. 一.process 对象 console.log('可执行文件绝对路径', process.execPath); console.log('版本号', process.version); console.log('依赖库的版本号', process.versions); console.log('运…