常见问题对应的文章

redis分布式锁实现方案

单点问题
Redission redLock

set nx原语
要加超时时间,避免客户端down掉,导致的死锁问题。

超时时间使用经验值,业务操作时间要<超时时间

value设置为唯一订单号或者能表示客户端线程的唯一标号。
防止线程间随便解锁
还可以防止超时时间后释放锁导致的不同步问题。

即再访问公共资源的时候,再次检查value是否跟自己的客户端一致。
不一致则不在继续执行之后的业务逻辑。

释放锁,先去查看是否存在。然后删除key
是两个原子操作。
方案:
使用redis提供的事物方式
redis的原语eval,执行lua脚本,能保证脚本的操作是原子操作

分布式锁的还有别的方案
数据库乐观锁
基于zookeeper实现

https://gitchat.csdn.net/activity/5b3d91c56edf9d4ff8ee21c4?seriesId=5b95d48c780fdb5e97d3848d

http header哪些 对应的含义

https://kb.cnblogs.com/page/92320/

用户在浏览器输入url发生了什么

关键字
host文件
先检查是否host有配置,有配置使用配置的ip端口进行连接
dns解析
浏览器缓存
本地dns服务器缓存
解析是从右往左,先.com域服务器查询
再baidu.com域名服务器查询
查询到具体的IP端口后,缓存本地,并且有过期时间,方便下次直接查询

tcp 三次握手 四次挥手

http请求 header里参数对应的含义
参考上边,里边有重定向了,user-agent,是否长链接,是否使用设置cookie
浏览器cookie
html css js文件加载
返回的html数据,解析dom树,加载js文件
cdn缓存
静态文件放到cdn,方便下次快速返回
服务器处理数据的一些设计
具体服务端可能会访问数据库,分布式缓存之类的

redis在实际哪些业务场景用了

你可能感兴趣的:(常见问题对应的文章)