redis
一条路上的咸鱼
小白程序员一枚
0. 微信公众号(码农翻身录:coder_xiaobu)
1. [博客园](https://www.cnblogs.com/jack1995/)
2. [简书](https://www.jianshu.com/u/5ea1795d1adf)
3. [掘金](https://juejin.im/user/5ac308786fb9a028d444c410/posts)
4. [优快云](https://me.youkuaiyun.com/jack199504)
5. [语雀](https://www.yuque.com/mujingjing)
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
关于redis的几件小事(一)redis的使用目的与问题
1.redis是用来干嘛的?Redis is an open source (BSD licensed), in-memory data structure store, used as a database, cache and message broker. It supports data structures such as strings, hashes, lists, sets, ...原创 2019-05-23 12:12:07 · 276 阅读 · 0 评论 -
关于redis的几件小事(九)redis的并发竞争问题
1.什么是并发竞争就是多客户端同时并发写一个key,可能本来应该先到的数据后到了,导致数据版本错了。或者是多客户端同时获取一个key,修改值之后再写回去,只要顺序错了,数据就错了。2.怎么解决采用分布式锁+数据修改的时间戳 方案来解决。①想要向缓存中写入数据时,必须要获得分布式锁,只有获得锁了才可以去进行缓存数据的写入,写入结束释放锁。就可以保证同时只有一个客户端去写缓存。②可是并不能保...原创 2019-05-23 23:45:45 · 197 阅读 · 0 评论 -
关于redis的几件小事(八)缓存与数据库双写时的数据一致性
1.Cache aside pattern这是最经典的 缓存+数据库 读写模式,操作如下:①读的时候,先读缓存,缓存没有就读数据库,然后将取出的数据放到缓存,同时返回请求响应。②更新的时候,先删除缓存,然后更新数据库。2.为什么是删除缓存,而不是更新缓存呢?①因为很多时候,缓存中放的并不是简单的从数据中取出来值,可能要进行一个状态的替换,一些数据的计算,还有可能要进行数据的组合等等。②...原创 2019-05-23 23:18:41 · 184 阅读 · 0 评论 -
关于redis的几件小事(七)redis缓存雪崩与穿透
1.缓存雪崩(1)什么是缓存雪崩缓存雪崩指的是在同一时刻,缓存大量失效,导致大量的请求直接到了数据库,数据库压力剧增,引起系统崩溃。可能出现的情况有:①大量的key设置了相同的过期时间,导致在缓存在同一时刻全部失效,造成瞬时DB请求量大、压力骤增,引起雪崩。②缓存系统出现故障,造成缓存系统无法提供服务,造成瞬时DB请求量大、压力骤增,引起雪崩。(2)怎么避免缓存雪崩事前 :①在设置k...原创 2019-05-23 22:43:20 · 153 阅读 · 0 评论 -
关于redis的几件小事(六)redis的持久化
1.redis持久化的意义redis持久化的意义,在于 故障恢复 。如果没有对数据进行持久化,那么如果redis遇到灾难性的故障,就会丢失所有的数据。如果通过redis的持久化机制将数据持久化到硬盘上面去,然后在定期将磁盘上的文件备份到一起其他的服务器上面(比如:云服务器),这样就可以保证即使redis遇到了灾难事故,也可以使用提前备份的文件对数据进行回复,之后丢失最近的一部分数据,而不会全...原创 2019-05-23 22:12:31 · 139 阅读 · 0 评论 -
关于redis的几件小事(五)redis保证高并发以及高可用
如果你用redis缓存技术的话,肯定要考虑如何用redis来加多台机器,保证redis是高并发的,还有就是如何让Redis保证自己不是挂掉以后就直接死掉了,redis高可用redis高并发:主从架构,一主多从,一般来说,很多项目其实就足够了,单主用来写入数据,单机几万QPS,多从用来查询数据,多个从实例可以提供每秒10万的QPS。redis高并发的同时,还需要容纳大量的数据:一主多从,每个实例...原创 2019-05-23 19:48:34 · 2606 阅读 · 0 评论 -
关于redis的几件小事(四)redis的过期策略以及内存淘汰机制
1.数据为什么会过期?首先,要明白redis是用来做数据缓存的,不是用来做数据存储的(当然也可以当数据库用),所以数据时候过期的,过期的数据就不见了,过期主要有两种情况,①在设置缓存数据时制定了过期时间,这样到了过期时间数据就不见了。②redis的数据是存放在内存中的,而内存是有限的,是不可能放过多数据的,比如只有10G的内存,想要向里面放入20G的数据,那么就注定会有10G的数据会丢失。...原创 2019-05-23 15:36:59 · 182 阅读 · 0 评论 -
关于redis的几件小事(三)redis的数据类型与使用场景
1.string这是最基本的类型了,就是普通的set和get,做简单的kv缓存。2.hash这个是类似map的一种结构,这个一般就是可以将结构化的数据,比如一个对象(前提是这个对象没嵌套其他的对象)给缓存在redis里,然后每次读写缓存的时候,可以就操作hash里的某个字段。key=150value={ “id”: 150, “name”: “zhangsan”, “age...原创 2019-05-23 14:29:53 · 174 阅读 · 0 评论 -
关于redis的几件小事(二)redis线程模型
1.memcached和redis有什么区别?(1)Redis支持服务器端的数据操作redis和memcached相比,redis拥有更多的 数据结构并且支持更丰富的数据操作 ,通常在memcached里面,你需要将数据拿到客户端来进行类型的修改然后在set回去,这样就严重增加了网络IO的次数和数据体积。在redis里面,这些操作可以在服务端完成,所以这些复杂的操作就和一般的GET/SET一样...原创 2019-05-23 14:02:18 · 319 阅读 · 0 评论 -
关于redis的几件小事(十)redis cluster模式
redis cluster是redis提供的集群模式。1.redis cluster的架构①可以有多个master node,每个master node 都可以挂载多个slave node。②读写分离的架构,对应每个master node来说,写就写到master node,读就从master node对应的slave node去读。③高可用。每个master node都有多个 slave...原创 2019-05-24 02:50:22 · 237 阅读 · 0 评论
分享