![](https://img-blog.csdnimg.cn/35d929e2f0114b8bb7ebdfc9d07149a0.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
2023最详细的Redis6.0开发教程
文章平均质量分 92
基于Redis6.0出的教程
小薛博客
小薛博客官方账号
展开
-
一、Redis概述与安装
Redis是一个开源的key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,Redis支持各种不同方式的排序。与memcached一样,为了保证效率,数据都是缓存在内存中。区别的是Redis会周期性的把更新的数据写入原创 2021-12-03 14:42:10 · 1243 阅读 · 0 评论 -
二、Redis单线程?多线程?
Redis的版本很多3.x、4.x、6.x,版本不同架构也是不同的,不限定版本问是否单线程也不太严谨。版本3.x ,最早版本,也就是大家口口相传的redis是单线程。版本4.x,严格意义来说也不是单线程,而是负责处理客户端请求的线程是单线程,但是开始加了点多线程的东西(异步删除)。—貌似最新版本的6.0.x后,告别了大家印象中的单线程,用一种全新的来解决问题。—实锤http://antirez.com/news/132 主要是指Redis的网络IO和键值对读写是由一个线程来完成的,Redis在处理客户端原创 2021-12-06 06:00:00 · 378 阅读 · 0 评论 -
三、Redis五种经典数据类型介绍及运用
三、Redis五种经典数据类型介绍及运用三、Redis五种经典数据类型介绍及运用三、Redis五种经典数据类型介绍及运用1、Redis键(key)命令2、String1、简介2、最常用3、同时设置/获取多个键值4、数值增减5、获取字符串长度6、分布式锁7、数据结构8、应用场景2、hash1、简介2、常用命令3、数据结构4、应用场景3、list1、简介2、向列表左边添加、获取元素3、向列表右边添加、获取元素4、查看列表5、获取列表中元素的个数6、数据结构7、应用场景4、set1、简介2、添加元素3、删除元原创 2021-12-07 02:30:00 · 324 阅读 · 0 评论 -
四、 Redis配置文件介绍
四、 Redis配置文件介绍1、Units单位2、INCLUDES包含3、网络相关配置1、bind2、protected-mode3、port4、tcp-backlog5、 timeout6、tcp-keepalive4、GENERAL通用1、 daemonize2、pidfile3、loglevel4、logfile5、databases 165、**SECURITY安全**1、设置密码6、LIMITS限制1、maxclients2、maxmemory3、maxmemory-policy4、maxmemo原创 2021-12-06 14:42:35 · 80 阅读 · 0 评论 -
五、Redis的发布和订阅
下一篇:Redis新类型bitmap-hyperloglgo-GEO更多内容大家可以关注一下个人博客网,https://blog.xueqimiao.com/,内容更丰富喔。回复Redis可以获取完整md文档喔,谢谢关注。原创 2021-12-09 08:00:00 · 211 阅读 · 0 评论 -
六、Redis新类型bitmap-hyperloglgo-GEO
六、Redis新类型bitmap-hyperloglgo-GEO1、统计1、统计的类型有哪些?1、聚合统计2、排序统计3、二值统计4、基数统计2、bitmap1、简介2、基本命令1、setbit示例2、getbit示例3、bitcount4、bitop示例3 、Bitmaps与set对比4、实际案例1、京东签到领取京豆1、小厂方法,传统mysql方式2、大厂方法,基于Redis的Bitmaps实现签到日历 -- 建表-按位-redis bitmap3、setbit和getbit案例说明按照天按照年4、bit原创 2021-12-10 08:15:00 · 431 阅读 · 0 评论 -
七、Jedis使用
七、Jedis使用1、Redis_Jedis_测试1、Jedis所需要的jar包2、Jedis常用操作1、创建测试程序2、Jedis - key3、Jedis - String4、Jedis - List5、Jedis - Set6、Jedis - Hash7、Jedis - Zset更多内容:1、Redis_Jedis_测试1、Jedis所需要的jar包<dependency> <groupId>redis.clients</groupId> &原创 2021-12-20 14:37:24 · 61 阅读 · 0 评论 -
八、Springboot+redis+mybatis基础案例
2、新建mybatis-generator1、pom.xml2、mgb配置相关src\main\resources路径下新建config.propertiesgeneratorConfig.xml2、application.properties3、启动类4、配置1、RedisConfig2、RedisConfig23、SwaggerConfig5、把生成的代码全部复制过来6、Swagger和前台DTO配置UserDTO7、mapper接口8、User原创 2021-12-20 14:37:43 · 368 阅读 · 0 评论 -
九、Redis事务锁机制、连接池
九、Redis事务锁机制、连接池1、Redis的事务定义2、Multi、Exec、discard3、事务的错误处理4、事务冲突的问题1、示例2、悲观锁3、乐观锁4、WATCH key5、unwatch5、Redis事务三特性6、连接池更多内容:1、Redis的事务定义Redis事务是一个单独的隔离操作:事务中的所有命令都会序列化、按顺序地执行。事务在执行的过程中,不会被其他客户端发送来的命令请求所打断。Redis事务的主要作用就是串联多个命令防止别的命令插队。2、Multi、Exec、disc原创 2022-07-01 17:49:49 · 310 阅读 · 0 评论 -
十、Redis持久化
十、Redis持久化1、总体介绍2、RDB(Redis DataBase)1、RDB是什么2、备份是如何执行的3、Fork4、RDB持久化流程5、dump.rdb文件6、配置位置7、如何触发RDB快照;保持策略1、配置文件中默认的快照配置2、命令save VS bgsave3、flushall命令4、Save5、stop-writes-on-bgsave-error6、rdbcompression 压缩文件7、rdbchecksum 检查完整性8、rdb的备份8、优势9、劣势10、如何停止11、RDB小总结原创 2022-07-01 17:50:48 · 101 阅读 · 0 评论 -
十一、Redis集群
十一、Redis集群1、主从复制1、是什么2、能干嘛3、配置主从复制1、新建3个配置文件4、启动3台机器5、查看三台主机运行情况6、配从(库)不配主(库)7、自己测试8、复制原理9、哨兵模式(sentinel)1、是什么2、配置步骤3、复制延时10、故障恢复11、主从复制2、Redis集群1、什么是集群2、删除持久化数据3、制作6个实例4、redis cluster配置修改5、启动6个redis服务6、将六个节点合成一个集群1、合体7、什么是slots8、 查询集群中的值9、故障恢复更多内容:1、主从复原创 2021-12-20 14:41:09 · 137 阅读 · 0 评论 -
十二、布隆过滤器BloomFilter
十二、布隆过滤器BloomFilter1、面试题2、介绍3、特点4、使用场景5、原理1、布隆过滤器实现原理和数据结构2、3步骤3、布隆过滤器误判率,为什么不要删除4、总结6、优缺点7、布谷鸟过滤器更多内容:1、面试题现有50亿个电话号码,现有10万个电话号码,如何要快速准确的判断这些电话号码是否已经存在?1、通过数据库查询-------实现快速有点难。2、数据预放到内存集合中:50亿*8字节大约40G,内存太大了。2、介绍由一个初值都为零的bit数组和多个哈希函数构成,用来快速判断某个数原创 2021-12-20 14:41:32 · 273 阅读 · 0 评论 -
十三、缓存雪崩+缓存击穿+缓存穿透
十三、缓存雪崩+缓存击穿+缓存穿透1、缓存雪崩1、什么情况会发生雪崩2、雪崩解决方案2、缓存穿透1、是什么2、解决方案方案1:空对象缓存或者缺省值方案2:Google布隆过滤器Guava解决缓存穿透方案3:Redis布隆过滤器解决缓存穿透3、安装1、采用docker安装RedisBloom,推荐2、编译安装3、缓存击穿1、是什么2、解决方案4、实际案例更多内容:1、缓存雪崩1、什么情况会发生雪崩redis主机挂了,Redis 全盘崩溃比如缓存中有大量数据同时过期2、雪崩解决方案构建多级缓原创 2021-12-20 14:40:46 · 297 阅读 · 0 评论 -
十四、Redis分布式锁
十四、Redis分布式锁1、锁的种类2、一个靠谱分布式锁需要具备的条件和刚需1、独占性2、高可用3、防死锁4、不乱抢5、重入性3、分布式锁1、单个Redis节点实现分布式锁2、LUA脚本3、redisson实现分布式锁4、总结4、Redis分布式锁-Redlock算法Distributed locks with Redis1、使用场景2、RedLock Java的实现 Redisson3、单机案例1、三个重要元素4、多机案例1、基于setnx的分布式锁有什么缺点?2、redis之父提出了Redlock算法解原创 2021-12-20 14:40:33 · 238 阅读 · 0 评论 -
十五、Redisson源码解析
十五、Redisson源码解析1、code2、缓存续命3、watchdog4、源码解析1、分析1 - 通过redisson新建出来的锁key,默认是30秒2、分析23、分析34、分析4 - watch dog自动延期机制5、分析56、流程解释7、加锁查看8、可重入锁查看9、解锁5、常见异常情况更多内容:1、codepublic class WatchDogDemo{ public static final String LOCKKEY = "AAA"; private static原创 2021-12-20 14:40:20 · 1760 阅读 · 1 评论 -
十六、Redis的缓存过期淘汰策略
十六、Redis的缓存过期淘汰策略1、Redis内存满了怎么办1、redis默认内存多少?在哪里查看?如何设置修改?1、查看Redis最大占用内存2、redis默认内存多少可以用?3、一般生产上你如何配置?4、如何修改redis内存设置5、什么命令查看redis内存使用情况?2、结论2、往redis里写的数据是怎么没了的?它如何删除的?1、三种不同的删除策略1、立即删除2、惰性删除3、定期删除3、redis缓存淘汰策略1、noeviction: 不会驱逐任何key2、allkeys-lru: 对所有key使原创 2021-12-20 14:40:06 · 346 阅读 · 0 评论 -
十七、Redis与MySQL数据双写一致性工程落地案例
十七、Redis与MySQL数据双写一致性工程落地案例1、canal1、简介2、工作原理1、传统MySQL主从复制工作原理2、canal工作原理2、mysql-canal-redis双写一致性Coding1、mysql版本5.7.281、脚本2、当前的主机二进制日志3、查看SHOW VARIABLES LIKE 'log_bin';4、开启 MySQL的binlog写入功能5、授权canal连接MySQL账号2、canal服务端1、下载2、解压后整体放入/mycanal路径下3、配置修改4、查看 serve原创 2021-12-20 14:39:49 · 288 阅读 · 0 评论 -
十八、缓存双写一致性之更新策略探讨
十八、缓存双写一致性之更新策略探讨1、缓存双写一致性1、如果redis中有数据2、如果redis中无数据2、缓存按照操作来分,有细分2种1、只读缓存2、读写缓存3、数据库和缓存一致性的几种更新策略1、3种更新策略1、先更新数据库,再更新缓存2、先删除缓存,再更新数据库问题解决方案双删方案面试题3、先更新数据库,再删除缓存解决方案4、方案2和方案3用那个?利弊如何更多内容:1、缓存双写一致性1、如果redis中有数据需要和数据库中的值相同2、如果redis中无数据数据库中的值要是最新值2原创 2021-12-20 14:38:29 · 125 阅读 · 0 评论