随笔分类 -  Redis

摘要:Redis中opsForValue()方法的使用 1、set(K key, V value) 新增一个字符串类型的值,key是键,value是值。 redisTemplate.opsForValue().set("stringValue","bbb"); 2、get(Object key) 获取ke 阅读全文
posted @ 2023-07-19 13:57 甜菜波波 阅读(1527) 评论(0) 推荐(2) 编辑
摘要:setIfAbsent( key, value) 1.如果键不存在则新增,存在则不改变已经有的值。 2.存在返回 false,不存在返回 true。 3.boolean lock = redisTemplate.opsForValue().setIfAbsent("testKey","123"); 阅读全文
posted @ 2023-07-19 13:56 甜菜波波 阅读(2687) 评论(0) 推荐(0) 编辑
摘要:一、固定窗口 所谓固定窗口限流即时间窗口的起始和结束时间是固定的,在固定时间段内允许要求的请求数量访问,超过则拒绝;当固定时间段结束后,再重新开始下一个时间段进行计数。 我们可以根据当前的时间,以分钟为时间段,每分钟都生成一个key,用来inc,当达到请求数量就返回一些友好信息。 固定窗口 /** 阅读全文
posted @ 2023-06-07 10:36 甜菜波波 阅读(1235) 评论(0) 推荐(0) 编辑
摘要:微服务项目中,很多资源需要互斥使用,比如一些分布式任务,比如下单的处理,退货的处理等等。这些都需要用到借助分布式锁来保证处理的唯一性。 一开始我们也手工实现了分布式锁,但是随着业务的发展,我们对锁的特性也要求越来越完善,最后选用了Redis官方推荐的Redisson。一、Spring Boot中使用 阅读全文
posted @ 2023-02-24 15:31 甜菜波波 阅读(3017) 评论(0) 推荐(0) 编辑
摘要:1.Jedis: Redis官方推荐使用Jedis操作Redis,Jedis的方法和Redis的指令一一对应。 Jedis和lettuce都是可以操作redis的平台 使用时: 导包 <dependency> <groupId>redis.clients</groupId> <artifactId> 阅读全文
posted @ 2022-09-14 17:10 甜菜波波 阅读(1338) 评论(0) 推荐(0) 编辑
摘要://1.设置sentinel 各个节点集合Set<String> sentinelSet = new HashSet<>();sentinelSet.add("192.168.14.101:26379");sentinelSet.add("192.168.14.102:26380");sentine 阅读全文
posted @ 2022-04-08 10:50 甜菜波波 阅读(611) 评论(0) 推荐(0) 编辑
摘要:嗯,其实很早之前就想写这篇文章了,稍稍接触过redis的人都知道redis的两种持久化方式以及对应的配置。但是我还是想说一下面试中的redis的此类问题,例如面试官问你,eg:我们都知道redis的几种持久化方式,请简述一下他们的区别和优缺点。我们经常接触,但是如果面试没做准备的话还是很容易被问懵, 阅读全文
posted @ 2022-03-22 18:03 甜菜波波 阅读(352) 评论(1) 推荐(0) 编辑
摘要:一致性哈希算法——虚拟节点 一致性哈希算法是分布式系统中常用的算法。比如,一个分布式的存储系统,要将数据存储到具体的节点上,如果采用普通的hash方法,将数据映射到具体的节点上,如key%N,key是数据的key,N是机器节点数,如果有一个机器加入或退出这个集群,则所有的数据映射都无效了,如果是持久 阅读全文
posted @ 2022-03-09 16:59 甜菜波波 阅读(364) 评论(0) 推荐(0) 编辑
摘要:转载请说明出处:http://blog.csdn.net/cywosp/article/details/23397179 一致性哈希算法在1997年由麻省理工学院提出的一种分布式哈希(DHT)实现算法,设计目标是为了解决因特网中的热点(Hot spot)问题,初衷和CARP十分类似。一致性哈希修正了 阅读全文
posted @ 2022-03-09 16:41 甜菜波波 阅读(53) 评论(0) 推荐(0) 编辑
摘要:redis延迟双删的策略1.为什么要进行延迟双删一般我们在更新数据库数据时,需要同步redis中缓存的数据所以存在两种方法:(1)第一种方案:先执行update操作,再执行缓存清除。(2)第二种方案:先执行缓存清除,再执行update操作。弊端:当存在并发请求时,很容易出现问题(1)第一种方案:当请 阅读全文
posted @ 2022-02-16 16:21 甜菜波波 阅读(3432) 评论(0) 推荐(0) 编辑
摘要:1. 什么是缓存雪崩?怎么解决? 2. 什么是缓存穿透?怎么解决? 3. 什么是缓存并发竞争?怎么解决? 4.什么是缓存和数据库双写不一致?怎么解决? 1. 什么是缓存雪崩?怎么解决? 通常,我们会使用缓存用于缓冲对 DB 的冲击,如果缓存宕机,所有请求将直接打在 DB,造成 DB 宕机——从而导致 阅读全文
posted @ 2020-07-12 08:50 甜菜波波 阅读(202) 评论(0) 推荐(0) 编辑
摘要:1.引入依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency> 2.创建超时监听 package 阅读全文
posted @ 2020-06-19 10:03 甜菜波波 阅读(591) 评论(0) 推荐(0) 编辑
摘要:一、安装redis yum install redis 出现选择就一直 y 安装完成 二、启动redis服务 /bin/systemctl start redis.service 三、测试redis redis-cli set 'test' 'hello' get 'test' 测试redis 四、 阅读全文
posted @ 2020-06-19 09:18 甜菜波波 阅读(189) 评论(0) 推荐(0) 编辑
摘要:import java.util.ArrayList; import java.util.HashSet; import java.util.List; import java.util.Set; import redis.clients.jedis.Jedis; import redis.clie 阅读全文
posted @ 2018-11-09 17:42 甜菜波波 阅读(1454) 评论(0) 推荐(0) 编辑
摘要:一、缓存雪崩 缓存雪崩我们可以简单的理解为:由于原有缓存失效,新缓存未到期间(例如:我们设置缓存时采用了相同的过期时间,在同一时刻出现大面积的缓存过期),所有原本应该访问缓存的请求都去查询数据库了,而对数据库CPU和内存造成巨大压力,严重的会造成数据库宕机。从而形成一系列连锁反应,造成整个系统崩溃。 阅读全文
posted @ 2018-09-03 10:12 甜菜波波 阅读(376) 评论(0) 推荐(0) 编辑
摘要:package com.test;import java.util.ArrayList;import java.util.List;import redis.clients.jedis.JedisPoolConfig;import redis.clients.jedis.JedisShardInfo 阅读全文
posted @ 2018-08-23 09:58 甜菜波波 阅读(1514) 评论(0) 推荐(0) 编辑
摘要:前言 看了一圈,发现Redis的面试题主要问的是如下几块: 原理 用处(缓存/队列 包括Pub、Sub/计数器/排行榜等) 基本操作与数据类型 消息队列 且与其它消息队列的区别 主从备份 宕机如何处理 持久化及原理(原生持久化 & 结合Mysql等数据库持久化) 是否可以作为数据库?作为数据库有哪些 阅读全文
posted @ 2018-08-13 16:23 甜菜波波 阅读(1374) 评论(0) 推荐(1) 编辑
摘要:using System; using System.Collections.Generic; using System.Linq; using System.Text; using ServiceStack.Redis; namespace RedisTest3_LPUSH { class Pro 阅读全文
posted @ 2017-03-23 14:44 甜菜波波 阅读(1958) 评论(0) 推荐(0) 编辑
摘要:using System; using System.Collections.Generic; using System.Linq; using System.Text; using ServiceStack.Redis; using ServiceStack.Common; using Syste 阅读全文
posted @ 2017-03-23 14:12 甜菜波波 阅读(142) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示