
redis
文章平均质量分 83
zxfhahaha
这个作者很懒,什么都没留下…
展开
-
【Redis】面试问题及答案整理
Redis面试问题整理redis的常见数据类型及应用场景redis是单线程为什么还这么快redis 和 memcached 的区别redis 内存淘汰机制原创 2021-02-21 19:47:06 · 521 阅读 · 0 评论 -
【Redis】分布式锁
Redis分布式锁为什么要用分布式锁基于Redis的分布式锁RedissiontryLock()unLock()watch dog 自动延期为什么要用分布式锁如果原本我们的系统分布在一台机器上的时候,JVM提供的锁就能解决并发问题。但是如果我们是使用多台机器,要同时去Redis里面去拿同一个Key 这个时候,就会发生并发问题,因为这个时候JVM的锁事无法解决这个问题。基于Redis的分布式锁加锁:最简单的方法是使用setnx 命令,Key 是锁的唯一标识setnx key value :是去原创 2021-02-03 19:08:45 · 318 阅读 · 0 评论 -
【Redis】缓存穿透和缓存雪崩
缓存穿透和缓存雪崩缓存穿透 (查不到)布隆过滤器缓存空对象缓存击穿(量太大,缓存过期)设置热点数据永不过期加互斥锁缓存雪崩redis高可用限流降级数据预热缓存穿透 (查不到)数据库中没有, 缓存中自然没有, 所以就会频繁的去数据库中查.布隆过滤器布隆过滤器式一种数据结构,对所有可能查询的参数以hash形式存储,在控制层先进行校验,不符合则丢弃,从而避免了对底层存储系统的查询压力.pravate static BloomFilter<Integer> bloomFilter = Bloo原创 2021-01-07 23:46:36 · 111 阅读 · 1 评论 -
【Redis】集群
主从复制主从复制环境配置命令行配置文件宕机后手动配置主机复制原理全量复制增量复制主从复制的问题哨兵模式原理故障转移处理逻辑配置配置流程配置文件内容主从复制概念作用环境配置主机从机配置可以通过命令行配置,也可以通过配置文件配置.命令行是一次性的, 企业开发都是通过配置文件配置配成永久的.命令行命令行配置的都是一次性的info replication #查看主从配置的基本信息步骤一:复制三个配置文件然后修改对应信息:端口pid名字log文原创 2021-01-07 23:15:55 · 362 阅读 · 1 评论 -
【Redis】发布订阅
发布订阅命令原理使用场景命令原理通过subsribe命令订阅某个频道后**,redis-server里维护了一个字典,字典的键就是一个个频道,字典的值是链表.**链表中保存了所有订阅这个channel的客户端.通过publish命令向订阅者发送消息,redis-server会使用给定的频道作为键,在它所维护的channel字典中查找记录了订阅这个频道的所有客户端的链表,遍历这个链表,将消息发布给所有订阅者.使用场景实时消息系统实时聊天(频道当作聊天室)...原创 2021-01-07 15:54:04 · 80 阅读 · 0 评论 -
【Redis】持久化 rdb和aof
Redis持久化rdbrbd配置保存策略working directory触发rdb持久化的机制aofaof 流程bgrewriteaof命令配置持久化策略重写:自动触发bgrewriteaofredis4.0后混合持久化机制redis 提供了两种方式进行持久化RDB持久化AOF持久化(可以在配置文件中开启,也可以启动后开启)rdbrdb 持久化 就是将存储的数据快照的方式存储到磁盘上redis会单独创建(fork)一个与当前进程一模一样的子进程来进行持久化(这里解决的阻塞问题)原创 2021-01-07 15:42:09 · 141 阅读 · 0 评论 -
【Redis】配置文件 Redis.conf
Redis配置文件unitsINCLUDESnetworkbind 绑定的ipprotected-modeGENERALdaemonize 守护进程日志databasesSNAPSHOTTINGsavestop-writes-on-bgsave-errorrdbcompressionrdbchecksumdirREPLICATION 主从复制SECURITY 安全设置密码CLIENTSMEMORY MANAGEMENT内存达到上限后的处理策略APPEND ONLY MODEunits对大小写不敏感I原创 2021-01-07 14:11:34 · 234 阅读 · 2 评论 -
【Redis】整合springboot
Redis SpringBoot整合整合步骤原理jedis和lettuce的区别RedisReactiveAutoConfigurationRedisProperties自定义RedisTemplate序列化方式RedisTemplate代码测试RedisUtils整合步骤创建springboot项目时找到nosql 里的redis 勾选上修改配置 在application.properties,可以查看 RedisProperties分析测试SpringBoot主要是使用RedisTempla原创 2021-01-06 14:28:48 · 425 阅读 · 0 评论 -
【Redis】Jedis
Jedisidea 连接redis连接本地redis连接远程redis常用api基本Stringlistset添加移除集合运算hash事务idea 连接redis连接本地redis连接本地redis, 则打开本地redis-server打开后界面如下public class TestPing { public static void main(String[] args) { //1. new 一个jedis 对象 Jedis jedis = new J原创 2021-01-06 12:43:25 · 128 阅读 · 0 评论 -
【Redis】事务
Redis事务Redis 事务Redis 正常执行事务 exec放弃事务 discard错误编译型异常运行时异常watch 监视悲观锁和乐观锁事务正常结束测试多线程修改完值unwatchRedis 事务Redis事务的本质是一组命令的集合,一个事务中的所有命令都会被序列化,在事务执行过程中,会按照顺序执行特点一次性顺序性排他性Redis 事务没有隔离级别的概念所有的命令在事务中,并没有直接被执行。 只有发起执行命令Exec 才会执行Redis单条命令是保证原子性的,但事务不保证原原创 2021-01-05 22:16:47 · 113 阅读 · 0 评论 -
【redis】三种特殊数据类型
三种特殊数据类型geospatial 地理位置geoadd 添加经纬度geopos 获取经纬度geodist 给定位置之间的距离georadius、georadiusbymember 半径geohashhyperloglogpfaddpfcount 统计基数数量pfmerge 合并多个hyperloglogbitmapsetbitgetbitbitcount 统计geospatial 地理位置底层是zset实现的, 可以用zset的命令操作geoadd 添加经纬度GEOADD key longitu原创 2021-01-05 21:19:14 · 204 阅读 · 0 评论 -
【Redis】五大数据类型
Redis五大数据类型String设置key 获取keyget获取 set设置getset 先get再setmget mset 同时设置、获取多个值setnx msetnx 不存在设置setex 设置过期时间append 追加strlen 获取长度i++字符串范围getrange 获得指定范围字符串setrange 替换 指定位置开始的字符串list插入lpush 从左边插入,插入到列表头部rpush 从右边插入linsert 指定值 前/后插入rpoplpush 移除列表的最后一个元素移除lpop rp原创 2021-01-05 18:44:05 · 213 阅读 · 0 评论