Redis分布式缓存最佳实践
文章平均质量分 91
青木编码
技术,经验分享,在平台跟大家相互学习,共同进步
展开
-
09-Redis知识点分体分析及常见问题总结
基础知识点及常见问题原创 2022-06-10 08:41:53 · 141 阅读 · 0 评论 -
08-Redis在SpringBoot工程中的综合应用
从一个博客数据库中查询所有的文章标签,然后存储到缓存(Cache),后续查询时可从缓存获取。提高其查询性能。初始化数据库中数据,SQL脚本如下:添加项目依赖在jt-template工程的原有依赖基础上添加mysql数据库访问依赖,例如:添加数据库访问配置在项目的配置文件(例如application.yml)中添加数据库访问配置,例如:业务逻辑代码设计及实现Domain对象设计创建一个Tag类,基于此类型的对象存储Tag(标签信息),代码如下:Dao 逻辑对象设计创建Tag信息的数据访问接口原创 2022-06-10 08:35:18 · 85 阅读 · 0 评论 -
07-Java中本地缓存实现(课后拓展练习)
我们在设计Cache时,一般会先设计一个接口,定义一套规范,例如:Cache默认存储设计设计一个Cache的默认存储对象,主要用于存储数据,例如:SynchronizedCache 设计及实现线程安全的Cache设计及实现,例如:LoggingCache 设计及实现实际工作中我们经常要分析和监控缓存的命中率,例如我们设计了缓存,但为什么还是查询了数据库,有多少请求数据来自缓存,多少请求查询了数据库等,此时需要一个基于日志进行分析的一个过程,因此LoggingCache对象诞生,例如:FifoC原创 2022-06-10 08:31:31 · 83 阅读 · 0 评论 -
06-Redis架构设计应用实践
单个Redis支持的读写能力还是有限的,此时我们可以使用多个redis来提高redis的并发处理能力,这些redis如何协同,就需要有一定的架构设计,这里我们首先从主从(Master/Slave)架构进行分析和实现.redis主从架构如图所示:其中,master负责读写,并将数据同步到salve,从节点负责读操作.基于redis,设计一主从架构,一个Master,两个Slave,其中Master负责Redis读写操作,并将数据同步到Slave,Slave只负责读.,其步骤如下:第一步:删除所有原有的r原创 2022-06-10 08:30:12 · 93 阅读 · 0 评论 -
05-Redis 事务处理实践
事务是一个业务,也可以看成是一个逻辑工作单元,是为了保证业务的完整,数据的正确而推出的一种控制机制,原则上来讲,事务必须要满足ACID四个特性(原子性,一致性,隔离性,持久性),在多个事务在并发执行,为更好保证事务的四个特性的实现,通常会对事务加锁,Redis为了性能,采用了乐观锁方式进行事务控制,它使用watch命令监视给定的key,当exec(提交事务)的时候,如果监视的key从调用watch后发生过变化,则整个事务会失败。也可以调用watch多次监视多个key。注意watch的key是对整个连接有效原创 2022-06-10 08:28:50 · 65 阅读 · 0 评论 -
04-Redis 数据持久化实践
Redis是一种内存数据库,在断电时数据可能会丢失。比如你redis整个挂了,然后redis不可用了,如果没有持久化的话,redis就会丢失所有的数据,如果通过持久化将数据搞一份儿到磁盘上去,然后再定期同步到一些云存储服务上去,那么就可以保证一些数据不丢失,保证数据的可靠性。Redis中为了保证在系统宕机(类似进程被杀死)情况下,能更快的进行故障恢复,设计了两种数据持久化方案,分别为rdb和aof方式。第一步:从redis.io官方下载对应版本的redis.conf文件,地址如下(假如下载不下来从code上原创 2022-06-10 08:27:38 · 148 阅读 · 0 评论 -
03-Java中操作redis实践
Redis 是一种C/S 架构的分布式缓存数据库,它有自带的命令行客户端,也有对应的Java或其它语言客户端,可以在这些客户端中通过一些API对redis进行读写操作。第一步:创建工程。创建maven父工程,例如03-redis,并在此工程下创建两个子工程,一个为redis-jedis,一个为redis-template,例如:第二步:添加父工程依赖修改父工程pom.xml文件,添加编译配置Jedis的基本应用简介Jedis是Java中操作redis的一个客户端,类似通过jdbc访问mysql数据库。原创 2022-06-10 08:26:30 · 647 阅读 · 0 评论 -
02-Redis常用数据类型
Redis作为一种key/value结构的数据存储系统,为了便于对数据进行进行管理,提供了多种数据类型。然后,基于指定类型存储我们项目中产生的数据,例如用户的登陆信息,购物车信息,商品详情信息等等。Reids中基础数据结构包含字符串、散列,列表,集合,有序集合。工作中具体使用哪种类型要结合具体场景。字符串类型是redis中最简单的数据类型,它存储的值可以是字符串,其最大字符串长度支持到512M。基于此类型,可以实现博客的字数统计,将日志不断追加到指定key,实现一个分布式自增iid,实现一个博客的的点赞操作原创 2022-06-10 08:25:03 · 64 阅读 · 0 评论 -
01-Redis缓存入门
我们现在的项目架构中,基本上是Web服务器(Tomcat)和数据库独立部署,独占服务器资源,随着用户数的增长,并发读写数据库,会加大数据库访问压力,导致性能的下降,严重时直接导致系统宕机,例如:此时,我们可以在Tomcat同服务器上中增加本地缓存,并在外部增加分布式缓存,缓存热门数据。也就是通过缓存能把绝大多数请求在读写数据库前拦截掉,大大降低数据库压力。例如:基于这样的一种架构设计,于是类似redis的一些分布式数据库就诞生了。Redis(Remote Dictionary Server )即远程字典服原创 2022-06-09 17:15:21 · 80 阅读 · 0 评论