账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    发现nodejs高并发场景不能保证数据安全
    29
    0
    直接上代码,用redlock同理://express_demo.js 文件var express = require('express');var app = express();const Redis = require("ioredis");const Redlock = require('redlock')const client = new Redis({ port: 6379, // Redis port host: "127.0.0.1", // Redis host family: 4, // 4 (IPv4) or 6 (IPv6) password: "123456", db: 0,});client.set("key2", 0);app.get('/t', function (req, res) { client.del("keyid01") var setKey = function () { client.setnx("keyid01",1, (err, res) => { if (res == 0) { //0未设置成功 setTimeout(() => { console.log("等待..."); setKey() }, 200) } else { client.get("key2", (err, res) => { var r2 = parseInt(res) + 1 console.log(r2); client.set("key2", r2) client.del("keyid01") }) } }) } setKey()})var server = app.listen(8081, function () { var host = server.address().address var port = server.address().port console.log("应用实例,访问地址为 http://%s:%s", host, port)})同时开20个线程测试 /t接口输出:11233...999哪里有问题么?
    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部