nodejs+redis使用例子

因为nodejs中的许多操作都是异步的,所以有前后依赖关系的异步操作,后执行的操作必须写到回调函数里面。

如对redis的操作,设置一个key,然后获取设置key的值,就属于有前后依赖关系的异步操作,必须按下面的写法来写:

// demo-redis.js

var redis = require('redis');
var client = redis.createClient(6379);

client.set('key', 'val', function(err, reply) {
    if (err) {
        console.log(err);
        return;
    }   
    client.get('key', function(err, reply) {
        if (err) {
            console.log(err);
            return;
        }   
        console.log(reply);
        client.quit();
    }); 
});

当操作更多的时候,这样的代码格式,看起来会相当头疼。。。

如果没有安装redis扩展,先用以下命令安装:

npm install hiredis redis


### Node.js 使用 Redis 安装配置及基本操作 #### 一、安装依赖包 为了能够在Node.js环境中使用Redis,需要先通过npm来安装`redis`模块。 ```bash npm install redis --save ``` 此命令会下载并安装最新版本的Redis客户端到当前项目中[^1]。 #### 二、连接至Redis服务实例 建立与Redis服务器之间的链接通常涉及几个必要的参数,比如主机地址(`REDIS_HOST`)、端口(`REDIS_PORT`)以及可能存在的认证凭证(`REDIS_PASSWORD`)等。对于具体的实现方式,在Nest.js框架下可以通过环境变量的形式传递这些信息给应用程序;而在普通的Node.js应用里,则可以直接在代码内部定义相应的常量或变量来进行指定[^2]。 下面是一个简单的例子展示如何创建一个Redis客户端对象: ```javascript const redis = require('redis'); // 配置选项可以为空,默认情况下将会尝试连接本地运行的服务 let client; try { const options = {}; client = redis.createClient({ port: process.env.REDIS_PORT || 6379, host: process.env.REDIS_HOST || 'localhost', password: process.env.REDIS_PASSWORD || null, ...options }); } catch (error) { console.error(error); } client.on('connect', () => {console.log("Connected to Redis")}); client.on('error', err => {console.error("Error " + err)}); ``` 这段脚本首先引入了官方提供的Redis库,接着利用传入的配置项初始化了一个新的客户端实例,并监听其状态变化以便及时作出响应处理。 #### 三、执行基础命令 一旦成功建立了同目标数据库间的通信渠道之后,就可以开始发送各种指令对其进行读写访问了。这里列举了一些常用的API调用方法供参考: - **SET key value**: 将字符串值存储于键名之下。 ```javascript await client.set('mykey','hello world') ``` - **GET key**: 获取特定键对应的值 ```javascript let result = await client.get('mykey') console.log(result)// 输出 hello world ``` - **DEL key**: 删除某个已有的记录 ```javascript await client.del('mykey') ``` 以上就是关于Node.js环境下集成和运用Redis的一些基础知识介绍。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值