数据库
文章平均质量分 86
整理数据库的各种知识
小马爱打代码
刚刚毕业,希望通过博客记录自己工作和学习过程中的点点滴滴!!!!
展开
-
Redis缓存相关问题
缓存相关问题 缓存穿透 定义 查询一个不存在的数据,如果从存储层查不到数据则不写入缓存,这将导致这个不存在的数据每次请求都要到DB去查询,可能导致DB挂掉 解决方法 布隆过滤器 将数据库中所有的查询条件,放入布隆过滤器中,当一个请求过来时,先经过布隆过滤器进行查询,如果判断请求查询值存在,则继续查,如果判断请求查询不存在,直接丢弃 缓存空对象 查询返回的数据为空,仍把这个空值进行缓存,并设置一个较短的过期时间 布隆过滤器(Bloom Filter) 概念:是一种空间效率高的概率型数据结构,专门原创 2021-12-09 22:35:39 · 74 阅读 · 0 评论 -
MySQL全面优化
Mysql优化 三个方面: SQL优化 设计优化 硬件优化 SQL优化 通过优化SQL语句以及索引来提高MySQL数据库的运行效率 分页优化 SELECT film_id,description FROM film ORDER BY title LIMIT 50,5; 优化方案: 延迟关联 先通过where条件提取出主键,再将该表与原数据表关联,通过主键id提取数据行,而不是通过原来的二级索引提取数据行 SELECT film.film_id,film.description FROM film原创 2021-12-15 11:13:26 · 1264 阅读 · 0 评论 -
Redis性能优化
性能优化 避免慢查询命令 当发现redis性能变慢的时候,可以通过redis日志,或者是latency monitor工具,查询变慢的请求,根据请求对应的具体命令以及官方文档,确认下是否采用了复杂度高的查询,如果确实存在大量的慢查询命令则优化 用其他高效的命令替代 eg:当需要返回一个set中的所有成员时,使用sscan多次迭代返回代替smembers(避免一次返回大量数据,造成线程阻塞) 当需要执行排序、并集、交集操作时,可以在客户端完成,而不要使用sort、sunion、sinter这些命令原创 2021-12-09 17:58:28 · 2282 阅读 · 0 评论