
数据库
文章平均质量分 56
后端技术架构
这个作者很懒,什么都没留下…
展开
-
缓存击穿、缓存穿透、缓存雪崩
概念缓存穿透指缓存和数据库中都没有的数据,而用户不断发起请求,这时的用户很可能是攻击者,攻击会导致数据库压力过大。缓存击穿缓存在某个时间点过期的时候,恰好在这个时间点对这个Key有大量的并发请求过来,这些请求发现缓存过期一般都会从后端DB加载数据并回设到缓存,这个时候大并发的请求可能会瞬间把后端DB压垮。缓存雪崩当缓存服务器重启或者大量缓存集中在某一个时间段失效,这样在失效的时候,也会给后端系统(比如DB)带来很大压力。解决方案缓存穿透解决方案最常见的则是采用布隆过滤器,将所有可能存在的数原创 2021-01-14 21:52:06 · 159 阅读 · 0 评论 -
Redis如何实现持久化
Redis是基于内存的数据库,不过Redis也是可以实现数据持久化的。Redis的所有数据都是保存在内存中,然后不定期的通过异步方式保存到磁盘上(这称为“半持久化模式”);也可以把每一次数据变化都写入到一个append only file(aof)里面(这称为“全持久化模式”)。redis提供两种方式进行持久化,一种是RDB持久化(原理是将Reids在内存中的数据库记录定时dump到磁盘上的RDB持久化),另外一种是AOF(append only file)持久化(原理是将Reids的操作日志以追加的方式原创 2020-11-15 17:33:21 · 541 阅读 · 0 评论 -
mysql 如何在查询结果中增加一列递增的数
sql语句 如下:SELECT nick_name FROM t_user WHERE type = 1;得到的结果是:张三李四王五而现在我想要的结果是:1 张三2 李四3 王五应该如何写sql呢?可以用 @rownum := @rownum+1 实现 递增的功能 。SELECT @rownum := @rownum+1 AS rank, ...原创 2020-02-12 19:47:59 · 4290 阅读 · 0 评论