node操作redis

作者: 姜治宇 | 来源:发表于2022-05-26 14:41 被阅读0次

redis是干啥的

redis其实就是一种nosql数据库,用来存储数据的。
nosql并没有表结构这类东西,数据都是以键值对的方式存储。
redis最大特点就是速度快,因为数据都是保存在内存中。
因此,我们可以将用户频繁查询的数据存入redis中,以提高查询性能。

安装

推荐大家用docker进行安装。先拉取镜像,然后启动redis,默认端口号是6379。

docker pull redis
docker run -d -p 6379:6379 --name myRedis redis

我们还可以安装一个redis图形化界面,这样可以比较形象的看到数据存储结构。
下载链接:https://pan.baidu.com/s/1PTf0VALc3Qp8Oa78cvBzcA
提取码:epsk

node连接redis

首先需要安装redis插件,然后再装个util插件,可以很方便的将redis的方法封装成promise调用。

npm install redis -S
npm install util -S

以express为例。
index.js:

var express = require('express');
var router = express.Router();
var redis = require('redis');
const { promisify } = require('util');
const client = redis.createClient({
  host: 'localhost',
  port: 6379
});

client.on('error', (err) => {
  console.log('redis error>>>', err);
});
/* GET home page. */
router.get('/', async (req, res, next) => {
  let redisObj = promiseRedis(client);
  let user = {
    status: 0,
    info: {
      username: 'jack',
      password: '123456',
      age: 16
    }
  };
  await redisObj.set('userInfo', JSON.stringify(user));
  let userInfo = await redisObj.get('userInfo');
  res.send(userInfo);
  // res.render('index', { title: 'Express' });
});
function promiseRedis(client) {

  return {
    exists: promisify(client.exists).bind(client),
    keys: promisify(client.keys).bind(client),
    set: promisify(client.set).bind(client),
    get: promisify(client.get).bind(client),
    del: promisify(client.del).bind(client),
    incr: promisify(client.incr).bind(client),
    decr: promisify(client.decr).bind(client),
    lpush: promisify(client.lpush).bind(client),
    hexists: promisify(client.hexists).bind(client),
    hgetall: promisify(client.hgetall).bind(client),
    hset: promisify(client.hset).bind(client),
    hmset: promisify(client.hmset).bind(client),
    hget: promisify(client.hget).bind(client),
    hincrby: promisify(client.hincrby).bind(client),
    hdel: promisify(client.hdel).bind(client),
    hvals: promisify(client.hvals).bind(client),
    hscan: promisify(client.hscan).bind(client),
    sadd: promisify(client.sadd).bind(client),
    smembers: promisify(client.smembers).bind(client),
    scard: promisify(client.scard).bind(client),
    srem: promisify(client.srem).bind(client)

  }

}
module.exports = router;

运行结果:


1.png

看一下redis的图形化界面:


3.png

相关文章

  • Redis 简要使用

    Redis 设置认证 Python操作 Redis Node.js 操作Redis

  • node操作redis

    redis是干啥的 redis其实就是一种nosql数据库,用来存储数据的。nosql并没有表结构这类东西,数据都...

  • node.js之redis使用

    node.js-redis官网node.js-redis教程 redis连接 redis单设值 redis集合 r...

  • redis 集群讲解 (一 )安装 运行 基本 操作

    redis cluster 支撑N个redis master node,每个master node都可以挂载多个s...

  • redis cluster

    redis cluster 支撑N哥redis master node,每个master node都可以挂载多个s...

  • redis

    redis - a node.js redis client This is a complete and fea...

  • Node.js+Redis实现定时器任务

    Node.js+Redis实现定时器任务 标签(空格分隔): Node.js [TOC] 简介 在 Redis 的...

  • php操作redis大全

    php连接redis测试 php操作redis函数封装 php操作redis大全,基本上php操作redis常用的...

  • nodejs redis的使用

    github组件-NodeRedis/node_redis MAC下安装redis Redis使用认证密码登录 安...

  • redis数据库

    ubuntu上安装redis 配置redis公网访问 redis启动方式 node-redis使用方法 参考资料 ...

网友评论

    本文标题:node操作redis

    本文链接:https://www.haomeiwen.com/subject/ibiuprtx.html