摘要: 为什么要加锁? 问题背景 当多个用户并发地存取数据时,在数据库中就会产生多个事务同时存取同一数据的情况。若对并发操作不加控制就可能会读取和存储不正确的数据,破坏数据库的一致性。 要解决的问题 多用户环境下保证数据库完整性和一致性 锁是什么 在计算机科学中,锁是在执行多线程时用于强行限制资源访问的同步 阅读全文
posted @ 2020-08-21 00:07 不知不觉、 阅读(166) 评论(0) 推荐(0) 编辑
摘要: 本文来自一位不愿意透露姓名的粉丝投稿,由Hollis整理并"还原"了面试现场。 相信很多人对于MySQL的索引都不陌生,索引(Index)是帮助MySQL高效获取数据的数据结构。 因为索引是MySQL中比较重点的知识,相信很多人都有一定的了解,尤其是在面试中出现的频率特别高。楼主自认为自己对MySQ 阅读全文
posted @ 2020-08-21 00:03 不知不觉、 阅读(1566) 评论(0) 推荐(0) 编辑
摘要: 我们都知道javascript是单线程的,node.js是一个基于Chrome V8 引擎的 javascript 运行时环境,注意 node.js 不是一门语言,别搞错了。 javascript为什么是单线程的,这么做有什么好处? 因为历史原因,js的出现主要是为了解决页面的交互和操作DOM,如果 阅读全文
posted @ 2020-08-20 23:34 不知不觉、 阅读(361) 评论(0) 推荐(0) 编辑
摘要: innodb的默认事务隔离级别是rr(可重复读)。它的实现技术是mvcc。基于版本的控制协议。该技术不仅可以保证innodb的可重复读,而且可以防止幻读。但是它防止的是快照读,也就是读取的数据虽然是一致的,但是数据是历史数据。如何做到保证数据是一致的(也就是一个事务,其内部读取对应某一个数据的时候, 阅读全文
posted @ 2020-06-24 15:51 不知不觉、 阅读(680) 评论(0) 推荐(0) 编辑
摘要: https://www.jianshu.com/p/35588ecf33c1 阅读全文
posted @ 2020-06-16 11:51 不知不觉、 阅读(116) 评论(0) 推荐(0) 编辑
摘要: router.get('/lock', async (ctx, next) => { const resource = 'locks:account:11111'; const ttl = 8000; const value = uuid.v1(); const startTime = moment 阅读全文
posted @ 2020-06-09 17:38 不知不觉、 阅读(287) 评论(0) 推荐(0) 编辑
摘要: 使用docker搭建的redis集群,使用的自定义网段,单个端口连接redis是成功的,但是无法连接redis集群,比如宿主主机的ip是192.168.1.100, docker环境redis集群网段 172.50.0.0/16 , 本地开发解决方案 1、搭建集群时,使用--net="host",容 阅读全文
posted @ 2020-06-05 18:40 不知不觉、 阅读(601) 评论(0) 推荐(0) 编辑
摘要: bull.js const Queue = require('bull'); const queue = new Queue('nike', { redis: { port: 6379, host: '127.0.0.1', db: 3, password: null }, prefix: 'nik 阅读全文
posted @ 2020-06-05 01:38 不知不觉、 阅读(4333) 评论(0) 推荐(0) 编辑
摘要: node-cron https://github.com/kelektiv/node-cron node-schedule https://github.com/node-schedule/node-schedule agenda https://github.com/agenda/agenda b 阅读全文
posted @ 2020-06-04 16:54 不知不觉、 阅读(1273) 评论(0) 推荐(0) 编辑
摘要: 场景 实际业务中对于定时任务的需求是不可避免的,例如,订单超时自动取消、每天定时拉取数据等,在Node.js中系统层面提供了setTimeout、setInterval两个API或通过node-schedule这种第三方库来实现。通过这种方式实现对于简单的定时任务是ok的,过于复杂的、可用性要求较高 阅读全文
posted @ 2020-06-04 15:12 不知不觉、 阅读(4940) 评论(0) 推荐(0) 编辑