redis
redis系列
Jaksioncc
Code Code Code
展开
-
Redis系列:缓存击穿.穿透.雪崩(九)
什么是热key吗?热key问题怎么解决?所谓热key问题就是,突然有几十万的请求去访问redis上的某个特定key,那么这样会造成流量过于集中,达到物理网卡上限,从而导致这台redis的服务器宕机引发雪崩针对热key的解决方案:(1)提前把热key打散到不同的服务器,降低压力(2)加入二级缓存,提前加载热key数据到内存中,如果redis宕机,走内存查询缓存击穿缓存击穿的概念就是单个key并发访问过高,过期时导致所有请求直接打到db上,这个和热key的问题比较类似,只是说的点在原创 2020-12-15 21:49:37 · 283 阅读 · 0 评论 -
Redis系列:事务机制(三)
快速理解redis的事务机制redis通过MULTI、EXEC、WATCH等命令来实现事务机制,事务执行过程将一系列多个命令按照顺序一次性执行,并且在执行期间,事务不会被中断,也不会去执行客户端的其他请求,直到所有命令执行完毕。事务的执行过程如下:(1)服务端收到客户端请求,事务以MULTI开始(2)如果客户端正处于事务状态,则会把事务放入队列同时返回给客户端QUEUED,反之则直接执行这个命令(3)当收到客户端EXEC命令时,WATCH命令监视整个事务中的key是否有被修改,如果有则返回空回复到客原创 2020-12-15 19:09:35 · 108 阅读 · 0 评论 -
Redis系列:哨兵模式(八)
序言基于主从方案的缺点还是很明显的,假设master宕机,那么就不能写入数据,那么slave也就失去了作用,整个架构就不可用了,除非你手动切换,主要原因就是因为没有自动故障转移机制。而哨兵(sentinel)的功能比单纯的主从架构全面的多了,它具备自动故障转移、集群监控、消息通知等功能。哨兵模式原理哨兵可以同时监视多个主从服务器,并且在被监视的master下线时,自动将某个slave提升为master,然后由新的master继续接收命令。整个过程如下:(1)初始化sentinel,将普通的redi原创 2020-12-15 19:05:15 · 232 阅读 · 1 评论 -
Redis系列:redis主从复制(七)
序言主从复制简单来说就是把redis_a服务器上的数据复制到redis_b,redis_c,redis_d等等服务器上,前者redis_a称为主节点(master),后者redis_b,redis_c…等被称为从节点(slave)。原创 2020-12-15 16:42:37 · 175 阅读 · 1 评论 -
Redis系列:redis持久化(六)
序言在之前的文章种主要介绍了redis的基础部分。在memcache和redis对比中,redis提供可靠的数据持久化方案,而memcache没有数据持久化方案。在这篇文章种我将详细介绍redis所提供的持久化方案:RDB持久化和AOF持久化以及redis新特性混合持久化。redis的持久化功能有效地避免因进程退出造成的数据丢失问题,当下次重启时利用之前持久化的文件即可实现数据恢复。理解掌握持久化机制对于我们学习redis非常重要。RDB持久化RDB持久化方式是通过快照(snapshotting)完原创 2020-11-30 18:24:14 · 121 阅读 · 0 评论 -
Redis系列:Redis.conf详解(五)
序言本篇文章主要是围绕redis.conf配置文件详解,来配置自己的redis.conf,并且通过配置文件来启动redis。正文(1)单位# Note on units: when memory size is needed, it is possible to specify# it in the usual form of 1k 5GB 4M and so forth:1k => 1000 bytes1kb => 1024 bytes1m => 1000000 byte原创 2020-11-28 19:54:44 · 202 阅读 · 0 评论 -
Redis系列:自定义Redistemplate和RediUtil撰写(四)
序言在前面的文章中,关于RedisConfig配置中Redistemplate的重写没有过多的介绍,在这篇文章中具体讲Redistemplate的通用配置,拿来就能用。还会补充通用的RediUtils的撰写(企业开发中常用)等自定义Redistemplate首先我们找到org.springframework.boot.autoconfigure.data.redis.RedisAutoConfiguration:然后我们点进去看一下redis自动配置的源码如下:@Configuration(原创 2020-11-27 19:07:07 · 346 阅读 · 0 评论 -
Redis系列:五大基本类型和三大特殊类型详细解析(二)
序言Redis是一个开源(BSD许可),内存中的数据结构存储,用作数据库、缓存和消息代理。它支持数据结构,如字符串、哈希、列表、集合、带范围查询的排序集、位图、超日志、带有radius查询和流的地理空间索引。Redis-key的基本知识127.0.0.1:6379> set name xiaotang //设置keyOK127.0.0.1:6379> keys * //查看所有key1) "name"127.0.0.1:6379> exists name //判断key原创 2020-11-24 20:08:51 · 836 阅读 · 0 评论 -
Redis系列:安装和基础知识(一)
在Linux中使用docker安装1. docker pull redis:latest //下载redis2. docker images //查看3. docker run -itd --name redis-twy -p 6379:6379 redis //运行redis容器4. docker ps //查看是否运行5. docker exec -it redis-twy /bin/bash //使用 docker exec -it redis /bin/bash进入redis原创 2020-11-21 09:54:34 · 198 阅读 · 0 评论 -
SpringBoot系列:Redis消息的发布和订阅(三)
序言redis不但能用于对数据的CRUD,也可以作为一个消息中间件,用来进行消息的发布和订阅。在下面的demo中,配置了多个监听器,来监听不同的通道。消息的发布创建一个消息发布者类MessageSender.java,两个发送者分别向通道chatA和通道chatB发送消息:/** * 消息发布者 */@EnableScheduling//开启定时器功能@Component//自动注入public class MessageSender { @Autowired priva原创 2020-11-19 21:46:49 · 194 阅读 · 2 评论 -
SpringBoot系列:Redis的不同类型值的存取(二)
序言在SpringBoot系列:简单整合redis(一)文章中已经具体的阐述了怎么安装Redis及SpringBoot整合Redis的环境的配置等,在接下来关于Redis的文章中就不会去一一阐述环境的配置了。Redis的不同类型值的存取/** * Redis的值的各种方式的存储与取出 */@RestController@RequestMapping("RedisStoreValueTest")public class RedisController { @Autowired原创 2020-11-19 10:17:38 · 710 阅读 · 4 评论 -
SpringBoot系列:简单整合redis(一)
简介Redis的特点:1,Redis读取的速度是110000次/s,写的速度是81000次/s;2,原子 。Redis的所有操作都是原子性的,同时Redis还支持对几个操作全并后的原子性执行。3,支持多种数据结构:string(字符串);list(列表);hash(哈希),set(集合);zset(有序集合)4,持久化,集群部署5,支持过期时间,支持事务,消息订阅redis的配置依赖<!-- redis --> <dependency> <grou原创 2020-09-29 00:10:25 · 319 阅读 · 0 评论