Redis分布式缓存
Redis是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件。 它支持丰富的数据结构,如字符串(strings)、散列(hash)、 列表(lists)、 集合(sets)、 有序集合(sorted sets)等。
丶从此过客
了无牵挂者忘生,心有所爱者忘死
展开
-
Redis - 一个简单的抢红包小项目
文章目录Redis - 一个简单的抢红包小项目1.项目分析Redis - 一个简单的抢红包小项目1.项目分析 抢红包功能在如今已经是一个社交产品不可或缺的功能了,包括微信、支付宝等等各大厂商软件都实现了抢红包的这个功能。实现抢红包的方式有很多种,但其实这也是属于Redis的一个比较常见的应用场景。这里我们就围绕着Redis技术来实现抢红包这个功能。 实现抢红包这个功能,我们就得先分析清楚...原创 2019-07-28 18:19:22 · 1741 阅读 · 9 评论 -
Redis - 一个简单的排行榜小项目
文章目录Redis - 一个简单的排行榜小项目1.项目分析2.项目准备3.项目编写4.项目验证5.扩展点(ApplicationRunner/InitializingBean)Redis - 一个简单的排行榜小项目1.项目分析 排行榜功能是一个比较常见的场景,比如我们平时生活中的用户积分排行榜、用户活跃度排行榜、游戏中的战力排行榜等这些都是排行榜的具体表现。这些场景都有几个基本也是共同点,...原创 2019-07-22 18:57:22 · 1519 阅读 · 0 评论 -
Redis - 布隆过滤器
在之前我们提及过布隆过滤器这个概念,回顾一下当时是在了解缓存穿透的时接触到了这个概念。在没有引入布隆过滤器这个概念时,我们可以通过其他的一些途径解决缓存穿透这个问题。例如我们现在需要获取用户数据,参数中包含用户ID,若某个请求中传递了一个我们数据库中不存在的用户ID,那么这个请求无论请求多少次都会穿透缓存命中DB,当然我们可以通过缓存空值去尽量避免这个问题。但是我们还可以通过一种思路去解决,我们在代码中维护一个内存数据结构(List/Set/Map),在项目启动时将数据库中存在的用户ID维护到一个集合中,则原创 2019-07-19 10:34:18 · 899 阅读 · 0 评论 -
Redis - 缓存持久化原理以及数据过期策略
RDB(Redis DataBase)是将Redis指定的时间间隔内将内存中的数据集快照写入磁盘,也是默认的持久化方式,这种方式是就是将内存中数据以快照的方式写入到二进制文件中,默认的文件名为`dump.rdb`。Redis在进行数据持久化的过程中,会先将数据写入到一个临时RDB文件中,持久化过程结束后会将这个临时文件替换上次持久化好的文件。通过这种特性我们可以随时来进行备份,因为快照文件总是完整可用的。原创 2019-07-12 16:13:14 · 666 阅读 · 0 评论 -
Redis - 高可用集群扩展
对于Redis官方提供的cluster模式虽然我们在现在使用起来并不是十分困难,但是有一些思路是值的我们探讨的。我们知道,Redis是从3.x之后官方才开始推出master-cluster集群支持,这项技术的推出并不是无中生有,肯定是在这之前已经有很多场景需要这种技术去支持。其实在3.x之前一些具备一定能力的公司为了应付这样的场景,会自己去实现一套高可用集群的方案。原创 2019-07-10 19:29:07 · 318 阅读 · 0 评论 -
Redis - 架构演变(主从、哨兵、集群)
文章目录Redis - 架构演变1.单节点模式2.主从架构2.1 主从搭建Redis - 架构演变 由于Redis是基于内存的高性能KV数据库,这些年随时Redis的快速发展,更多的技术开发者将Redis融入自己的实际项目中。为了应对各式各样的业务场景保证数据更加稳定安全,各种高可用架构以及优化方案不断改进,导致Redis的整个架构体系也有了一个演变过程。集群模式是近年来Redis架构不断改...原创 2019-07-09 18:04:57 · 1012 阅读 · 0 评论 -
Redis - 分布式锁实现以及相关问题解决方案
文章目录Redis - 实现分布式锁1.分布式锁是什么?1.1 分布式锁设计目的1.2 分布式锁设计要求1.3 分布式锁设计思路2.分布式锁实现Redis - 实现分布式锁1.分布式锁是什么? 分布式锁是控制分布式系统或不同系统之间共同访问共享资源的一种锁实现。如果不同的系统或同一个系统的不同主机之间共享了某个资源时,往往通过互斥来防止彼此之间的干扰。实现分布式锁的方式有很多,可以通过各种...原创 2019-07-04 17:01:40 · 3845 阅读 · 4 评论 -
Redis - 缓存穿透以及缓存雪崩
当我们使用一项技术时,我们就需要对它有一定的了解,知道我们为什么要去使用它,能够分析使用这项技术所带来的的回报以及我们所需要付出的代价。原创 2019-06-25 18:02:34 · 161 阅读 · 0 评论 -
Redis - 事务机制
说到事务那就不得不提一下大家都十分熟悉的传统关系型数据库中的事务机制。一个数据库事务通常包含了一系列对数据库的读/写操作。而事务的存在主要包含以下两个目的:1. 当多个应用程序在并发访问数据库时,可以在这些应用程序之间提供一个隔离方法,防止彼此操作的互相干扰。2. 为数据库操作序列提供了一个从失败中恢复到正常状态的方法,同时提供了数据库即使在异常状态下仍能保持一致性的方法。原创 2019-06-25 16:53:07 · 304 阅读 · 0 评论 -
Redis - 五种数据类型以及消息发布订阅
想要使用Redis,那对它的数据类型必须了如指掌,它支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合)。这里我们就来看看这些数据类型是怎样的并且是如何使用的。这里列举的命令指示部分常用命令,完整的大家参考官方文档以及其他资料。原创 2019-06-24 19:46:56 · 2100 阅读 · 2 评论 -
Redis- Linux环境安装及使用
什么是Redis?Redis是一个可以持久化的缓存框架,支持分布式缓存,简单易用。类似的框架还有memcached,是一个Key-Value形式存储的缓存框架。可以作为缓存的框架有:EHCacheMongoDB 更偏向存储,而不是缓存Redis 更偏向于缓存,而非存储MemcachedRedis的安装和配置1、先安装gccyum -y install gcc...原创 2018-01-11 11:14:19 · 35522 阅读 · 0 评论 -
Redis - 走进分布式缓存的世界
Redis是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件。 它支持丰富的数据结构,如字符串(strings)、散列(hash)、 列表(lists)、 集合(sets)、 有序集合(sorted sets)等。它还支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。发展到目前Redis远远不是一个简单的缓存,它还支持主从模式、读写分离、集群模式等丰富强大的功能。原创 2019-06-21 15:55:40 · 208 阅读 · 0 评论 -
JedisPool工具类及使用
项目中需要用到缓存减少数据库压力,选择redis作为工具,构建一个jedis池达到实际效果1.JedisPoolCacheUtils dependency> groupId>redis.clientsgroupId> artifactId>jedisartifactId> version>2.9.0v原创 2018-01-10 17:44:01 · 51888 阅读 · 6 评论