nodejs mongoose redis 千萬并發(fā)秒殺(一) 之redis配置

一 .首先安裝redis

作者用的是oneinstack。
redis.conf配置文件目錄在

/usr/local/redis/etc/redis.conf

1、修改可以外網(wǎng)訪問(一般線上的,不開放,但是我們在測試的時候,可以是外網(wǎng),也可以是內(nèi)網(wǎng),看自己的需求去,)
更改redis.conf 文件

bind 127.0.0.1
protected-mode yes

更改為

#bind 127.0.0.1 等于這句注釋掉
protected-mode yes

2、設(shè)置密碼訪問。不然損失慘重。

# requirepass foobared
requirepass password   
#password是密碼

3、重啟redis,即可生效。

注:記得對防火墻的6379端口可以進(jìn)行訪問
可用

#檢查可以通再連接
telnet ip port

二.mongoose-redis 緩存

接下來插件介紹,天下文章一大抄請允許我引用一段:
來自:https://www.npmjs.com/package/mongoose-redis#installation

Installation

Install via NPM

npm install mongoose-redis --save

Example

var mongoose = require('mongoose');

var MongooseCache = require('mongoose-redis');

Config mongoose-redis cache

var cache = MongooseCache(mongoose, "redis://127.0.0.1:6379");
var docs = await Post.find({ stt: 1 }).sort({ crt: -1 })

.limit(30)

.cache(120) // cache 120 seconds

.select({ tl: 1, lth:1, views:1, img: 1, slug: 1})

You can also pass a custom key into the .cache() method, which you can then use later to clear the cached content.

app.get('/detail/:id', async (req, res)=> {

    var _id = req.params.id;  

    var info = await Post.findOne({ slug: _id, stt: 1 })

            .cache(120, _id); // custom cache key by id

});
Post.findById("5dbfac4d7d3ff31acb86d870").cache(60).then(result => {

        console.log(result);

    });
Post.findOne({ _id: '5dbfac4d7d3ff31acb86d870' }).cache(60).then(result => {

        console.log(result);

    });

代碼就這么簡單。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容