豫ICP备17040950号-1

小程序保持登录状态方案

微信小程序的运行环境不是在浏览器下运行的。所以不能以cookie来维护登录态。同时由wx.request()发起的每次请求对于服务端来说都是不同的一次会话,微信小程序不会把session信息带回服务端,
即对应服务端不同的session,由于项目中使用session保存用户信息所以导致后续请求相当于未登录的情况。下面我就来说说我根据官方给出的方法来写出的维护登录态的方法吧。

微信小程序开发经验之谈

搞编程多年,闲暇之余研究下微信小程序开发玩玩。
微信小程序官网访问地址:https://mp.weixin.qq.com ,其中https://weixin.qq.com 好理解,https://qq.com 是腾讯的主域名,weixin是分配给微信团队的二级域名,而微信公众平台作为其中一个产品用的就是三级域名了,但是这个三级域名的名称为什么是mp呢?
mp竟然是Media Platform(媒体平台)的缩写,就是媒体和自媒体的公共平台
阅读本文前需查看下https://developers.weixin.qq.com/miniprogram/dev/framework 微信小程序官方文档,起码得了解基础目录结构和下载官方的小程序开发工具。
本文是以已有的以有赞Vant小程序Npm组件类库为基础示例演示开发经验。

聊聊CPU的LOCK指令

在多线程操作中,可能最经常被提起的就是数据的可见性、原子性、有序性。不管是硬件方面、软件方面都在这三方面做了很足的工作,才能保证程序的正常运行。

之前发表过一篇文章聊聊缓存一致性协议 如果感兴趣的话可以去阅读一下,里面谈到了缓存一致性的实现和处理过程,读完之后可以仔细去细想一下缓存一致性协议到底解决了什么问题。个人理解缓存一致性协议解决了CPU层面的可见性和一致性问题,阅读到这里可以在这里停下来,仔细回想一下缓存一致性的原理,它通过监听共享总线上消息,对自己缓存中的数据修改不同的状态,来保证数据的一致性,对自己缓存中的数据失效后,下次读取会从主存中直接读取最新的数据 ,可以保证可见性,同时保证各缓存中的数据是一致的。

聊聊缓存一致性协议

什么缓存一致问题

在谈缓存一致性协议之前我们先了解一下缓存一致性问题是什么,它是怎么出现的。

现在处理器的处理能力要远胜于主内存(DRAM),主内存执行一次内存读写操作,所需的时间可能足够处理器执行上百条的指令,为了弥补处理器与主内存处理能力之间的鸿沟,引入了高速缓(Cache),来保存一些CPU从内存读取的数据,下次用到该数据直接从缓存中获取即可,以加快读取速度,随着多核时代的到来,每块CPU都有多个内核,每个内核都有自己的缓存,这样就会出现同一个数据的副本就会存在于多个缓存中,在读写的时候就会出现数据 不一致的情况。