redis
文章平均质量分 57
溜达的大象
成就一亿技术人
展开
-
整合SpringCache简化缓存开发以及实例
1.引入依赖 pom.xml增加依赖 <!-- 引入redis --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> <version>2.1.原创 2021-11-24 19:00:29 · 918 阅读 · 0 评论 -
分布式锁处理缓存redisson实例
场景: 首页菜单的数据获取 通过读取缓存来实现 并发请求首页 redis命中 有则返回数据 redis不命中 启动分布式锁 放第一条请求进来 查库防止缓存 非第一条请求 再次先 先验证是否有缓存 有责直接读缓存 @Override public Map<String, List<Catelog2Vo>> getCatalogJson() { //给缓存存放json 拿出的json字符串需要逆转为对象类型【序列化与反序列化】 //1.从缓存取出的js原创 2021-11-24 15:22:18 · 488 阅读 · 0 评论 -
整合redisson了解分布式锁的配置熟悉lock的看门狗机制以及应用
java相对主流分布式锁 - redis的Redisson (Java implementation) the Redlock 设计 1.引入依赖 <!-- https://mvnrepository.com/artifact/org.redisson/redisson --> <!-- 以后试用redisson作为分布式锁,分布式对象等功能框架--> <dependency> <groupId原创 2021-11-23 17:22:11 · 773 阅读 · 0 评论 -
简单分布式锁(基于redis)
简单分布式锁(基于redis) 核心:原子加锁 原子解锁 加锁相关redis语句: set lock 1 NX 解释:lock键无占用才设置键lock值为1 set lock 1 EX 300 NX 解释:lock键无占用时才设置键lock值为1 有效时间为:300s 解锁相关语句: if redis.call('get',KEYS[1]) == ARGV[1] then return redis.call('del',KEYS[1]) else return 0 end 思路过程代码:原创 2021-11-23 15:23:55 · 581 阅读 · 0 评论 -
缓存本地锁处理(相对分布式分布锁)
为了防止热数据的缓存过期,造成高并发进来同时出发数据库操作,造成数据库压力过大崩溃。采用加锁操作。只允许一个请求进来 去执行查看,其他的同时进来的请求,等待。。进来后再次检查缓存,如果有数据就命中缓存。 // 同步代码块 // synchronized(this) SpringBoot的所有组件 在容器中都是单例的。 synchronized (this){ } 例:处理redis缓存的模式 判断redis 请求进来,先查询redis是否有有效数据,有则读取返回 redis没有,操作数据库处理.原创 2021-11-23 11:05:43 · 433 阅读 · 0 评论 -
缓存使用问题: 穿透 雪崩 击穿
缓存穿透 代码现象:redis每次都不命中,每次都触发查询数据库 一个redis的key经常性问题 缓存穿透是指查询一个一定不存在的数据,由于缓存是不命中,将去查询数据库,但是数 据库也无此记录,我们没有将这次查询的 null 写入缓存,这将导致这个不存在的数据每次 请求都要到存储层去查询,失去了缓存的意义。高并发时,可能 DB瞬间压力增大而崩溃,要是有人利用不存在的 key 频繁攻击我们的应用,这就是漏洞。 解决: null结果缓存、并且设置短暂过期时间。 缓存雪崩 ..原创 2021-11-22 18:00:32 · 553 阅读 · 0 评论 -
spring-boot整合redis操作
spring-boot整合redis操作 1. 引入redis的starter pom.xml <!-- 引入redis --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId>原创 2021-11-22 15:49:02 · 761 阅读 · 0 评论 -
正式环境部署redis注意的事儿
1.修改密码 通过配置文件永久性的修改密码 redis.conf中搜索: requirepass 设置密码: requirepass 密码 设置完毕是否生效,检验一下 config get requirepass 2 .绑定指定的ip 配置文件中 bind 127.0.0.1 限制了redis服务只使用与本机使用。 这里需要配置指定的ip获取注释掉。注释掉redis通用。 redis-server redis.conf 设置完了配置文件,在启动服务要基于配置文件启动! ...原创 2021-04-08 10:21:59 · 236 阅读 · 0 评论 -
reids设置密码
命令修改 redis-server.exe redis-cli.exe -h 127.0.0.1 -p 6379 客户端使用config get requirepass命令查看密码 config get requirepass 1)“requirepass” 2)"" //默认空 客户端使用config set requirepass yourpassword命令设置密码 config set requirepass root OK 设置密码,必须先验证通过密码 config原创 2021-03-10 08:44:08 · 359 阅读 · 0 评论 -
redis操作类
<?php /** * redis操作类 * 说明,任何为false的串,存在redis中都是空串。 * 只有在key不存在时,才会返回false。 * 这点可用于防止缓存穿透 * */ class Redis { private $redis; //当前数据库ID号 protected $dbId=0; //当前权限认证...转载 2019-07-11 14:16:45 · 981 阅读 · 2 评论