分布式之数据库和缓存双写一致性方案解析

为什么写这篇文章?首先,缓存由于其高并发和高性能的特性,已经在项目中被广泛使用。在读取缓存方面,大家没啥疑问,都是按照下图的流程来进行业务操作。但是在更新缓存方面,对于更新完数据库,是更新缓存呢,还是删除缓存。又或者是先删除缓存,再更新数据库,其实大家存在很大的争议。目前没有一篇全面的博客,对这几种方案进行解析。于是博主战战兢兢,顶着被大家喷的风险,写了这篇文章。正文先做一个说明,从理论上来说,给...
Read more

python之redis模块

一、redis简介  redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,redis支...
Read more

爬虫高性能相关

1、多线程 #IO密集型程序应该用多线程 import requests from threading import Thread,current_thread def parse_page(res): print(‘%s 解析 %s‘ %(current_thread().getName(),len(res))) def get_page(url,callback=parse_page)...
Read more

C#顺序表 & 单向链表(无头)

C# 顺序表非常标准的顺序表结构,等同于C#中的List,但是List在排错查询和数据结构替换上存在缺陷,一些情况会考虑使用自己定义的数据结构1.优化方向 下表使用冒泡排序,可以考虑优化算法  C# 链表(单向无头)单向非闭环,无表头的链表,一般用于非队尾数据需要进行频繁删减的情况,由于没有表头所有排序算法写的有点low1.优化方向,改成双向链表,但是改成双向链表会花点时间因为指针的操作比较多,很...
Read more

sql server 高可用故障转移(5)

测试故障转移群集报告          在SQL-CL01(hsr 50)进行故障转移群集的创建,如图下图所示,在SQL-CL01和SQL-CL02的“服务器管理”中右键点击“功能”,选择“添加功能         勾选故障转移群集  (注意:操作故障转移群集使用域登录进去)                同样也在SQL-CL02(hsr 51)上安装故障转移群集功能,勾选后安装...
Read more