Redis
Redis
向前冲鸭
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Redis基础
为什么用Redis在日常的web应用对数据库的操作中,读的数量远超过写的数量,如果使用sql,还需要去磁盘加载数据,非常慢,如果使用缓存,也就是直接存储在内存中,就可以大大提升效率,降低数据库的压力,既能保证高并发也能保证高性能。在使用缓存时,还应该考虑以下几点:缓存的命中率如何,如果非常低的话,那就没必要使用缓存;数据量是不是很大,因为缓存是保存在内存中,受到物理内存的限制,如果很大的话,也就没必要使用缓存;是不是经常对数据进行增加,删除,修改的操作,如果经常有这些操作,也就没必要使用缓存原创 2020-07-02 11:45:42 · 170 阅读 · 0 评论 -
Redis五种基本数据结构
string类似于java中ArrayList的结构,为了对内存做极致的优化,不同长度的字符串用不同的结构体来表示。SDS和C语言中字符串的区别:多了一个len表示当前字符串的长度;可以自动扩展空间,当对字符串进行操作时,可以通过len和malloc检查当前字符串的空间是否能满足本次操作的需求,如果不能满足就会自动扩容;有效降低了内存的分配次数,当扩展空间时,会按照需求2倍的扩容,当缩容时,并不会立即将空间还给操作系统;采用的是二进制数据格式,输入什么就存储什么,不做任何的过滤和限制,任何类型原创 2020-07-02 08:46:42 · 230 阅读 · 0 评论 -
缓存雪崩,穿透,击穿,双写一致问题
缓存雪崩是什么:缓存里面的大部分数据在同一时间失效,而且缓存也把这些失效的缓存数据给删除,本应该访问缓存的请求现在都去访问数据库,导致数据库在短期内CPU和内存压力剧增,严重的话还会发生宕机。怎么做:给每个数据的过期时间加个随机值,这样就可以避免在同一时间大部分数据全都过期。缓存穿透是什么:访问一个不在数据库里面的数据,那肯定也不在缓存里面,这样就会越过缓存直接去访问数据库,如果请求很多的话也会拖垮数据库。怎么做:有两种方法,方法一是加一个布隆过滤器,来过滤掉那些不合法的数据请求;方法二是将原创 2020-07-03 07:29:23 · 226 阅读 · 0 评论
分享