数据库
hdg_回忆
这个作者很懒,什么都没留下…
展开
-
Redis的哨兵模式和主从复制
Redis的哨兵模式 Redis的哨兵模式需要主从复制的支持. Redis的哨兵(Sentinel)系统用于管理多个Redis服务器,管理着以下的功能: 监控(Monitor): 哨兵(sentinel)会不断地检查系统的master和slave是否运行正常 提醒(Notification): 当监控某个哨兵出现问题的时候,哨兵可以通过api向程序和管理员发送请求 自动故障迁移(automatic failover): 当系统中的一个master不能工作时候,这个时候哨兵(sentinel)会自动进行故障转原创 2021-07-15 11:04:31 · 151 阅读 · 0 评论 -
redis缓存雪崩,缓存穿透,缓存击穿的解决方法
缓存雪崩: 当Redis服务器重启或者大量缓存在同一时期失效时,导致大量数据直接访问据库; 解决方案: 设置缓存过期时间时加上一个随机值,避免缓存在同一时间过期。 缓冲穿透: 查询一个不存在的数据,(由于没有获取到缓存,所以没写入缓存),导致这个不存在的数据每次都需要去数据库查询,(失去了缓存的意义)。 解决方案: 对于像ID为负数的非法请求直接过滤掉,采用布隆过滤器(Bloom Filter原理:利用高效的数据结构和算法快速判断出你这个Key是否在数据库中存在,不存在你return就好了,存在你就去查了D原创 2021-07-15 11:00:57 · 80 阅读 · 0 评论 -
redis内存淘汰策略
redis3.0有6种: noeviction:当内存不足,新写入操作会报错。 allkeys-lru:当内存不足,在所有键中,移除最近最少使用的key。 allkeys-random:当内存不足,在所有键中,随机移除某个key。 volatile-lru:当内存不足时,在设置了过期时间的键中,移除最近最少使用的key。 volatile-random:当内存不足时,在设置了过期时间的键中,随机移除某个key。 volatile-ttl:当内存不足时,在设置了过期时间的键中,有更早过期时间的key优先移除。原创 2021-07-15 10:56:53 · 58 阅读 · 0 评论 -
redis阻塞操作
redis中blpop可以实现链表的阻塞操作。(redis在blpop命令处理过程时,首先会去查找key对应的list,如果存在,则pop出数据响应给客户端。否则将对应的key push到blocking_keys数据结构当中,对应的value是被阻塞的client。当下次push命令发出时,服务器检查blocking_keys当中是否存在对应的key,如果存在,则将key添加到ready_keys链表当中,同时将value插入链表当中并响应客户端)。 ...原创 2021-07-15 10:54:32 · 351 阅读 · 0 评论 -
redis数据结构优化
利用zipList来替代大量的Key-Value ziplist是一个经过特殊编码的双向链表,它的设计目标就是为了提高存储效率。ziplist可以用于存储字符串或整数,它能以O(1)的时间复杂度在表的两端提供push和pop操作。实际上,ziplist充分体现了Redis对于存储效率的追求。一个普通的双向链表,链表中每一项都占用独立的一块内存,各项之间用地址指针(或引用)连接起来。这种方式会带来大量的内存碎片,而且地址指针也会占用额外的内存。而ziplist却是将表中每一项存放在前后连续的地址空间内,一个z原创 2021-07-15 10:51:45 · 198 阅读 · 0 评论 -
redis数据结构的底层实现原理及应用场景
字符串: 简单动态字符串(SDS)的数据类型来实现。 struct sdshdr { int len; // buf 中已占用空间的长度 int free; // buf 中剩余可用空间的长度 char buf[]; // 数据空间 }; SDS保存了字符串的长度,而C字符串不保存长度,需要遍历整个数组(找到’\0’为止)才能取到字符串长度;修改SDS时,检查给定SDS空间是否足够,如果不够会先拓展SDS 的空间,防止缓冲区溢出,而且可以减少为字符串重新分配空间的次原创 2021-07-15 10:41:59 · 103 阅读 · 0 评论 -
数据库常见面试题
(一)爬虫海量数据存储在mongo上的好处: (1)如果你要经常读取,那么我建议你的MongoDB来做存储。原因在于MongoDB是内存映射模式, 可以充分利用系统的内存资源,内存越大MongoDB的查询速度越快。 (2)MongoDB在启动后会将数据库中的数据以文件映射的方式加载到内存中。如果内存资源相当丰富的话, 这将极大地提高数据库的查询速度,毕竟内...原创 2019-07-22 19:49:34 · 464 阅读 · 0 评论