![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Redis
文章平均质量分 54
比嗨皮兔
主攻java,熟练 .net/c#、spring、spring cloud、dubbo、mybatis等,熟练使用go、shell、python等,其他中间件有tbschedule、xxl-job、consul、apollo、elk、cat、prometheus等,善于大数据、高并发、分布式以及微服务的相关优化和技术框架选型。
专利:CN113282633A CN113239043A CN111861669A CN111429060A
软著:安卓点名软件
展开
-
【Redis】持久化
RDB(Redis Database) 持久化方式:将 Redis 在内存中的数据快照以二进制形式保存到磁盘上,可通过配置不同的保存策略来实现定时备份或者手动触发备份。需要注意的是,当 Redis 同时开启 RDB 和 AOF 持久化时,一旦 Redis 重启,它将优先加载 AOF 文件,因为 AOF 文件包含的是更加完整和准确的数据。如果不做持久化处理,一旦服务器宕机,所有的数据就会丢失,无法恢复,这对于生产环境而言是不能接受的。Redis 在执行写命令时,将相应的操作追加到 AOF 文件的末尾。原创 2023-04-04 13:21:42 · 672 阅读 · 0 评论 -
【Redis】数据结构 - String
Hash 数据结构底层使用了哈希表,等等。需要注意的是,在使用 String 数据结构时,应该根据数据的实际情况选择合适的编码方式,以减小内存占用,并注意过期时间的设置,避免 Redis 内存溢出。需要注意的是,在使用 Redis 的 String 数据结构时,应该遵循 Redis 的规范和约定,使用合适的编码方式和操作方法,并注意数据类型转换和内存管理等问题。需要注意的是,在使用 Redis 的其他数据结构时也要遵循上述建议,并根据实际情况选择合适的数据结构和操作方式,以实现高效、安全和可靠的系统。原创 2023-04-05 00:10:44 · 543 阅读 · 0 评论 -
【Redis】数据结构 - Set
Set 数据结构中元素的数量不受限制,但是由于 Redis 在内部使用哈希表实现 Set 数据结构,因此当 Set 中元素的数量较大时,哈希表的内存开销也会相应增加。注意 Set 中元素的大小:由于 Redis 在内部使用哈希表实现 Set 数据结构,因此当 Set 中元素的大小较大时,哈希表的内存开销也会相应增加。需要注意的是,在使用 Redis 的 Set 数据结构时,应该遵循 Redis 的规范和约定,使用合适的命令和操作方法,并注意数据类型转换和内存管理等问题。原创 2023-04-05 00:10:26 · 980 阅读 · 0 评论 -
【Redis】数据结构 - ZSet
具体来说,在使用哈希表实现 Sorted Set 数据结构时,每个元素都对应一个键值对,其中 key 表示元素的值,value 表示元素的分值。注意 Sorted Set 中元素的大小:由于 Redis 在内部使用跳跃表(Skip List)实现 Sorted Set 数据结构,因此当 Sorted Set 中元素的大小较大时,跳跃表的内存开销也会相应增加。需要注意的是,在使用 Redis 的 Sorted Set 数据结构时,应根据实际情况选择合适的命令和操作方法,并注意数据类型转换和内存管理等问题。原创 2023-04-05 00:07:38 · 921 阅读 · 0 评论 -
【Redis】数据结构 - List
其中,lpush 和 rpush 命令用于在 List 的左侧和右侧插入一个或多个元素,linsert 命令用于在指定元素前或后插入一个新元素,lpop 和 rpop 命令分别用于删除 List 的左侧和右侧的元素。需要注意的是,在使用 Redis 的 List 数据结构时,应根据实际情况选择合适的命令和操作方法,并注意数据类型转换和内存管理等问题。需要注意的是,在使用 Redis 的 List 数据结构时,应根据实际情况选择合适的命令和操作方法,并注意数据类型转换和内存管理等问题。原创 2023-04-05 00:07:17 · 978 阅读 · 0 评论 -
【Redis】发布/订阅
在上面的代码中,发布者使用conn.Do()执行PUBLISH命令向指定频道发布消息,而订阅者则使用redis.PubSubConn类型创建一个PubSubConn对象,并通过Subscribe()方法订阅一个或多个频道。在上面的代码中,发布者使用jedis.publish()向指定频道发布消息,而订阅者则创建一个继承自JedisPubSub类的子类,并重写其onMessage()方法用于处理接收到的消息。当其他客户端向该频道发送消息时,Redis会遍历订阅列表,并将消息发送给所有已订阅该频道的客户端。原创 2023-04-05 00:09:21 · 960 阅读 · 0 评论 -
【Redis】事务和实现原理
在上面的代码中,我们使用Redisson创建了一个事务,并在事务中执行了一系列操作(设置键值对、添加集合元素等)。可以看到,在Redisson客户端中,事务的使用方式与传统的Java事务非常类似。Redisson事务是基于Redis的单线程模型实现的,因此事务中的操作不会被其他客户端的操作干扰。在Redisson客户端中,事务的错误处理是自动的:如果事务中任何一个操作失败,整个事务将会被回滚。Redisson事务的性能比较高,但是需要注意设置事务超时时间,以避免事务长时间阻塞导致性能下降。原创 2023-04-05 00:08:41 · 182 阅读 · 0 评论 -
【Redis】部署脚本 - 主从模式
以下是一个简单的Redis主从模式部署脚本,可以用于快速安装和配置Redis主从服务:部署Redis主节点部署Redis从节点。原创 2023-04-04 10:54:52 · 172 阅读 · 0 评论 -
【Redis】部署架构 - 单节点
综上所述,Redis单节点部署适用于对可靠性、容量和业务需求要求不高的场景,如缓存、计数器等。如果需要满足高可靠性、海量数据存储等需求,建议采用分布式部署方案。原创 2023-04-04 10:49:50 · 1036 阅读 · 0 评论 -
【Redis】简介
Redis是一个开源的内存数据结构存储系统,它支持多种数据结构(如字符串、哈希、列表、集合、有序集合)以及多种功能(如事务、发布/订阅、Lua脚本执行等)。Redis还提供了持久化功能,可以将数据存储到磁盘上,以便在重启后恢复数据。由于其高性能、可靠性和灵活性,Redis被广泛应用于缓存、会话管理、排行榜、实时分析、消息队列等领域。原创 2023-04-04 10:44:21 · 825 阅读 · 0 评论 -
【Redis】Redisson客户端模糊scan清理数据
代码实现 @Resource private RedissonClient redissonClient; // 删除缓存 String keyPrefix = "app:lock"; String keyPattern = MessageFormat.format("{0}:*", keyPrefix); Iterator<String> iterator = redissonClie原创 2022-11-07 21:23:33 · 2040 阅读 · 4 评论 -
【PPT】互联网高并发实践 之 分布式缓存
互联网高并发应用 之 缓存篇,从浏览器,cdn,后端中间间,数据库都有涉及,基本囊括了缓存的所有使用场景。原创 2022-05-22 14:44:55 · 276 阅读 · 0 评论 -
【PPT】互联网高并发实践 之 分布式锁
当前的PPT总共56页,从锁的介绍,到java锁(lock、synchronor、aqs)到分布式锁 redis、zk、数据悲观乐观锁都有介绍,算比较锁比较完整的介绍,具体看文章。原创 2022-05-20 21:16:48 · 452 阅读 · 9 评论 -
【分布式】Redis 布隆过滤器(BloomFilter)的使用
待完善原创 2022-03-07 21:25:06 · 801 阅读 · 0 评论 -
redis 实现分布式锁(三)
1、引用 <dependency> <groupId>org.redisson</groupId> <artifactId>redisson-spring-boot-starter</artifactId> <version>3.8.2</version> </dependency>...原创 2021-06-17 13:29:25 · 127 阅读 · 0 评论 -
Redis 学习历程(持续更新中)
说明: redis的脑图,后期完善及更新中,后期会按照大标题,每个专门写一篇文章介绍,也会持续更新中.......原创 2021-03-19 22:44:34 · 97 阅读 · 0 评论 -
Redis 生成唯一码的方式(一)
1、涉及到的表结构CREATE TABLE `int_item_identity` ( `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'ID', `name` varchar(255) NOT NULL COMMENT '名称', `alias` varchar(255) NOT NULL COMMENT '别名', `rule` varchar(255) NOT NULL COMMENT '前缀prefix', `length` bi...原创 2021-03-05 17:22:05 · 492 阅读 · 0 评论 -
spring-boot-starter-data-redis 事务 list 批量 pop 数据
1、依赖包<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> <version>2.3.8.RELEASE</version></dependency> 2、注入@Auto...原创 2021-02-07 17:58:17 · 1320 阅读 · 2 评论 -
分布式全局唯一ID(二)
redis 实现分布式唯一ID,其实这个也很简单,主要使用redis String数据结构的 increment 方法。原理:使用increment方法,每次自加1,主要使用redis的高性能和单线程。实现方式:核心代码如下,若是为了保证长度一致,其实可以预先初始化值。现在的这个是从1,2.....逐渐递增的 /** * 注入Redis字符串模板 */ @Auto...原创 2020-04-13 19:41:44 · 153 阅读 · 0 评论 -
redis 泛型操作(一)
思路: 把对象转字符串进行保存,具体代码如下1、依赖包<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> ...原创 2019-05-24 21:05:19 · 1587 阅读 · 0 评论 -
RedisTempalte 同时连接redis的集群模式和哨兵模式
1、maven 依赖包 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> ...原创 2019-05-13 21:00:22 · 1335 阅读 · 0 评论 -
redis 实现分布式锁(一)
1、依赖包 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> <version>1.5.2...原创 2019-03-16 21:39:03 · 272 阅读 · 0 评论