数据库
文章平均质量分 65
数据库
锦还之路
敢于想象,多去经历,把学习时间花在难的地方,跳出舒适圈;
反思总结,多写文字,提高自己的表达能力,同样的内容写的更好。
展开
-
如何保证数据库和缓存一致性
1、想要提高应用的性能,可以引入「缓存」来解决2、引入缓存后,需要考虑缓存和数据库一致性问题,推荐用「先更新数据库,再删除缓存」的方案3、在「先更新数据库,再删除缓存」方案下,为了保证两步都成功执行,需配合「消息队列」或「订阅变更日志」的方案来做,本质是通过「重试」的方式保证数据一致性。原创 2023-05-18 15:40:01 · 193 阅读 · 0 评论 -
ES深分页方案
如果数据量小(from+size在10000条内),或者只关注结果集的TopN数据,可以使用from/size 分页,简单粗暴数据量大,深度翻页,后台批处理任务(数据迁移)之类的任务,使用 scroll 方式数据量大,深度翻页,用户实时、高并发查询需求,使用 search after 方式,Search_After本身就是一种业务折中方案,它不允许指定跳转到页面,而只提供下一页的功能。原创 2023-04-15 21:04:04 · 607 阅读 · 0 评论 -
Redis的rehash原理
由于新哈希表和旧哈希表使用不同的哈希函数,因此在迁移元素时,可能会出现多个元素映射到同一个哈希槽位的情况,这种情况称为哈希冲突。Redis的rehash是指在Redis哈希表的扩容和收缩操作中,为了保证数据的正确性和一致性,需要将哈希表中的所有元素重新映射到新的哈希表中,这个过程就称为rehash。当Redis的哈希表需要进行扩容和收缩操作时,会先创建一个新的哈希表,并将其大小设置为当前哈希表大小的两倍或者一半,以便能够容纳所有元素。新哈希表的大小必须是2的倍数,这是为了保证哈希算法的正确性。原创 2023-04-08 19:55:46 · 437 阅读 · 0 评论 -
Redis中的RDB和AOF
RDB 和 AOF 是 Redis 中两种不同的数据持久化方式,它们各自有不同的优缺点和适用场景。原创 2023-04-06 11:37:18 · 476 阅读 · 0 评论 -
redis执行一条命令的内部底层有哪些流程
在命令执行过程中,Redis 还会进行一些其他的操作,例如命令的缓存、网络 IO 的优化等。在命令执行时,Redis 将会根据具体的命令类型,对数据结构进行相应的操作。在解析请求时,Redis 将会检查请求的格式和参数是否正确,如果发现格式或参数错误,Redis 会发送错误响应给客户端。:当 Redis 客户端向 Redis 服务器发送一条命令请求时,该请求将被发送到 Redis 服务器的 TCP/IP 端口,并被 Redis 服务器接收。:在解析请求后,Redis 会将请求分发到相应的数据结构处理模块。原创 2023-04-05 17:14:18 · 90 阅读 · 0 评论 -
分布式缓存
缓存雪崩我们可以简单的理解为:由于原有缓存失效,新缓存未到期间所有原本应该访问缓存的请求都去查询数据库了,而对数据库 CPU 和内存造成巨大压力,严重的会造成数据库宕机。从而形成一系列连锁反应,造成整个系统崩溃。原创 2023-04-04 19:12:41 · 69 阅读 · 0 评论 -
Migration 数据库操作管理工具
migration 用谷歌翻译是移民的意思,将 Migration 用在数据库上就理解为数据库迁移咯。在migration开发之前,我们都是手写SQL创建表语句,创建成功之后需要手动在数据库执行,项目初始化光数据库的创建就花费很多时间,另外在多人团队开发中,如果要求每个开发人员都在本地使用数据库那么我们通常都是将数据库备份成SQL文件互相传递,这还并不是很繁琐,繁琐的在于如果数据库某个表的字段出现变动那么就需要将这个变动的SQL语句传给每个开发小伙伴让他们在本地都手动的更新下,一次可以这样,但是多次呢?原创 2023-03-31 18:55:35 · 524 阅读 · 0 评论