首页
Search
1
JAVA垃圾回收
993 阅读
2
Kafka、RocketMQ消息队列总结
981 阅读
3
Flink on Kubernetes 计算和存储分离落地实践
970 阅读
4
Linux免密登陆-ubuntu
904 阅读
5
Redis集群部署方案
890 阅读
大数据
Flink
后端
Java
笔记
运维
游客
Search
标签搜索
大数据
Flink
离线
实时
Redis
OpenJDK
Java
笔记
JVM
Elasticsearch
GC
Hadoop
Hudi
Flink CDC
K8S
数据湖
TOTC
累计撰写
307
篇文章
累计阅读
104.3万
次
首页
栏目
大数据
Flink
后端
Java
笔记
运维
页面
搜索到
27
篇与
TOTC
的结果
返回首页
2013-06-08
Redis学习笔记
缓存穿透: 访问不存在的数据时,大量的并发去查询DB,可能会瞬间压垮DB。缓存击穿: 某一热点数据过期。缓存雪崩: 过期策略一样,同时过期。解决方案:a.使用互斥锁 ,缓存中不存在时先上锁,从数据库加载完毕后释放锁,其他线程等待后重试(从缓存中取)。单机用lock,分布式用redis setnx。b.隆过滤器 ,所有可能存在的数据放到布隆过滤器,一定不存在的数据会被拦截掉。同时使用netflix hystrix,隔离每个服务,防止任何单个依赖服务耗尽所有用户线程。{lamp/}持久化 持久化方式有RDB,一种快照式的持久化方法,手动或者定期执行,将某个时间点上的数据库状态保存到一个 RDB 文件中,对于数据恢复的完整性不是非常敏感。AOF是将执行过的写指令记录下来, 可以使用不同的fsync策略:无fsync、每秒fsync、每次写的时候fsync,使用默认的每秒fsync策略,Redis的性能依然很好,一旦出现故障,最多丢失1秒的数据。{lamp/}过期策略 过期策略定时器删除,在设置key的过期时间的同时,为该key创建一个定时器,让定时器在key的过期时间来临时,对key进行删除。惰性删除,key过期的时候不删除,每次从数据库获取key的时候去检查是否过期,若过期,则删除,返回null。定期删除,每隔一段时间执行一次删除过期key操作。{lamp/}数据类型 String类型是字节数组的形式存储,类似ArrayList的动态字符串、是二进制安全的,可以把图片和视频文件保存在String中,但最大长度是512M,如果value是个整数,还可以进行自增操作。String可以进行位操作,可用来实现位图。位图的典型应用有数据压缩、海量数据去重、海量数据排序,将出现的数字在位图中对应的位置置为1,数据量大时内存不足以放下所有的数。List可用来实现消息队列、栈,结构是快速链表(LinkList+连续内存块),插入删除非常快,索引定位慢。Hash结构类似HashMap,但是rehash操作是渐进式的(新建一个,将旧的慢慢复制到新的)。Set内部的实现相当于特殊的字典,Value是NULL,键值是无序唯一的。可以存放中奖的用户 ID,因为有去重功能,可以保证同一个用户不会中奖两次。ZSet内部是跳跃列表,采取一个随机策略来决定新元素可以兼职到第几层。zset 可以用来存粉丝列表,value 值是粉丝的用户 ID,score 是关注时间。我们可以对粉丝列表按关注时间进行排序。布隆过滤器已经存在的肯定能判断到、不存在的可能会误判。爬虫里,一个网址是否被访问过。超大的位数组和几个哈希函数。HyperLogLog,Redis 的高级数据结构,放入直接返回计数,有误判。基数统计。{lamp/}其他 redis在网络请求模块使用了一个线程(所以不需考虑并发安全性),所有的命令都会进入一个队列中,避免了不必要的上下文切换和竞争条件。部署模式有主从复制模式。哨兵模式,较难支持在线扩容并且每台redis服务器都存储相同的数据。集群模式redis3.0,实现了分布式存储。分布式锁,版本号形式 setnx (setIfAbsent 、getAndSet)。
2013年06月08日
1,051 阅读
50 点赞
2013-05-04
计算机网络笔记
因特网的核心部分电路交换——整个报文的比特流连续地从源点直达终点,已被用户占用的通信线路资源在绝大部分时间里都是空闲的,其线路的传输效率往往很低。报文交换——整个报文先传送到相邻结点,全部存储下来后查找转发表,转发到下一个结点。分组交换——单个分组(这只是整个报文的一部分)传送到相邻结点,存储下来后查找转发表,转发到下一个结点。分组交换则采用存储转发技术,报文划分成为一个个更小的等长数据段,就构成了一个分组(packet)。分组又称为“包”。路由器则是用来分组交换的,先暂时存储一下到内存中,保证了较高的交换速率,这样一步一步地(有时会经过几十个不同的路由器)以存储转发的方式,把分组交付最终的目的主机。若要连续传送大量的数据,且其传送时间远大于连接建立时间,则电路交换的传输速率较快。报文交换和分组交换不需要预先分配传输带宽,在传送突发数据时可提高整个网络的信道利用率。由于一个分组的长度往往远小于整个报文的长度,因此分组交换比报文交换的时延小,同时也具有更好的灵活性。因特网现在采用存储转发的分组交换技术,以及三层因特网服务提供者(ISP)结构。{lamp/}网络体系结构 运输层由于一台主机可同时运行多个进程,因此运输层有复用和分用的功能。主要使用以下两种协议:● 传输控制协议TCP——提供面向连接的、可靠的数据传输服务,其数据传输的单位是报文段(segment)。● 用户数据报协议 UDP ——提供无连接的、尽最大努力(best-effort)的数据传输服务(不保证数据传输的可靠性),其数据传输的单位是用户数据报。网络层因特网主要的网络层协议是无连接的网际协议IP,因此因特网的网络层也叫做网际层或IP层。数据链路层在两个相邻结点之间传送数据时,数据链路层将网络层交下来的IP数据报组装成帧(framing),在两个相邻结点间的链路上传送帧。物理层在物理层上所传数据的单位是比特“1”或“0”。在局域网中,硬件地址又称为物理地址或 MAC地址。IEEE 802标准为局域网规定了一种48位的全球地址,是指局域网上的每一台计算机中固化在适配器的ROM中的地址,如果连接在局域网上的主机或路由器安装有多个适配器,那么这样的主机或路由器就有多个“地址”。{lamp/}中间设备 物理层使用的中间设备叫做转发器(repeater)。数据链路层使用的中间设备叫做网桥或桥接器(bridge)。网络层使用的中间设备叫做路由器(router)。在网络层以上使用的中间设备叫做网关(gateway)。
2013年05月04日
777 阅读
49 点赞
1
...
5
6