![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
redis
文章平均质量分 91
大仙带你飞
活到老,学到老!
展开
-
Redis持久化机制,优缺点,如何选择合适方式
1 什么是Redis持久化? 持久化就是把内存的数据写到磁盘中去,防止服务宕机了内存数据丢失。 2 Redis 的持久化机制是什么?各自的优缺点? Redis 提供两种持久化机制 RDB(默认) 和 AOF 机制: RDB:是Redis DataBase缩写快照 RDB是Redis默认的持久化方式。按照一定的时间将内存的数据以快照的形式保存到硬盘中,对应产生的数据文件为dump...原创 2020-03-26 11:51:25 · 398 阅读 · 0 评论 -
redis的watch命令?
前言 面试了一家上市公司,他们问我redis的watch命令是什么意思,当场就蒙了,redis命令数据类型,get,set这些常见的命令知道,但是watch这个命令一时忘了是什么意思?好尴尬,好吧,就是菜。 正文 watch 用于在进行事务操作的最后一步也就是在执行exec 之前对某个key进行监视 如果这个被监视的key被改动,那么事务就被取消,否则事务正常执行. 一般在...原创 2020-02-05 18:21:53 · 1051 阅读 · 0 评论 -
商城秒杀的实现?
答:抢购、秒杀是如今很常见的一个应用场景,主要需要解决的问题有两个: 1 高并发对数据库产生的压力 2 竞争状态下如何解决库存的正确减少("超卖"问题) 对于第一个问题,已经很容易想到用缓存来处理抢购,避免直接操作数据库,例如使用Redis。 第二个问题,我们可以使用redis队列来完成,把要秒杀的商品放入到队列中,因为pop操作是原子的,即使有很多用户同时到达,也是依次执行,文件锁...原创 2020-02-04 15:50:40 · 224 阅读 · 0 评论 -
缓存雪崩和缓存穿透解决方案
缓存雪崩和缓存穿透 缓存雪崩:简单的说就是缓存失效,原本该访问缓存的数据直接访问数据库,从而造成数据库和内存压力大,严重的可能导致数据库宕机、服务器崩溃。 解决方案: 1.使用分布式锁或者对列控制读数据库写缓存的线程数,保证这有一个个线程进行操作。缺 点降低了系统的吞吐量 2.redis中的key 失效时间尽量设置分布均匀 3.使用mq来解决缓存雪崩效应。 当大量请求访问redis中没有值,把查询...原创 2020-01-01 18:41:20 · 103 阅读 · 0 评论 -
如何将 Redis 的内存优化?
双十一、双十二都是买买买的节奏,但是你知道吗?像京东、淘宝这样的电子商城是如何扛得住几亿的请求吗? 下面是一个电商网站的基本架构,他包括了一个前端入口和一个缓存集群以及数据库集群。 一般来说,web 服务器作为前端入口,在 web 服务器内会把一些静态文件通过 CDN 分发到各个节点分摊服务器的请求压力。同时也能加速网站的访问。 当用户的一些查询请求,比如要查询一个商品的信息,会通过前端页面...原创 2020-01-01 18:22:53 · 233 阅读 · 0 评论 -
常用的三种nosql非关系数据库redis、memcache、mongoDB比较
常用的三种nosql非关系数据库-redis、memcache、mongoDB比较:两者的相同之处在于把数据保存在内存中。 (1)性能 性能都比较好。从总体来看,TPS 方面 redis 和 memcache 差不多,一般要大于 mongodb。 (2)操作的便利性 memcache 数据结构单一,只有key-value结构。redis数据结构非常丰富,数据操作方面,redis 更好一些...原创 2020-01-01 18:00:55 · 257 阅读 · 0 评论 -
如何解决Redis的并发竞争key问题
第一种方案:分布式锁 1.整体技术方案 这种情况,主要是准备一个分布式锁,大家去抢锁,抢到锁就做set操作。 2.为什么是分布式锁 因为传统的加锁的做法(如java的synchronized和Lock)这里没用,只适合单点。因为这是分布式环境,需要的是分布式锁。 当然,分布式锁可以基于很多种方式实现,比如zookeeper、redis等,不管哪种方式实现,基本原理是不变的:用一个状态值表...原创 2020-01-01 13:49:57 · 272 阅读 · 0 评论 -
redis如何实现分布式锁?
1.分布式锁需要解决的问题 互斥性:任意时刻只能有一个客户端拥有锁,不能同时多个客户端获取 安全性:锁只能被持有该锁的用户删除,而不能被其他用户删除 死锁:获取锁的客户端因为某些原因而宕机,而未能释放锁,其他客户端无法获取此锁,需要有机制来避免该类问题的发生 容错:当部分节点宕机,客户端仍能获取锁或者释放锁 2.如何通过Redis实现分布式锁:(非完善方法) SETNX key value :如果...原创 2020-01-01 13:22:04 · 124 阅读 · 0 评论