
redis
方方园园
这个作者很懒,什么都没留下…
展开
-
redis互斥锁实现
//如果不存在就设置,且设置成功60秒后key自动失效,成功会返回字符串"OK ", 如果存在就不设置该keyString ret = jedis.set(key, value, "NX", "EX", 60);flag = ret.equals("OK") ? true : false;jedis.del(key);String ret = jedis.setnx(key, value);//如果不存在就设置key,成功会返回 Long类型的 1, 如果存在就不设置该key ,且会返回Long原创 2020-05-18 17:04:48 · 5733 阅读 · 0 评论 -
高并发缓存处理之——缓存穿透的几种形式及解决方案
缓存失效的几种形式1 缓存穿透缓存穿透是指查询一个一定不存在的数据,由于缓存是不命中时被动写的,并且出于容错考虑,如果从存储层查不到数据则不写入缓存,这将导致这个不存在的数据每次请求都要到存储层去查询,失去了缓存的意义。在流量大时,可能DB就挂掉了,要是有人利用不存在的key频繁攻击我们的应用,这就是漏洞。key不存在时,大量的数据进来查询DB解决方案:有很多种方法可以有效地解决缓存穿透问...转载 2020-04-30 23:01:03 · 542 阅读 · 0 评论 -
使用布隆过滤器解决问题
使用redis时候在某种情况下,可能会出现缓存雪崩和缓存穿透。缓存穿透:大量请求访问时,Redis没有命中数据,导致请求绕过了Redis缓存,直接去访问数据库了。数据库难以承受大量的请求。此时便可以使用布隆过滤器来解决。请求到来时,先用布隆过滤器判断数据是否有效,布隆过滤器可以判断元素一定不存在和可能存在,对于一定不存在的数据,则可以直接丢弃请求。对可能存在的请求,再去访问Redis获取数据...原创 2020-04-30 22:57:18 · 758 阅读 · 0 评论 -
redis集群springboot集成方式
pom <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency> <dependency> ...原创 2020-02-18 15:06:51 · 148 阅读 · 0 评论 -
springboot缓存
https://www.jianshu.com/p/8905f4a6c30a原创 2019-12-28 21:42:32 · 108 阅读 · 0 评论 -
docker安装redis(无网络)
docker pull redis:latest #找个有网的机器下下来docker save -o redis.tar redis:latest #导出docker import redis.tar redis:latest #导入 创建本机redis挂载目录 mkdir -p /root/redis/data /root/redis/conf 在/roo...原创 2019-11-22 13:39:12 · 787 阅读 · 0 评论 -
spring集成redis(xml的方式)
spring配置redis<!-- 集群版的配置 --> <bean id="jedisCluster" class="redis.clients.jedis.JedisCluster"> <constructor-arg> <set> <bean...原创 2019-08-19 21:06:01 · 412 阅读 · 0 评论 -
Redis集群下使用Jedis实现keys模糊查询
public Set<String> getAllKeys(String pattern){ Set<String> result = new HashSet<>(); try { // 获取Redis集群内所有节点 Map<String, JedisPool> clusterNodes = jedi...原创 2019-08-20 10:59:42 · 1231 阅读 · 0 评论