Node.js如何操作redis实现添加查询功能

一个例子

关于redis服务端的安装这里不再介绍,重点不在这里。感兴趣的可以自行安装。

对于一个新的模块,我们需要在我们的项目中先安装redis模块才能用。

命令

cnpm install redis

新建一个redis.js的文件,代码如下:

//引入redis

Node.js操作redis实现添加查询功能


var redis = require("
redis"
);

//创建redis客户端
var client = redis.createClient("
6379"
, "
127.0.0.1"
);

//连接错误处理
client.on("
error"
, function (error) {
console.log(error);

});

//redis验证 (如果redis没有开启验证,此配置可以不写)
client.auth("
123456"
);

//查找

client.select("
15"
, function (error) {
if (error) {
console.log(error);

} else {
client.set("
node_redis_key"
, JSON.stringify({ "
name"
: "
wolfy"
, age: 28 }), function (error, res) {
if (error) {
console.log(error);

} else {
console.log(res);

};

//操作完成,关闭redis连接
client.end(true);


});

};

});

查询



一、什么是Redis?
Redis是一种基于内存的开源键值对存储数据库系统,它支持多种数据结构,如字符串、列表、集合、哈希、有序集合等,也支持事务、持久化等特性。在Node.js中,我们可以通过第三方模块ioredis来实现与redis的交互操作。
二、如何操作Redis?
在Node.js中,我们可以通过ioredis模块来操作Redis,以下是ioredis的一些基本命令:
1. set(key, value):设置键值对
2. get(key):获取对应key的value
3. hset(key, field, value):设置哈希结构下某个field的值
4. hget(key, field):获取哈希结构下指定key、field的value
5. lpush(key, value):将value推入列表左侧
6. lrange(key, start, end):获取列表中从start到end的value
7. sadd(key, member):向集合中添加成员
8. smembers(key):获取集合中所有成员
9. zadd(key, score, member):向有序集合中添加成员并赋予score
10. zrange(key, start, end):获取有序集合中从start到end的成员
三、如何实现添加和查询功能?
以下是一个简单的添加和查询demo:
```
const Redis = require('ioredis');
const redis = new Redis();
async function addData() {
await redis.set('name', 'Tom');
await redis.hset('person', 'age', 20);
await redis.lpush('hobbies', 'reading');
await redis.lpush('hobbies', 'cooking');
await redis.sadd('languages', 'Chinese');
await redis.sadd('languages', 'English');
await redis.zadd('scores', 80, 'Tom');
await redis.zadd('scores', 90, 'Jerry');
}
addData()
async function queryData() {
const name = await redis.get('name');
const age = await redis.hget('person', 'age');
const hobbies = await redis.lrange('hobbies', 0, -1);
const languages = await redis.smembers('languages');
const scores = await redis.zrange('scores', 0, -1, 'WITHSCORES');
console.log(`name: ${name}, age: ${age}`);
console.log(`hobbies: ${hobbies}`);
console.log(`languages: ${languages}`);
console.log(`scores: ${scores}`);
}
queryData()
```
首先我们通过ioredis的set、hset、lpush、sadd、zadd命令将一些数据添加到Redis中。然后通过get、hget、lrange、smembers、zrange命令将这些数据从Redis中查询出来。需要注意的是,在zrange命令中,我们需要加上WITHSCORES参数才能查询到成员对应的score值。
通过这些简单的操作,我们就能实现Redis的添加和查询功能,为我们在Node.js应用中实现存储和查询提供了便利。
总结:
本文介绍了Redis的特性和如何在Node.js中使用ioredis模块来操作Redis实现添加和查询功能。值得注意的是,Redis的操作尤其是一些写操作是有性能开销的,建议在应用中合理使用缓存,减少不必要的请求和数据读取操作,提高应用的性能和稳定性。