Redis
程序猿S先森丶
这个作者很懒,什么都没留下…
展开
-
SpringBoot整合Redis实现简单发布/订阅
一、添加pom <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-pool2</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>原创 2021-07-19 17:52:49 · 117 阅读 · 0 评论 -
Redis批量查询pipeline
直接给出示例,以批量查询String为例: public List<Object> batchGet(List<String> keys){ List<Object> res = redisTemplate.executePipelined(new RedisCallback<String>() { @Override public String doInRedis(RedisConnection redisConnectio原创 2021-02-04 22:51:43 · 499 阅读 · 0 评论 -
redis缓存穿透、缓存雪崩
一、缓存穿透 描述 是指查询一个数据库一定不存在的数据。正常的使用缓存流程大致是,数据查询先进行缓存查询,如果key不存在或者key已经过期,再对数据库进行查询,并把查询到的对象,放进缓存。如果数据库查询对象为空,则不放进缓存。 解决方案 把查询的结果即使也为空也放入缓存,设定一个较短的缓存时间 二、缓存雪崩 描述 缓存雪崩是指缓存中数据大批量到过期时间,而查询数据量巨大,引起数据库压力过大甚至宕机。 雪崩预防 永不过期 过期时间错开(增加随机因子) 多缓存结合(如MemCache) 采购第三原创 2021-02-04 22:40:41 · 45 阅读 · 0 评论 -
SpringBoot集成Redis集群
application.yml spring: redis: password: mypassword cluster: nodes: 192.168.1.201:6379,192.168.1.202:6379,192.168.1.203:6379,192.168.1.204:6379,192.168.1.205:6379,192.168.1.206:6379原创 2021-02-04 21:49:04 · 71 阅读 · 0 评论 -
搭建Redis的三主三从集群模式
一、准备6台服务器,都部署好redis 二、配置redis.conf,搜索CLUSTER #开启集群 cluseter-enabled yes #结点配置文件 cluster-config-file nodes-6379.conf #超时时间 cluster-node-timeout 5000 #开启AOF appendonly yes 三、删除dump.rdb和appendonly.aof 如果redis数据库目录有dump.rdb和appendonly.aof文件,则删除它们,否则构建集群会报错 四原创 2021-02-04 21:45:36 · 156 阅读 · 0 评论 -
SpringBoot集成Redis哨兵
application.yml spring: redis: database: 1 password: mypassword sentinel: master: mymaster nodes: 192.168.1.191:26379,192.168.1.192:26379,192.168.1.193:26379原创 2021-02-04 19:14:14 · 76 阅读 · 0 评论 -
Redis哨兵机制与实现
一、引子 Redis搭建了主从复制后,有一个致命的问题,就是Master结点宕机,如何保证可用性,实现继续读写,因此提出了Redis哨兵机制。 二、什么是哨兵 Sentinel(哨兵)是用于监控Redis集群中Master状态的工具,是 Redis 高可用解决方案,哨兵可以监视一个或者多个redis master服务,以及这些master服务的所有从服务。某个master服务宕机后,会把这个master下的某个从服务升级为master来替代已宕机的master继续工作 三、配置哨兵监控master 1.在/原创 2021-02-04 17:11:15 · 70 阅读 · 0 评论 -
Redis缓存过期处理与内存淘汰机制
一、已过期的key Redis如何处理 设置了expire的key缓存过期了,但是服务器的内存还是会被占用,这是因为redis所基于的两种删除策略redis有两种策略 (主动)定时删除 定时随机的检查过期的key,如果过期则清理删除。(每秒检查次数在redis.conf中的hz配置) (被动)惰性删除 当客户端请求一个已经过期的key的时候,那么redis会检查这个key是否过期,如果过期了,则删除,然后返回一个nil。这种策略对cpu比较友好,不会有太多的损耗,但是内存占用会比较高。 所以,虽然key原创 2021-02-04 16:08:00 · 175 阅读 · 0 评论 -
搭建Redis主从复制,实现读写分离
一、准备三台Redis服务器,其中两台作为salve 二、首先编辑其中一台slave(192)的redis.conf,搜索replication 配置主节点的IP及端口号 replicaof 192.168.1.191 6379 设置master的密码 masterauth mypassword 三、重启redis,另一个从服务器相同配置即可 可以连接redis客户端后输入命令,查看节点信息 redis-cli auth mypassword >>info replication 查看原创 2021-02-04 15:40:46 · 110 阅读 · 0 评论 -
Redis的持久化方式RDB和AOF
一、Redis的持久化机制-RDB(Redis DataBase) 1. 什么是RDB 每隔一段时间,把内存中的数据写入磁盘的临时文件,作为快照,恢复的时候把快照文件读进内存。如果宕机重启,那么内存里的数据肯定会没有的,所以重启Redis后,则会恢复。 2. 备份与恢复 内存备份 --> 磁盘临时文件 临时文件 --> 恢复到内存 3. RDB优劣势 优势 每隔一段时间备份,全量备份 灾备简单,可以远程传输 子进程备份的时候,主进程不会有任何io操作(不会有写入修改或删除),保证备份数据原创 2021-02-04 15:10:18 · 56 阅读 · 0 评论 -
SpringBoot整合Redis
一、添加pom依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency> 二、yml里配置redis spring: redis: database: 1 host: 192.168.1.191 port: 6379原创 2021-02-02 19:33:35 · 59 阅读 · 0 评论 -
Redis的安装与配置
一、去官网下载tar包 官网地址 二、上传到服务器并解压 tar -zxvf redis-xxxx.tar.gz 三、进入解压目录安装 cd redis-xxxx make && make install 四、配置 拷贝redis初始化脚本到/etc/init.d cd redis-xxxx/utils cp redis_init_script /etc/init.d/ 创建redis目录并拷贝redis.conf至目录下,创建working目录后面配置会用到 mkdir /u原创 2021-02-02 15:40:08 · 74 阅读 · 0 评论