
Redis
文章平均质量分 81
第三次文艺复兴
coding 永无止境
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
MySQL主从原理及保证数据一致性问题
一.MySQL主从原理二.怎样利用缓存保证数据的一致性前言:今天单就MySQL主从及原理和遇到问题分析下,当然要支撑高并发仅仅靠MySQL是不可行的,目前我司用的是 MySQL+Nginx+redis+rabitMQ+elasticsearch+mongoDB等来支撑高并发;根据业务场景组合拳吧,下面进入正题.....如果想从MySQL方便做到支持一定量的并发,那么必然会想到:读写分离MySQL 做读写分离的前提,是把 MySQL 集群拆分成“主 + 从”结构的数据集群,这样才能实现程序上的原创 2021-08-25 14:46:20 · 3405 阅读 · 0 评论 -
缓存数据和数据库数据一致性问题
前言:缓存机制是互联网搬砖人必须要掌握的基础知识之一,在使用Redis中间件时数据的幂等性问题是每个搬砖人应该掌握的。本篇文章围绕一致性问题逐步引入讲解下Redis的一致性问题。首先思考下为啥要使用缓存?存储如mysql通常支持完整的ACID特性,因为可靠性,持久性等因素,性能普遍不高,高并发的查询会给mysql带来压力,造成数据库系统的不稳定。同时也容易产生延迟。根据局部性原理,80%请求会落到20%的热点数据上,在读多写少场景,增加一层缓存非常有助提升系统吞吐量和健壮性。通常的开..原创 2021-04-07 15:25:23 · 232 阅读 · 2 评论 -
缓存策略之缓存雪崩、穿透、并发、击穿问题
前言:作为一名中高级开发工程师我们在工作中或面试中避不开的是关于缓存的技术知识点。闲来无事做下相关策略设计方法.....1.缓存穿透问题缓存穿透指的是每次查询个别 key 时,key 在缓存系统不命中,此时应用系统就会从数据库中查询,如果数据库中存在这条数据,则获取数据并更新缓存系统。但如果数据库中也没有这条数据,这个时候就无法更新缓存,就会造成一个问题:查询缓存中不存在的数据时,每次都要查询数据库。那么如果有人利用“查询缓存中不存在的数据时,每次都要查询数据库”恶意攻击的话,数据库会承担.原创 2021-04-03 22:05:32 · 337 阅读 · 2 评论 -
Redis 分布式锁实现和集群的分布式设计
1.为什么选择缓存实现分布式锁?基于缓存实现的分布式锁,就是将数据仅存放在系统的内存中,不写入磁盘,从而减少 I/O 读写。避免大量请求直接访问数据库,提高系统的响应能力。2.怎么设计合理的的分布式锁?来看一个例子:(代码无绝对对错,只有适合不适合的场景)这个例子实现的分布式锁存在什么问题?1.加锁和加过期时间不是原子性操作。当出现某个线程操作完成 setnx 之后,还没有来得及设置过期时间,线程就挂掉了,此例会先判断key是否存在,存在的话给了一个默认时间。当并发量大时,会处于等待操作,并不适原创 2021-02-04 17:49:25 · 254 阅读 · 0 评论 -
redis数据结构
文章目录redis有几种数据结构?redis有几种数据结构?五种基础数据结构先就不多说了,string,list,hash, set, zset 。两种特殊数据结构:位图,HyperLogLog。实现原理及应用场景:[string] 是 redis 最基本的类型,你可以理解成与 Memcached 一模一样的类型,一个 key 对应一个 value。value其实不仅是String,也可以是数字。string 类型是二进制安全的。意思是 redis 的 string 可以包含任何数据。比如原创 2020-11-26 01:42:28 · 222 阅读 · 1 评论