Redis的缓存优化案例

本文通过一个实际案例介绍了如何使用Redis进行缓存优化,以减少对数据库的依赖。在页面加载时,首先尝试从Redis缓存中获取省份信息,若缓存存在则直接响应,否则查询数据库并存入缓存。通过这种方式,显著提高了查询效率并降低了数据库负载。
摘要由CSDN通过智能技术生成

1.准备事项

需求简要:在index.html中添加一个下拉列表,显示省份信息。当页面加载完成后,发送ajax请求,从服务器端获取数据回显到页面。在服务器端使用Redis缓存优化(在服务器接收到客户端的请求后,会先去缓存中找数据如果缓存中有该数据,则直接响应给客户端,不会使用数据库的资源。如果缓存中没有该数据,则再去使用数据库的资源去找数据并将该数据存储在缓存中以供下次使用)。

参考文档
(1)非关系型数据库Redis的入门学习。https://blog.csdn.net/q961250375/article/details/102680405
(2)Jedis学习,一款Java操作Redis数据库的工具。https://blog.csdn.net/q961250375/article/details/102688899

案例源码下载【百度网盘mnlq】

2.案例实现

2.1.创建数据库

CREATE DATABASE demo CHARACTER SET utf8 COLLATE utf8_general_ci;
USE demo;
CREATE TABLE province(
	id INT PRIMARY KEY AUTO_INCREMENT,
	name VARCHAR(20) NOT NULL
)CHARACTER SET utf8 COLLATE utf8_general_ci;
-- 插入数据
INSERT INTO province VALUES(NULL,"北京");
INSERT INTO province VALUES(NULL,'上海');
INSERT INTO province VALUES(NULL,'广州');
INSERT INTO province VALUES(NULL,'深圳');
INSERT INTO province VALUES(NULL,'湖北');

在这里插入图片描述

2.2.项目结构及相关Jar包

在这里插入图片描述
在这里插入图片描述

2.3.项目具体代码

(1)数据库连接池配置文件:druid.properties

driverClassName=com.mysql.jdbc.Driver
url=jdbc:mysql:///demo
username=root
password=root
initialSize=5
maxActive=10
maxWait=3000

(2)Redis连接池配置文件:jedis.properties

host=127.0.0.1
port=6379
maxTotal=50
maxIdle=10

(3)JDBC工具类:JDBCUtils

package com.atlantis.util;

import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;
import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;

/**
 * JedisPoolUtils
 * 记载配置文件,配置连接池参数,提供获取连接的方法
 */
public class JedisPoolUtils {
   
    private static JedisPool jedisPool;

    static {
   
        // 读取jedis.properties配置文件
        InputStream inputStream = JedisPoolUtils.class.getClassLoader().getResourceAsStream("jedis.properties");
        // 创建Properties对象
        Properties properties = new Properties();
        // 关联配置文件
        try {
   
            properties.load(inputStream);
        } catch
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值