![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据库
文章平均质量分 86
整理数据库的各种知识
小马爱打代码
刚刚毕业,希望通过博客记录自己工作和学习过程中的点点滴滴!!!!
展开
-
Redis缓存相关问题
缓存相关问题缓存穿透定义查询一个不存在的数据,如果从存储层查不到数据则不写入缓存,这将导致这个不存在的数据每次请求都要到DB去查询,可能导致DB挂掉解决方法布隆过滤器将数据库中所有的查询条件,放入布隆过滤器中,当一个请求过来时,先经过布隆过滤器进行查询,如果判断请求查询值存在,则继续查,如果判断请求查询不存在,直接丢弃缓存空对象查询返回的数据为空,仍把这个空值进行缓存,并设置一个较短的过期时间布隆过滤器(Bloom Filter)概念:是一种空间效率高的概率型数据结构,专门原创 2021-12-09 22:35:39 · 81 阅读 · 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.descriptionFROM film原创 2021-12-15 11:13:26 · 1286 阅读 · 0 评论 -
Redis性能优化
性能优化避免慢查询命令当发现redis性能变慢的时候,可以通过redis日志,或者是latency monitor工具,查询变慢的请求,根据请求对应的具体命令以及官方文档,确认下是否采用了复杂度高的查询,如果确实存在大量的慢查询命令则优化用其他高效的命令替代eg:当需要返回一个set中的所有成员时,使用sscan多次迭代返回代替smembers(避免一次返回大量数据,造成线程阻塞)当需要执行排序、并集、交集操作时,可以在客户端完成,而不要使用sort、sunion、sinter这些命令原创 2021-12-09 17:58:28 · 2305 阅读 · 0 评论