Redis相关
隔壁阿布都
这个作者很懒,什么都没留下…
展开
-
redis的淘汰机制简述
我们都知道redis缓存时可以设置过期时间,那么redis是如何识别这个key已经过期并将该key清掉呢?当redis的内存满了之后,为什么还可以继续写缓存呢?而某些key又会被清掉,是什么原因呢?以上问题就涉及到了redis的过期策略和淘汰机制,我们可以来了解一下。redis为什么要有淘汰机制? redis淘汰机制的存在是为了更好的使用内存,用一定的缓存丢失来换取内存的使用效率。redis的过期策略 redis有两种过期策略,定期删除和惰性删除 定期删除:redis每个1原创 2020-12-08 10:20:24 · 360 阅读 · 0 评论 -
redis实现分布式锁的几种方式
1. redis加锁分类redis能用的的加锁命令分表是INCR、SETNX、SET2. 第一种锁命令INCR这种加锁的思路是, key 不存在,那么 key 的值会先被初始化为 0 ,然后再执行 INCR 操作进行加一。然后其它用户在执行 INCR 操作进行加一时,如果返回的数大于 1 ,说明这个锁正在被使用当中。1、 客户端A请求服务器获取key的值为1表示获取了锁2、 客户端B也去请求服务器获取key的值为2表示获取锁失败3、 客户端A执行代码完成,删除锁4、 客户端B.转载 2020-12-08 09:43:16 · 2390 阅读 · 0 评论 -
Redis常见的5种不同的数据类型详解
一、前言Redis除了可以存储键还可以存储常见的5种数据类型,分别是:String、List、Set、Hash、ZSet。对于Redis的命令有一部分是可以公用的,但是还有一些其他的命令是属于特殊使用的。首先看看一张关于Redis5种数据结构的对比:下边就分别介绍5中国不同的数据结构类型。二、String字符串类型Redis中的String类型就是一个由字节组成的序列,他和其他编程语言或者其他键值对存储提供的字符串操作非常相似。一个String类型的实例,其中键为hello,值为原创 2020-11-05 15:54:37 · 1869 阅读 · 1 评论 -
Redis 持久化机制RDB和AOF区别
Redis支持两种方式的持久化,一种是RDB方式,一种是AOF方式。可以单独使用其中一种或将二者结合使用。一、RDBRDB方式的持久化是通过快照(snapshotting)完成的,当符合一定条件时Redis会自动将内存中的所有数据进行快照并存储在硬盘上。进行快照的条件可以由用户在配置文件中自定义,由两个参数构成:时间和改动的键的个数。当在指定的时间内被更改的键的个数大于指定的数值时就会进...转载 2019-10-09 22:53:03 · 272 阅读 · 0 评论 -
缓存穿透、缓存击穿、缓存雪崩、缓存预热、缓存更新、缓存降级区别和解决方案
一、缓存处理流程前台请求,后台先从缓存中取数据,取到直接返回结果,取不到时从数据库中取,数据库取到更新缓存,并返回结果,数据库也没取到,那直接返回空结果。二、缓存穿透描述:缓存穿透是指缓存和数据库中都没有的数据,而用户不断发起请求,如发起为id为“-1”的数据或id为特别大不存在的数据。这时的用户很可能是攻击者,攻击会导...转载 2019-10-18 16:47:49 · 394 阅读 · 0 评论 -
Redis集群的三种集群模式介绍
一、主从模式通过持久化功能,Redis保证了即使在服务器重启的情况下也不会损失(或少量损失)数据,因为持久化会把内存中数据保存到硬盘上,重启会从硬盘上加载数据。但是由于数据是存储在一台服务器上的,如果这台服务器出现硬盘故障等问题,也会导致数据丢失。为了避免单点故障,通常的做法是将数据库复制多个副本以部署在不同的服务器上,这样即使有一台服务器出现故障,其他服务器依然可以继续提供服务。为此, Redis 提供了复制(replication)功能,可以实现当一台数据库中的数据更新后,自动将更新的数据同步到其转载 2020-11-04 14:06:13 · 576 阅读 · 1 评论 -
Redis的优点和缺点
1、为什么要使用Redis?速度快,完全基于内存,使用C语言实现,网络层使用epoll解决高并发问题,单线程模型避免了不必要的上下文切换及竞争条件;注意:单线程仅仅是说在网络请求这一模块上用一个线程处理客户端的请求,像持久化它就会重开一个线程/进程去进行处理丰富的数据类型,Redis有8种数据类型,当然常用的主要是 String、Hash、List、Set、 SortSet 这5种类型,他们都是基于键值的方式组织数据。每一种数据类型提供了非常丰富的操作命令,可以满足绝大部分需求,如果有.转载 2020-10-28 23:38:59 · 6815 阅读 · 0 评论