上一页 1 ··· 8 9 10 11 12 13 14 15 16 ··· 18 下一页
摘要: 给定一个单链表: 1->2->3->4->5, 反转后输出为: 5->4->3->2->1 PrintNodeList输出头节点及后续节点 ReverseNodeList1是迭代的方式 ReverseNodeList2是递归的方式 package main import ( "fmt" ) type 阅读全文
posted @ 2021-04-07 13:29 pangqianjin 阅读(52) 评论(0) 推荐(0) 编辑
摘要: 分布式系统中常用的缓存方案有哪些? 客户端缓存:页面和浏览器缓存,APP缓存,H5缓存,localStorage和sessionStorage CDN缓存: 内存存储:数据的缓存 内容分发:负载均衡 nginx缓存:本地缓存,外部缓存 数据库缓存:持久层缓存(mybatis,hibernate多级缓 阅读全文
posted @ 2021-04-05 15:17 pangqianjin 阅读(354) 评论(0) 推荐(0) 编辑
摘要: 为什么使用缓存? 高性能: 就是说对于一些需要复杂操作耗时查出来的结果,且确定后面不怎么变化,但是有很多读请求,那么直接将查询出来的结果放在缓存中,后面直接读缓存就好 高可用(高并发场景): 缓存是走内存的,内存天然就支撑高并发。 缓存功能简单,说白了就是 key-value 式操作,单机支撑的并发 阅读全文
posted @ 2021-04-05 15:11 pangqianjin 阅读(55) 评论(0) 推荐(0) 编辑
摘要: 海量数据下,如何快速查找一条数据? 使用布隆过滤器,快速过滤不存在的记录。 使用Redis的bitmap结构来实现布隆过滤器。 在Redis中建立数据缓存。 以普通字符串的形式来存储(userId → user.json) 以一个hash来存储一条记录 以一个整的hash来存储所有的数据 存在的问题 阅读全文
posted @ 2021-04-05 15:03 pangqianjin 阅读(725) 评论(0) 推荐(0) 编辑
摘要: 这里我们尝试将Protobuf和RPC结合在一起使用,通过 Protobuf来最终保证RPC的接口规范和安全。 Protobuf中最基本的数据单元是message,是类似Go语言中结构体的存在。在message中可以嵌套message或其他基础数据类型的成员。 首先创建hello.proto文件,其 阅读全文
posted @ 2021-04-05 14:39 pangqianjin 阅读(248) 评论(0) 推荐(0) 编辑
摘要: Redis如何配置KEY的过期时间?他的实现原理是什么? redis设置key的过期时间:1.EXPIRE。2.SETNX。 实现原理: 定期删除:每隔一段时间,执行一次删除过期key的操作。 懒汉式删除:当使用get,getset等指令去获取数据时,判断key是否过期。过期后,就先把key删除,再 阅读全文
posted @ 2021-04-04 20:33 pangqianjin 阅读(617) 评论(0) 推荐(0) 编辑
摘要: 如何设计一个分布式锁?如何对锁性能进行优化? 分布式锁的本质:就是在所有进程都能访问到的一个地方(如数据库、zookeeper、Redis),设置一个锁资源,让这些进程都来竞争锁资源。通常对于分布式锁,会要求响应快、性能高、与业务无关。 Redis实现分布式锁: SETNX key value :N 阅读全文
posted @ 2021-04-04 20:19 pangqianjin 阅读(573) 评论(0) 推荐(0) 编辑
摘要: 如何保证Redis与数据库的数据一致? 当我们对数据进行修改的时候,到底是先删缓存,还是先写数据库? 1.如果是先删缓存,再写数据库:在高并发场景下,当第一个线程删了缓存,还没有来得及写数据库,第二个线程来读数据,会发现缓存中的数据为空, 那就会去读数据库中的数据(旧值/脏数据),读完之后,把读到的 阅读全文
posted @ 2021-04-04 19:28 pangqianjin 阅读(778) 评论(0) 推荐(0) 编辑
摘要: 什么是缓存穿透? 缓存穿透:缓存中查不到,数据库中也查不到。 解决方案: 对参数进行合法性校验 将数据库中没有查到结果的数据也写入到缓存。这时要注意为了防止Redis被无用的key占满,这一类缓存的有效期要设置得短一点。 引入布隆过滤器(BloomFilter),在访问Redis之前判断数据是否存在 阅读全文
posted @ 2021-04-04 19:01 pangqianjin 阅读(77) 评论(0) 推荐(0) 编辑
摘要: Go语言内在的RPC框架已经支持在HTTP协议上提供RPC服务。但是框架的HTTP服务同样采用了内置的Gob协议,并且没有提供采用其他协议的接口,因此从其他语言依然无法访问,在前面的例子中,我们已经实现了在TCP协议之上运行jsonrpc服务,并且通过nc命令行工具成功实现了RPC方法调用。现在我们 阅读全文
posted @ 2021-04-04 15:07 pangqianjin 阅读(95) 评论(0) 推荐(0) 编辑
上一页 1 ··· 8 9 10 11 12 13 14 15 16 ··· 18 下一页