redis缓存优化
redis缓存优化
一、问题
在Javaweb项目中,如果每次刷新,所有资源都重新从数据库中读取,这样每次效率会很低,在这里可以使用redis非关系型数据库,将一些不经常变化得资源加载进内存中。提高效率。
二、解决办法
在准备查询数据得时候先别从关系型数据库(例如mysql)中查寻,先从redis中查询有没有自己需要得数据,

三、具体操作
public String findAllJson() {
        //1.从redis中查询数据
        Jedis jedis = JedisPoolUtils.getJedis();
        String province_json = jedis.get("province");
        //判断province_json的数据是否为null,如果是,从数据库加载到redis,不是,直接用redis
        if (province_json == null || province_json.length()==0){
            //从数据库中查找
            List<Province> ps = dao.findAll();
            //将list序列化为json,并存入redis中
            ObjectMapper mapper = new ObjectMapper();
            try {
                province_json = mapper.writeValueAsString(ps);
            } catch (JsonProcessingException e) {
                e.printStackTrace();
            }
            //3.将json数据存入redis中
            jedis.set("province",province_json);
            jedis.close();
        }
        return province_json;
    }
四、注意
- 通常使用redis存储一些不经常变化的数据。
 - 在执行增删改操作的时候,需要先将redis中对应的数据删除,再从数据库中更新数据
 
redis缓存优化的更多相关文章
- redis高可用、redis集群、redis缓存优化
		
今日内容概要 redis高可用 redis集群 redis缓存优化 内容详细 1.redis高可用 # 主从复制存在的问题: 1 主从复制,主节点发生故障,需要做故障转移,可以手动转移:让其中一个sl ...
 - Java系统高并发之Redis后端缓存优化
		
一:前端优化 暴露接口,按钮防重复(点击一次按钮后就变成禁用,禁止重复提交) 采用CDN存储静态化的页面和一些静态资源(css,js等) 二:Redis后端缓存优化 Redis 是完全开源免费的,遵守 ...
 - asp.net性能优化之使用Redis缓存(入门)
		
1:使用Redis缓存的优化思路 redis的使用场景很多,仅说下本人所用的一个场景: 1.1对于大量的数据读取,为了缓解数据库的压力将一些不经常变化的而又读取频繁的数据存入redis缓存 大致思路如 ...
 - 如何用分布式缓存服务实现Redis内存优化
		
Redis是一种支持Key-Value等多种数据结构的存储系统,其数据特性是“ALL IN MEMORY”,因此优化内存十分重要.在对Redis进行内存优化时,先要掌握Redis内存存储的特性比如字符 ...
 - Django之使用redis缓存session,历史浏览记录,首页数据实现性能优化
		
Redis缓存session 配置Django缓存数据到redis中 # diango的缓存配置 CACHES = { "default": { "BACKEND&quo ...
 - 总结:如何使用redis缓存加索引处理数据库百万级并发
		
前言:事先说明:在实际应用中这种做法设计需要各位读者自己设计,本文只提供一种思想.准备工作:安装后本地数redis服务器,使用mysql数据库,事先插入1000万条数据,可以参考我之前的文章插入数据, ...
 - redis缓存技术
		
初学redis缓存技术,如果文章写得不好还请谅解 应用环境:win7 实现环境:cmd,eclipse redis缓存技术的特点就在于高效,因为目前涉及的数据量逐渐增多,在对于数据的存储上面和sql以 ...
 - 使用redis缓存加索引处理数据库百万级并发
		
使用redis缓存加索引处理数据库百万级并发 前言:事先说明:在实际应用中这种做法设计需要各位读者自己设计,本文只提供一种思想.准备工作:安装后本地数redis服务器,使用mysql数据库,事先插入1 ...
 - ABP入门系列(13)——Redis缓存用起来
		
ABP入门系列目录--学习Abp框架之实操演练 源码路径:Github-LearningMpaAbp 1. 引言 创建任务时我们需要指定分配给谁,Demo中我们使用一个下拉列表用来显示当前系统的所有用 ...
 
随机推荐
- 小程序redio 样式
			
小程序 radio 不写样式大概是这样的 数据为测试数据. 为了增加用户体验我们一下 美化后大概是这样的 给他设定头部.左边间距 ,和自身最小宽度 上代码: wxml: <radio-group ...
 - SpringBoot之切面AOP
			
SpringBoot提供了强大AOP支持,我们前面讲解过AOP面向切面,所以这里具体AOP原理就补具体介绍: AOP切面主要是切方法,我们一般搞一些日志分析和事务操作,要用到切面,类似拦截器: @As ...
 - Spring基于XML配置AOP
			
目录结构: D:\Java\IdeaProjects\JavaProj\SpringHelloWorld\src\cn\edu\bjut\service\StudentService.java pac ...
 - CCF_ 201312-2_ISBN号码
			
水. #include<cstdio>#include<string>#include<iostream>using namespace std; int main ...
 - Why all application lack a kind of most really charm ?
			
Website and APP we used now are mostly web2.0 applications. While people practise in use, they can n ...
 - ASP.NET Core 2.2 WebApi 系列【九】使用SignalR (作者:tenghao510 )     学习及内容补充
			
原文地址: ASP.NET Core 2.2 WebApi 系列[九]使用SignalR 今天,看到了大牛的这篇博文, 发了一下评论, 我很惊喜, 没想到他很快就回复了我, 而且通过QQ帮助了S ...
 - .NET Core之单元测试(一):入门
			
目录 什么是单元测试 .NET Core中的测试框架 一个最基础的单元测试 我们再看看上面的代码 什么是单元测试 单元测试是对软件中的最小可测试单元进行检查和验证.对于单元测试,要保证测试粒度足够小, ...
 - Docker Compose 模板文件 V2
			
模板文件是使用Compose的核心,默认模板文件名称为docker-compose.yml ,格式为YAML格式. 目录结构 [root@localhost ~]# tree /opt/compose ...
 - HBASE手动触发major_compact
			
1.定时执行脚本#!/bin/bash source /etc/profile sh ./hbase shell <<EOF major_compact 'table_name' EOF ...
 - 动态规划------背包问题(c语言)
			
/*背包问题: 背包所能容纳重量为10:共五件商品,商品重量用数组m存储m[5]={2,2,6,5,4}, 每件商品的价值用数组n存储,n[5]={6,3,5,4,6};求背包所能装物品的最大价值. ...