潍坊网站建设一站式服务,在哪些软件上建设网站,wordpress后台打开时间长,网站建设法规政策Redis缓存与从数据取数据性能比较
为什么使用Redis
使用Redis缓存数据有多个原因#xff0c;包括提高性能、降低数据库负载、减少响应时间和支持临时数据存储等。以下是一些主要原因以及Redis缓存的工作原理和好处#xff1a;
1. 提高性能#xff1a; 数据库查询通常是一…Redis缓存与从数据取数据性能比较
为什么使用Redis
使用Redis缓存数据有多个原因包括提高性能、降低数据库负载、减少响应时间和支持临时数据存储等。以下是一些主要原因以及Redis缓存的工作原理和好处
1. 提高性能 数据库查询通常是一个相对较慢的操作特别是当数据库中的数据量很大时。通过将常用的数据存储在Redis缓存中可以大大提高读取数据的速度因为Redis以内存为基础读写速度非常快。
2. 降低数据库负载 当大量请求同时访问数据库时数据库服务器的负载会增加。通过使用Redis缓存可以减少对数据库的频繁查询从而减轻数据库服务器的负载提高其稳定性和可扩展性。
3. 减少响应时间 缓存可以减少客户端请求的响应时间。当需要访问的数据已经在Redis缓存中存在时不必执行昂贵的数据库查询直接从缓存中获取数据这可以显著减少响应时间。
4. 支持临时数据存储 Redis支持设置键的过期时间这意味着您可以将数据存储在Redis中并为其设置一个超时时间。这对于存储临时性数据非常有用如会话数据、验证码等。一旦数据不再需要它会自动从Redis中移除不需要手动清理。
Redis的工作原理
Redis是一个内存键值存储数据库它将数据存储在内存中因此读取和写入数据非常快速。以下是Redis的基本工作原理 数据存储 Redis使用键值对的方式存储数据每个键都关联一个特定的值。这些值可以是字符串、列表、集合、哈希表等。 内存存储 Redis将数据存储在内存中这使得数据的读取和写入非常快速。但要注意由于内存是有限的因此Redis适用于相对较小的数据集。为了处理更大的数据集可以使用Redis的持久化机制将数据定期写入磁盘。 缓存淘汰策略 当Redis的内存用尽时它可以根据一些缓存淘汰策略来自动清理不再使用的数据以腾出内存空间。这可以防止内存溢出。 持久化 Redis支持持久化可以将数据保存到磁盘以便在服务器重启时恢复数据。有两种主要的持久化方式RDB快照和AOF日志。
数据测试
单独从数据取8000左右条数据
单独从数据库读取
接口代码
GetMapping(/get)public BaseResponseListSentences get(){System.out.println(UserHolder.getValue());return ResultUtils.success(sentencesService.list());}直接读取的速度如图 利用Redis读取
接口逻辑如果是首次获取那么从数据库获取从数据库获取后会把数据返回给前端同时会把数据存储到Redis中进行缓存。而如果Redis中有数据的话那么就会直接从Redis中提取数据并且返回给前端。
接口代码 GetMapping(/getByRedis)public BaseResponseListSentences getByRedis(){System.out.println(UserHolder.getValue());String sentencesConstant test:redis:sentences;ListSentences sentencesList (ListSentences)redisTemplate.opsForValue().get(sentencesConstant);if(sentencesList null || BeanUtil.isEmpty(sentencesList)){ListSentences result sentencesService.list();redisTemplate.opsForValue().set(sentencesConstant,result,30, TimeUnit.MINUTES);return ResultUtils.success(result);}redisTemplate.expire(sentencesConstant,30,TimeUnit.MINUTES);return ResultUtils.success(sentencesList);}第一次请求所用时间 第二、三次 这样子利用Redis缓存速度确实会快很多