Node Redis 小试

发布时间:2019-07-16 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了Node Redis 小试脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

背景

如果一个 Node 应用有多台服务器或多个进程在跑,每个进程都拥有自己的内存空间,各个进程之间的数据共享就显得非常重要

使用数据库是一个解决数据共享的方案,但一些临时性、高并发的数据并不太适合直接写入数据库,比如 session。

引入 redis 可以解决数据共享的问题,也因为 Redis 是基于内存存储的特点,有着非常高的性能,可以大大降低数据库读写的压力提升应用的整体性能。

Redis 还可以用来:缓存复杂的数据库查询结果,做自增长统计,暂存用户操作状态等功能。

安装 Redis 客户端

开始使用 redis 之前,首先需要安装 Redis 客户端

以 MAC OS 为例,通过 brew 安装 Redis

brew install redis

启动 Redis

redis-server

安装 ioredis NPM 模块

安装 ioredis

npm install ioredis

Node Redis 小试

小试

VAR Redis = require('ioredis')
var redis = new Redis()

redis.set('test-redis-expire', 1)

// 设置过期时间 3s
redis.expire('test-redis-expire', 3)

redis.get('test-redis-expire', (err, value) => {
  console.log(value)
})

setTimeout(() => {
  redis.get('test-redis-expire', (err, value) => {
    console.log(value)
  })
}, 5000)

结果:

1
null

刚开始使用 redis 的时候很困惑,为什么 JAVA 调用 Redis 的语法看起来是同步的,到了 Node 就成了异步的呢,会不会存在什么逻辑问题?

事实上,Node 调用 Redis 确实是异步的,只不过因为 Redis 是单线程的特点,任何操作都是原子操作。

在小试的代码中,redis.set redis.get 都只是向 Redis 发送了一个通知,添加到了 Redis 的任务队列中而已。

脚本宝典总结

以上是脚本宝典为你收集整理的Node Redis 小试全部内容,希望文章能够帮你解决Node Redis 小试所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。