Redis
文章平均质量分 71
从Redis基础到实战
LoneWalker、
莫听穿林打叶声,何妨吟啸且徐行
展开
-
Redis缓存穿透、缓存击穿、缓存雪崩
前言首先看一下从redis缓存中读取数据的流程缓存穿透1、什么是缓存穿透用户想要查询一个数据,redis中没有(缓存没有命中),根据流程图,它会到关系型数据库中查找,数据库中也没有。如果是高并发情况下,会造成同一时间大量查询请求数据库,导致数据库宕机,这就是缓存穿透。2、缓存穿透的解决方案2.1 规范key过滤规范key的命名,并且统一缓存查询的入口,在入口处对key的命名格式进行检测,过滤掉不规范key的访问,这样可以过滤掉大部分的恶意攻击。如约定项目中Redis缓存key原创 2021-03-22 16:32:13 · 186 阅读 · 0 评论 -
Redis过期策略和内存淘汰机制
前言:生存时间和过期时间生存时间:一段时长,如30秒、6000毫秒,设置键的生存时间就是设置这个键可以存在多长时间,命令有两个expire(秒)、pexpire(毫秒) 过期时间:一个时间点,unix时间戳,设置键的过期时间就是设置键在之后的某个时间点过期,命令两个expreat(秒时间戳)、pexpireat(毫秒时间戳)。过期策略(1)定时删除:在设置过期时间的同时,设置一个定时器,定时器的执行时间就是过期的时间点。优点:对内存最友好,过期的键会以最快的被删除,释放内存。 缺点:对C.原创 2021-03-21 19:52:52 · 213 阅读 · 0 评论 -
Redis管道Pipelined详解
前言Redis是一种基于客户端-服务端模型以及请求/响应协议的TCP服务。这意味着通常情况下一个请求会遵循以下步骤:客户端向服务端发送一个查询请求,并监听Socket返回,通常是以阻塞模式,等待服务端响应。 服务端处理命令,并将结果返回给客户端。Redis 管道技术可以在服务端未响应时,客户端可以继续向服务端发送请求,并最终一次性读取所有服务端的响应。测试对比在pom文件中添加相关启动器,这里使用jedis,lettuce以后再说吧 <!-- https://mvnrepos原创 2021-03-20 14:04:42 · 1721 阅读 · 1 评论 -
Redis的RDB与AOF
Redis持久化的必要性首先要明白redis是一个数据库, redis是一个内存数据库, 所有数据基本上都存在于内存当中, 会定时以追加或者快照的方式刷新到硬盘中. 由于redis是一个内存数据库, 所以读取写入的速度是非常快的, 所以经常被用来做数据, 页面等的缓存。由于Redis的数据都存放在内存中,如果没有配置持久化,redis重启后数据就全丢失了,即便是重启后数据也无法很快恢复,而此时可能会有大量请求找到DB,DB扛不住,也就会出现所谓的“缓存雪崩”问题。于是需要开启redis的持久化功原创 2020-05-15 09:13:29 · 200 阅读 · 0 评论 -
Redis系列记录(一)Redis入门
一、认识RedisRedis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。 Redis的所有操作都是原子性的,意思就是要么成功执行要么失败完全不执行。 Redis运行在内存中但是可以持久化到磁盘,所以在对不同数据集进行高速读写时需要权衡内存,因为数据量不能大于硬件内存。二、启动Redis2.1 前台模式redis-server此命令将会以默认配置启动Redis服务, 默认端口是6379首先打开服务 也可以看到..原创 2020-05-12 10:28:35 · 335 阅读 · 0 评论 -
Redis系列记录(四)——使用可视化工具RedisView
下载地址:https://sourceforge.net/projects/redisview/首先打开Redis服务打开RedisView,新建一个连接: 端口号为redis服务端口号这里的IP地址,如果需要指定,则需要修改redis.windows.conf 这样就成功进入了选择一个数据库,点击右键,新建键值右键数据库,选择刷...原创 2020-04-29 15:37:39 · 1319 阅读 · 0 评论 -
Redis系列记录(三)——Redis事务
Redis 事务可以一次执行多个命令, 并且带有以下三个重要的保证:批量操作在发送 EXEC 命令前被放入队列缓存。 收到 EXEC 命令后进入事务执行,事务中任意命令执行失败,其余的命令依然被执行。 在事务执行过程,其他客户端提交的命令请求不会插入到事务执行命令序列中。举个栗子:先以MULTI开始一个事务, 然后将多个命令入队到事务中, 最后由EXEC命令触发事务, 一并执行事...原创 2020-04-29 13:48:32 · 207 阅读 · 0 评论 -
Redis系列记录(二)——Redis发布订阅
Redis 发布订阅(pub/sub)是一种消息通信模式:发送者(pub)发送消息,订阅者(sub)接收消息。Redis 客户端可以订阅任意数量的频道。举例演示发布订阅是如何工作的:首先创建频道 testRedis重新开启个 redis 客户端,然后在同一个频道 redisChat 发布一次消息,订阅者就能接收到消息。这里有个中文乱码问题,尝试了很多方法都不行。发布...原创 2020-04-29 13:21:12 · 272 阅读 · 0 评论