
【Redis-入门到精通】
文章平均质量分 72
Rdis从入门到精通,实例讲解,实战讲解
小小工匠
show me the code ,change the world
展开
-
每日一博 - 闲聊架构设计中的多级缓存设计
从客户端到服务层,缓存的应用广泛而重要。通过合理的缓存设计,能够有效地提高系统的性能并降低延迟。多级缓存设计在微服务架构中扮演着至关重要的角色。在具体应用中,架构师应根据业务需求、系统规模和性能指标来选择合适的缓存策略。在缓存设计中,平衡性能和复杂度是一个重要的考虑因素。原创 2024-05-05 17:06:23 · 4926 阅读 · 0 评论 -
Redis - 超越缓存的多面手
这些只是Redis的一些常见用途示例,它的灵活性和性能使得它在各种不同的应用场景中都能发挥作用,包括Web应用、分布式系统、实时分析等。Redis是一个高性能的缓存数据库,可用于缓存常用的数据或页面,减轻后端服务器负载,提高应用程序响应速度。使用Redis的分布式锁功能,不同服务之间可以协调并避免重复执行特定任务,确保数据一致性。使用Redis的位图功能,可以跟踪用户的每日登录情况,并进一步分析用户留存率和行为。Redis中的自增计数器可用于生成全局唯一的ID,特别是在分布式系统中。原创 2023-09-16 06:30:00 · 9349 阅读 · 0 评论 -
缓存 - Spring Boot 整合 Caffeine 不完全指北
创建缓存常量类,把公共的常量提取一层,复用,这里也可以通过配置文件加载这些数据,例如@ConfigurationProperties和@Value。方法时,首先会检查缓存中是否存在与给定参数对应的数据。如果不存在,则会执行方法体内的业务逻辑,并将结果放入缓存。确保选择与您的Spring Boot版本兼容的Caffeine版本。这就是在Spring Boot中整合Caffeine缓存的基本步骤。的Caffeine缓存,最大容量为100,访问后在600秒内过期。在需要使用缓存的地方,使用。原创 2023-07-11 20:00:56 · 13941 阅读 · 0 评论 -
缓存 - Caffeine 不完全指北
Caffeine是一个用于Java应用程序的高性能缓存框架。它提供了一个强大且易于使用的缓存库,可以在应用程序中使用,以提高数据访问的速度和效率。下面是一些Caffeine缓存框架的主要特点:高性能:Caffeine的设计目标之一是提供卓越的性能。它通过使用高效的数据结构和优化的算法来实现快速的缓存访问。与其他一些常见的缓存框架相比,Caffeine在缓存访问的速度和响应时间上表现出色。内存管理:Caffeine提供了灵活的内存管理选项。它支持基于大小、基于数量和基于权重的缓存大小限制。原创 2023-07-11 19:25:07 · 14453 阅读 · 0 评论 -
Redis - CLUSTER命令中集群管理命令详解
除了集群管理程序之外,Redis还提供了一簇以CLUSTER开头的集群命令,这些命令可以根据它们的作用分为集群管理命令和槽管理命令,前者管理的是集群及其节点,而后者管理的则是节点的槽分配情况。Redis的集群管理程序redis-cli--cluster实际上就是由CLUSTER命令实现的,所以这两者之间存在着千丝万缕的关系,某些redis-cli --cluster子命令甚至直接与某个CLUSTER子命令对应。 之所以在了解了Redis集群管理程序之后仍然需要了解CLUSTER命令,是因为在某些情况下,Re原创 2022-07-17 23:54:03 · 38489 阅读 · 1 评论 -
Redis - 管理工具 redis-cli 详解
Redis官方为管理集群提供了两种工具 ,一种是redis-cli客户端附带的集群管理程序,另一种则是Redis内置的集群管理命令原创 2022-07-17 17:22:17 · 38608 阅读 · 0 评论 -
Redis - CLUSTER命令中槽管理命令详解
对CLUSTER命令中与槽管理有关的命令,如CLUSTER SLOTS、CLUSTER ADDSLOTS、CLUSTER FLUSHSLOTS等进行介绍原创 2022-07-13 00:45:00 · 38551 阅读 · 0 评论 -
Redis - 适配全国产操作系统的那些坑
文章目录JEMALLOCJEMALLOC原创 2021-03-18 00:54:29 · 20157 阅读 · 3 评论 -
Redis-01Redis概述
思维导图Redis在Java互联网项目中的作用安装 Redis思维导图Redis在Java互联网项目中的作用在传统的 Java Web 项目中,使用数据库进行存储数据,弊端主要来自于性能方面。 由于数据库持久化数据主要是面向磁盘,而磁盘的读/写比较慢,如果不存在高并发,因此往往没有瞬间需要读/写大量数据的要求,这 个时候使用数据库进行读/写是没有太大的问...原创 2018-08-21 21:02:20 · 15355 阅读 · 0 评论 -
Redis-02Redis在linux下的安装及常见问题
文章目录新建redis用户安装Redismake 错误一 未安装gccmake 错误二 jemalloc整理文件启动redis以默认的方式启动redis指定redis.conf启动redis后台方式启动redis新建redis用户使用root用户登录虚机,添加用户并设置密码#添加用户 [也可以通过-u -g -d参数指定特定的值来创建用户[root@artisan ~]# use...原创 2018-09-19 13:18:43 · 16596 阅读 · 0 评论 -
Redis-03Redis数据结构--全局命令及字符串string
在了解具体的数据结构类型之前,我们有必要了解下Redis提供的操作key的全局命令、 数据结构和内部编码、 单线程命令处理机制,都有助于加深对Redis的理解。原创 2018-09-20 00:21:31 · 15627 阅读 · 1 评论 -
Redis-04Redis数据结构--哈希hash
文章目录哈希概述客户端操作hashRedis hash 结构命令哈希概述Redis 中哈希结构就如同 Java 的 map 一样 , 一个对象里面有许多键值对,它是特别适合存储对象的.如果内存足够大 ,那么一个 Redis 的 hash 结构可以存储2的32次方-1个键值对 ( 40多亿)。在 Redis 中, hash 是一个 String 类型的 field 和 value 的映射表,...原创 2018-09-20 17:59:52 · 15270 阅读 · 0 评论 -
Redis-05Redis数据结构--链表( linked-list)
文章目录概述Redis 关于链表的命令概述链表结构是 Redis 中一个常用的结构,它可以存储多个字符串它是有序的能够存储2的32次方减一个节点(超过 40 亿个节点)Redis 链表是双向的,因此即可以从左到右,也可以从右到左遍历它存储的节点链表结构查找性能不佳,但 插入和删除速度很快由于是双向链表,所以只能够从左到右,或者从右到左地访问和操作链表里面的数据节点。 但是使用链表...原创 2018-09-20 22:18:14 · 16553 阅读 · 0 评论 -
Redis-06Redis数据结构--集合Set
文章目录概述概述Redis 的集合不是一个线性结构,而是一个哈希表结构,它的内部会根据 hash 分子来存储和查找数据,理论上一个集合可以存储2的32次方减一(约42亿)个元素。因为采用哈希表结构,所以对于 Redis 集合的插入、删除和查找的复杂度都是 0(1),只是我们需要注意 3 点对于集合而言,它的每一个元素都是不能重复的,当插入相同记录的时候都会失败集合是无序的集合的每一个...原创 2018-09-26 13:17:54 · 15129 阅读 · 0 评论 -
Redis-07Redis数据结构--有序集合ZSet
文章目录概述Redis 有序集合的部分命令概述有序集合和无序集合的命令是接近的,只是在这些命令的基础上,会增加对于排序的操作,这一点在使用的时候需要注。有些时候 Redis 借助数据区间的表示方法来表示包含或者不包含,比如在数学的区间表示中[2,5 ]表示包含 2,但是不包含 5 的 区间。Redis 有序集合的部分命令官网: https://redis.io/commands#sor...原创 2018-09-26 16:49:16 · 16189 阅读 · 0 评论 -
Redis-08Redis数据结构--基数HyperLogLog
文章目录概述Redis 的 Hyperloglog 命令Spring 中操作基数注意代码概述基数是一种算法。举个例子 , 一本英文著作由数百万个单词组成,你的内存却不足以存储它们,那么我们先分析一下业务。英文单词本身是有限的,在这本书的几百万个单词中有许许多多重复单词 ,扣去重复的单词,这本书中也就是几千到一万多个单词而己,那么内存就足够存储它们 了。比如数字集合{1,2,5,7,9, 1,...原创 2018-09-27 00:13:14 · 14869 阅读 · 0 评论 -
Redis-09Redis的基础事务
文章目录概述Redis 事务命令概述和其他大部分的 NoSQL 不同,Redis 是存在事务的,尽管它没有数据库那么强大,但是它还是很有用的,尤其是在那些需要高并发的网站当中 ,使用 Redis 读/写数据要比数据库快得多,如果使用 Redis 事务在某种场合下去替代数据库事务,则可以在保证数据一致性的同时,大幅度提高数据读/写 的响应速度。互联网系统很多用户同时访问服务器的可能性很大,尤其...原创 2018-09-27 10:53:39 · 15383 阅读 · 1 评论 -
Redis-10Redis的事务回滚
文章目录概述场景一: 命令格正确,数据类型错误场景二:命令格式错误概述对于 Redis 而言,不单单需要注意其事务处理的过程,其回滚的能力也和数据库不太一样,这也是需要特别注意的一个问题一Redis 事务遇到的命令格式正确而数据类型不符合 ,如下所示。场景一: 命令格正确,数据类型错误127.0.0.1:6379> FLUSHDBOK127.0.0.1:6379> MULT...原创 2018-09-27 14:24:06 · 22749 阅读 · 4 评论 -
Redis-11使用 watch 命令监控事务
文章目录概述Redis watch流程ABA问题使用watch成功提交的事务的案例使用watch回滚的事务的案例概述在 Redis 中使用 watch 命令可以决定事务是执行还是回滚。一般而言,可以在 multi 命令之前使用 watch 命令监控某些键值对,然后使用 multi 命令开启事务,执行各类对数据结构进行操作的命令,这个时候这些命令就会进入队列。当 Redis 使用 exec ...原创 2018-09-27 16:08:49 · 16696 阅读 · 1 评论 -
Redis-12Redis 流水线( pipeline )
文章目录概述JavaAPI 操作Redis PipelineSpring操作Redis Pipeline代码概述Redis 的事务的各类问题,在事务中 Redis 提供了队列, 这是一个可以批量执行任务的队列,这样性能就比较高,但是使用 multi…exec 事务命令是有系统开销的,因为它会检测对应的锁和序列化命令。有时候我们希望在没有任何附加条件的场景下去使用队列批量执行一系列的命令,从而...原创 2018-09-27 19:56:19 · 15704 阅读 · 2 评论 -
Redis-13Redis发布订阅
文章目录概述客户端操作概述当使用银行卡消费的时候,银行往往会通过微信、短信或邮件通知用户这笔交易的信息,这便是一种发布订阅模式, 1这里的发布是交易信息的发布,订阅则是各个渠道。这在实际工作中十分常用, Redis 支持这样的一个模式。Redis 发布订阅(pub/sub)是一种消息通信模式:发送者(pub)发送消息,订阅者(sub)接收消息。观察者模式就是这个模式的典型应用。Redis...原创 2018-09-27 22:17:37 · 15107 阅读 · 0 评论 -
Redis-14Redis超时命令
文章目录概述概述正如 Java 虚拟机,它提供 GC的功能,来保证 Java 程序使用过且不再使用的 Java 对象及时的从内存中释放掉,从而保证内存空间可用。当程序编写不当或考虑欠缺的时候(比如读入大文件),内存就可能存储不下运行所需要的数据,那么 Java虚拟机就会抛出内存溢出的异常而导致服务失败。同样, Redis 也是基于内存而运行的数据集合,也存在着对内存垃圾的回收和管理的问题。R...原创 2018-09-28 12:03:20 · 16599 阅读 · 5 评论 -
Redis-15Redis基础配置文件
文章目录概述Redis CONFIG 命令Redis redis.conf文件概述Redis 的配置文件放置在其安装目录下,如果是 Windows 系统,则默认的配置文件就是 redis .window.conf 如果是 Linux 系统,则是 redis.conf。在大部分的情况下我们都使用到Linux 环境,这里我们以linux环境为例。Redis CONFIG 命令可以通过 C...原创 2018-09-28 16:07:31 · 15342 阅读 · 0 评论 -
Redis-16Redis备份(持久化)
文章目录概述概述在 Redis 中存在两种方式的备份 :RDB 快照(snapshotting), 它是备份当前瞬间 Redis在内存中的数据记录。Redis的默认方式。采用RDB持久化时服务器只会保存一个RDB文件,方便维护。AOF 只追加文件( Append-Only File , AOF ) , 其作用就是当 Redis执行写命令后,在一定的条件下将执行过的写命令依次保存...原创 2018-09-28 20:49:44 · 15399 阅读 · 0 评论 -
Redis-17Redis内存回收策略
文章目录概述maxmemory-policy 参数概述Redi s 也会因为内存不足而产生错误 , 也可能因为回收过久而导致系统长期的停顿,因此掌握执行回收策略十分有必要。在 Redis 的配置文件中,当 Redis 的内存达到规定的最大值时,允许配置 6 种策略中的一种进行淘汰键值,并且将一些键值对进行回收。maxmemory-policy 参数# Set a memory usage...原创 2018-09-28 23:21:12 · 17311 阅读 · 0 评论 -
Redis-19Redis哨兵Sentinel模式-Centos6.5上3台主机1主2从3哨兵的配置及通过代码访问哨兵
文章目录概述环境Sentinel环境搭建概述Redis主从模式当主服务器右机后,需要手动把一台从服务器切换为主从服务器,这就需要人工干预,既费时费力,会造成一段时间内服务不可用,不推荐使用。 可以使用哨兵模式或者集群模式。 这里我们来探讨哨兵模式。Redis 可以存在多台服务器,并且实现了主从复制的功能。哨兵模式是一种特殊的模式,首先 Redis 提供了哨兵的命令,哨兵是一个独立 的进程,...原创 2018-09-29 17:24:07 · 16654 阅读 · 0 评论 -
Redis-20Spring缓存机制整合Redis
文章目录Redis 和数据库读Redis和数据库写Redis 和数据库读数据缓存往往会在 Redis 上设置超时时间,当设置 Redis 的数据超时后, Redis 就没法读出数据了 , 这个时候就会触发程序读取数据库 , 然后将读取的数据库数据写入 Redis (此时会给 Redis 重设超时时间 ),这样程序在读取的过程中就能按一定的时间间隔刷新数据了。Redis和数据库写...原创 2018-10-07 21:51:58 · 15354 阅读 · 0 评论 -
Spring Cache-缓存注解(二)
文章目录导读概述注解@Cacheable 和@CachePut导读Spring-Cache手札Spring Cache抽象-缓存注解实战-Redis-20Spring缓存机制整合Redis关于Spring Cache以及注解,之前总结了几篇。现在我们再来细化下概述注解描述@Cacheable表明在进入方法之前, Spring 会先去缓存服务器中查找对应 key...原创 2018-10-08 00:57:47 · 16718 阅读 · 0 评论 -
高并发-【抢红包案例】之一:SSM环境搭建及复现红包超发问题
文章目录概述抢红包案例案例关注点库表设计概述电商的秒杀、抢购,春运抢票,微信QQ抢红包,从技术的角度来说,这对于Web 系统是一个很大的考验. 高并发场景下,系统的优化和稳定是至关重要的.互联网的开发包括 Java 后台、 NoSQL、数据库、限流、CDN、负载均衡等内容, 目前并没有权威性的技术和设计,有的只是长期经验的总结,但是使用这些经验可以有效优化系统,提高系统的并发能力.我们接...原创 2018-10-09 00:39:02 · 40988 阅读 · 35 评论 -
高并发-【抢红包案例】之二:使用悲观锁方式修复红包超发的bug
文章目录概述超发问题分析使用数据库锁的解决方案使用悲观锁(排它锁 for update)使用乐观锁(依靠表的设计和代码)总结悲观锁(抽象的描述,不真实存在这个锁)共享锁(S锁)排他锁(X锁)代码改造分析RedPacketDao新增接口方法RedPacket.xml配置映射文件Service层调用新的Dao方法还原数据,部署测试统计报告注意事项代码概述高并发–【抢红包案例分析和代码实现以及各种...原创 2018-10-09 14:44:31 · 17152 阅读 · 5 评论 -
高并发-【抢红包案例】之三:使用乐观锁方式修复红包超发的bug
文章目录导读乐观锁CAS 原理ABA问题导读高并发-【抢红包案例】之一:SSM环境搭建及复现红包超发问题高并发-【抢红包案例】之二:使用悲观锁方式修复红包超发的bug接下来我们使用乐观锁的方式来修复红包超发的bug乐观锁乐观锁是一种不会阻塞其他线程并发的机制,它不会使用数据库的锁进行实现,它的设计里面由于不阻塞其他线程,所以并不会引发线程频繁挂起和恢复,这样便能够提高并发能力,也称...原创 2018-10-09 22:43:23 · 17864 阅读 · 5 评论 -
高并发-【抢红包案例】之四:使用Redis+Lua脚本实现抢红包并异步持久化到数据库
文章目录导读概述导读高并发-【抢红包案例】之一:SSM环境搭建及复现红包超发问题高并发-【抢红包案例】之二:使用悲观锁方式修复红包超发的bug高并发-【抢红包案例】之三:使用乐观锁方式修复红包超发的bug概述上面三篇博文是使用的MySql数据库来作为数据的载体数据最终会将数据保存到磁盘中,而Redis使用的是内存,内存的速度比磁盘速度肯定要快很多.对于使用 Redis实现抢红包,...原创 2018-10-10 21:50:41 · 18669 阅读 · 3 评论 -
Redis-21Redis集群模式-Centos6.5上3台主机3主3从的配置及通过代码访问集群
文章目录概述概述前面几篇博文介绍了 Redis主从 、 Redis哨兵模式 , 现在我们来了解下更加牛逼的Redis集群模式。集群的主要目的是解决可扩展性。在Redis3.0之前(3.0版本开始支持集群功能)主要是通过客户端分片、代理协助分片(Twemproxy)、查询路由、预分片、一致性哈希、客户端代理/转发等方式来支持。Redis集群通过Hash槽、查询路由、节点互联的混合模式、保证...原创 2018-10-14 22:38:26 · 16576 阅读 · 0 评论 -
Redis-22Redis-集群管理
文章目录概述redis-trib.rb使用帮助创建集群(create)功能参数示例注意事项增加节点(add-node)功能参数示例删除节点(del-node)功能参数示例分片迁移(reshard)功能参数示例数据导入(import)功能参数示例分片检查(check)功能参数示例分片修复(fix)功能参数示例修改节点超时时长(set-timeout)功能参数示例调用节点命令(call)功能参数示例集...原创 2018-10-20 23:09:46 · 15737 阅读 · 0 评论