`
start_p
  • 浏览: 66522 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

node.js使用redis作为缓存

阅读更多

    首先,参考官方文档安装redis中间件 https://www.npmjs.com/package/redis

npm install redis安装中间件,当然,当你看到npm install hiredis redis这个的时候不要迷惑,hiredis是一个解析器,可以不安装而使用默认的javascript解析。

 var redis = require("redis"),
        client = redis.createClient();
    // if you'd like to select database 3, instead of 0 (default), call 
    // client.select(3, function() { /* ... */ }); 
    client.on("error", function (err) {
        console.log("Error " + err);
    });
    client.set("string key", "string val", redis.print);
    client.hset("hash key", "hashtest 1", "some value", redis.print);
    client.hset(["hash key", "hashtest 2", "some other value"], redis.print);
    client.hkeys("hash key", function (err, replies) {
        console.log(replies.length + " replies:");
        replies.forEach(function (reply, i) {
            console.log("    " + i + ": " + reply);
        });
        client.quit();
    });
上面代码是从文档中拷过来的,你可以把这段代码放进自己的项目中测试其实是没有问题的,但是可能有一个问题,就是当你自己在webstorm中敲代码hset的时候好像提示不存在这个函数,然后就感觉不会再爱了,连个提示都没有,难道就提供了set一个方法吗?其实不是,如果你去看源代码会看到一个数组里提供了所有redis自己的命令,所以,在redis命令行里可以使用的命令在node中间件(redis)也可以使用,比如设置key的过期时间我写了测试代码:
client.expire(key, 3, myClient.pri('设置过期时间'));
是可以正常使用的,所以就能举一反三了,其他命令也可以使用类似的放使用,至于这个命令中应该传递几个参数呢?大概可以从以下代码看出来:
RedisClient.prototype[command] = function (args, callback) {
        if (Array.isArray(args) && typeof callback === "function") {
            return this.send_command(command, args, callback);
        } else {
            return this.send_command(command, to_array(arguments));
        }
    };
 可以转换为client.command(args,callback),看起来是两个参数,实际是可以传递多个参数的,比如我上面的例子中就传递了3个参数。具体要几个参数我们可以根据redis实际命令需要几个参数来传递,至于回调函数可以省略,程序会自动加上默认的。

 

分享到:
评论

相关推荐

    Node.js-redis-一个node.jsredis客户端

    在Node.js中,我们可以使用各种Redis客户端库来与Redis服务器进行通信。"Node.js-redis"是其中的一款强大且功能齐全的客户端,它不仅支持所有Redis命令,还特别关注性能优化。这个库提供了简洁的API,使得开发者可以...

    Node.js-基于Redis的Node.jsLRU缓存

    Node.js作为一个轻量级、高性能的服务器端JavaScript运行环境,提供了丰富的库和工具来与各种后端服务交互,包括数据库和缓存服务。对于Redis,Node.js社区有多个库支持,如`redis`、`ioredis`等,它们提供了一套...

    Node.js-实时聊天应用使用Node.jsExpressMongooseSocket.ioPassport和Redis开发

    标题中的“Node.js-实时聊天应用使用Node.jsExpressMongooseSocket.ioPassport和Redis开发”表明这个项目是一个基于Node.js的实时聊天应用,利用了一系列关键的技术栈。让我们逐一解析这些技术及其在聊天应用中的...

    Node.js-将本机数组和对象从Redis实时备份和恢复

    在IT行业中,尤其是在Web开发领域,Node.js是一个广泛使用的JavaScript运行环境,它允许开发者在服务器端执行JavaScript代码。本主题聚焦于如何利用Node.js来实现本机数组和对象的实时备份与恢复,这对于数据安全性...

    Node.js redis连接库及事例 Redis-bluebird

    在IT行业中,Node.js是一个非常流行的JavaScript运行环境,它允许开发者使用JavaScript进行后端开发。Redis则是一款高性能的键值数据库,广泛应用于缓存、消息队列等场景。本篇文章将详细探讨如何在Node.js中使用`...

    node.js利用redis数据库缓存数据的方法

    Redis数据库采用极简的设计思想,最新版的源码包还不到2Mb。其在使用上也有别于一般的数据库。下面这篇文章就来给大家介绍了node.js利用redis数据库缓存数据的方法,需要的朋友可以参考借鉴,下面来一起看看吧。

    Node.js-Node.js持久缓存模块支持多种后端存储

    Node.js作为一个强大的JavaScript运行环境,不仅在Web服务器领域广泛应用,还在数据处理和文件操作等方面展现出高效性能。在大型项目中,缓存管理是优化应用程序性能的关键环节,它能减少不必要的数据库查询,提升...

    node.js redis资料

    ### Node.js Redis 资料...Redis 在 Node.js 中的应用非常广泛,无论是在缓存、会话管理还是消息队列等方面都有出色的表现。掌握这些知识将有助于开发者更好地利用 Redis 的强大功能,提高应用程序的性能和响应能力。

    node.js中 redis 的安装和基本操作示例

    在Node.js环境中,Redis是一个非常流行的键值存储系统,常用于缓存和数据持久化。以下将详细介绍如何在Windows上安装Redis以及在Node.js中进行基本操作。 **一、Win下安装Redis** 1. 从GitHub上的MicrosoftArchive...

    基于Node.js的高并发电商购物系统设计与实现

    Redis作为缓存数据库,用于存储频繁访问的数据,减少对MySQL的查询压力,提升性能。 在系统架构设计中,还引入了Nginx作为反向代理和负载均衡服务器,确保在高并发下系统的稳定性和可用性。HTTP/2协议和SSL加密协议...

    Node.js-ioredis一个用于Node.js专注性能强大功能全面的Redis客户端

    综上所述,`ioredis`作为Node.js中的Redis客户端,因其高性能、全面的功能和易用性,成为开发者首选的Redis工具。无论是在小型项目还是大型分布式系统中,`ioredis`都能帮助我们构建高效、可靠的Redis解决方案。通过...

    基于 OpenResty 和 Node.js 的微服务架构实践.pdf

    - **定义**:Node.js 是一个基于 Chrome V8 JavaScript 引擎的 JavaScript 运行环境。它使用事件驱动、非阻塞 I/O 模型,使其轻量又高效,非常适合数据密集型实时应用。 - **特点**: - **异步 I/O**:采用异步 I/O...

    Node.js-deno的redis客户端的一个实验性实现

    标题 "Node.js-deno的redis客户端的一个实验性实现" 指的是在 Deno 这个 JavaScript/TypeScript 运行环境中对 Redis 客户端的一种初步尝试。Deno 是由 Ryan Dahl,也是 Node.js 的创始人,推出的一个新的 JavaScript...

    Node.js-短网址基于nodejsv4.5redismongodb开发

    在本项目中,“Node.js-短网址基于nodejs v4.5 redismongodb开发”是一个使用Node.js v4.5版本、Redis和MongoDB数据库构建的短网址服务。短网址服务是互联网上一种常见的功能,它能够将长网址缩短,方便用户分享和...

    Node.js-eggredis操作插件

    Node.js是一个基于Chrome V8引擎的JavaScript运行环境,它以其异步非阻塞I/O和事件驱动的特性在Web开发领域占据了一席之地,尤其适合构建高性能的网络应用。Egg.js是阿里云开发的一个企业级Node.js应用框架,它基于...

    Node.js + Redis Sorted Set实现任务队列

    本文会详细讲解如何使用Node.js结合Redis的Sorted Set数据结构来实现一个任务队列。 首先,我们需要理解Redis的Sorted Set数据结构。Sorted Set是一种有序集合,每个元素都会关联一个分数,集合会根据分数值来进行...

    chat:通过 node.js、socket.io、redis 聊天

    首先,Node.js是一个基于Chrome V8引擎的JavaScript运行环境,它让开发者能够使用JavaScript编写服务器端代码。Node.js以其事件驱动、非阻塞I/O模型而闻名,非常适合构建高并发、高性能的网络应用,如聊天系统。 ...

    《Node.js实战》的第二章源代码,主要讲解redis的访问.zip

    Redis是一个高性能的键值存储系统,常用于数据缓存、消息队列等场景,与Node.js结合使用可以构建高效的数据处理应用。 首先,我们需要了解Node.js的基础知识。Node.js是一个基于Chrome V8引擎的JavaScript运行环境...

Global site tag (gtag.js) - Google Analytics