当前位置:网站首页 > 数据科学与大数据 > 正文

NoSQL数据库(三)04-Redis进阶与实战——nodejs操作redis数据库之ioredis更新属于node_redis改良版 & ioredis的可视化工具安装、基本语法、管道与事务

NoSQL数据库(三)04-Redis进阶与实战——nodejs操作redis数据库之ioredis更新属于node_redis改良版 & ioredis的可视化工具安装、基本语法、管道与事务

nodejs操作redis数据库

框架选择
  • node_redis
  • ioredis

node_redis星星更多但是我们选择ioredis,因为ioredis更新,属于node_redis改良版。

【文章】ioredis 的开发背景以及与 node_redis 合并的计划

不过ioredis与node_redis的作者正在讨论将两者合为一个库。

  • ioredis安装
    • npm install ioredis
可视化工具安装
  • 收费
  • 免费:AnotherRedisDesktopManager
安装

https://github.com/mood6666/AnotherRedisDesktopManager

在这里插入图片描述

基本语法
  • 一些简单的操作
var Redis = require('ioredis'); var redis = new Redis(); redis.set('foo', 'bar'); redis.get('foo', function (err, result) { 
    console.log(result); }); redis.del('foo'); // Or using a promise if the last argument isn't a function redis.get('foo').then(function (result) { 
    console.log(result); }); // Arguments to commands are flattened, so the following are the same: redis.sadd('set', 1, 3, 5, 7); redis.sadd('set', [1, 3, 5, 7]); // All arguments are passed directly to the redis server: redis.set('key', 100, 'EX', 10); 
  • 连接redis
new Redis() // Connect to 127.0.0.1:6379 new Redis(6380) // 127.0.0.1:6380 new Redis(6379, '192.168.1.1') // 192.168.1.1:6379 new Redis('/tmp/redis.sock') new Redis({ 
    port: 6379, // Redis port host: '127.0.0.1', // Redis host family: 4, // 4 (IPv4) or 6 (IPv6) password: 'auth', db: 0 }) 
  • pipelining

对redis实现的管道,避免出现前面提到的往返时延问题。

var pipeline = redis.pipeline(); pipeline.set('foo', 'bar'); pipeline.del('cc'); pipeline.exec(function (err, results) { 
    // `err` is always null, and `results` is an array of responses // corresponding to the sequence of queued commands. // Each response follows the format `[err, result]`. }); // You can even chain the commands: redis.pipeline().set('foo', 'bar').del('cc').exec(function (err, results) { 
    }); // `exec` also returns a Promise: var promise = redis.pipeline().set('foo', 'bar').get('foo').exec(); promise.then(function (result) { 
    // result === [[null, 'OK'], [null, 'bar']] }); 

还有另外一种调用方式:

redis.pipeline([ ['set', 'foo', 'bar'], ['get', 'foo'] ]).exec(function () { 
    /* ... */ }); 
  • 事务
redis.multi().set('foo', 'bar').get('foo').exec(function (err, results) { 
    // results === [[null, 'OK'], [null, 'bar']] }); 
实例

node_index.js

var Redis = require('ioredis'); var redis = new Redis(); // 实例化了一个客户端 // redis.set('foo', 'bar'); // redis.get('foo', function(err, result) { // 第一个参数是err这是nodejs的约定 // console.log('result', result) // }) // // redis.del('foo'); // // redis.sadd('set', 1 , 3, 5 ,7); // redis.sadd('set', [2, 4, 6, 8]); // 类似apply和call // // 需要过期时间 // redis.set('guoqi', 100, 'EX', 5); // var pipeline = redis.pipeline(); // pipeline.set('hello', 'world').set('nihao', 'china').exec(); redis.multi().set('shiwu3', 'aaa').set('shiwu4', asdsad).exec(); 
到此这篇NoSQL数据库(三)04-Redis进阶与实战——nodejs操作redis数据库之ioredis更新属于node_redis改良版 & ioredis的可视化工具安装、基本语法、管道与事务的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • NoSQL数据库(三)05-Redis进阶与实战——总结之事务-错误处理和watch、过期时间、sort排序、by排序 & noedjs操作redis数据库2024-12-03 09:27:07
  • NoSQL数据库(四)-memcached——介绍-分布式内存对象缓存系统、安装、api之set设置、add新增、replace替换、append追加2024-12-03 09:27:07
  • NoSQL数据库(五)01-mongoDB入门——介绍与应用场景、安装与可视化工具 & 使用node-mongodb-native进行增删改查2024-12-03 09:27:07
  • NoSQL数据库(五)022-Egg+Redis+MongoDb实现登录流程——业务流程梳理 & 安装依赖与页面编写2024-12-03 09:27:07
  • js之对象分类、数据类型分类和存储位置、函数 function介绍、变量的作用域2024-12-03 09:27:07
  • NoSQL数据库(三)03-Redis进阶与实战——EXPIRE实现服务器缓存数据 & sort实现排序之对列表类型、有序集合和非数字类型进行排序 & Redis的底层通信协议对管道提供支持2024-12-03 09:27:07
  • NoSQL数据库(三)02-Redis进阶与实战——EXPIRE命令设置过期时间-实现定期检测删除过期数据 & EXPIRE实现和优化访问服务器频率限制2024-12-03 09:27:07
  • NoSQL数据库(三)01-Redis进阶与实战——redis事务命令与错误处理、事务中的watch命令2024-12-03 09:27:07
  • NoSQL数据库(二)06——redis总结之发展、特点、安装、操作 & 数据类型之字符串数据类型、散列、列表、集合、有序集合2024-12-03 09:27:07
  • NoSQL数据库(二)04-Redis数据类型——集合类型之介绍、命令-增加和删除元素、获得集合中的所有元素、判断元素是否在集合中、集合间运算2024-12-03 09:27:07
  • 全屏图片