Redis缓存的解析

本文探讨了在高访问量下数据库压力问题的解决方案,介绍了SpringDataRedis在项目中的应用,包括Redis的基本概念、Jedis客户端使用、SpringDataRedis的功能特性,以及在不同数据类型上的操作示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

项目中常见的问题

我们在做项目的时候,比如在电商项目中对于首页每天有大量的人访问,对数据库造成很大的访问压力,甚至是瘫痪。那如何解决呢?我们通常的做法有两种:一种是数据缓存、一种是网页静态化。下面是其中一种解决办法。

一、 SpringDataRedis

Redis解析

redis是一款开源的Key-Value数据库,运行在内存中,由ANSI C编写。企业开发通常采用Redis来实现缓存。同类的产品还有memcache 、memcached 、MongoDB等。

Jedis

Jedis是Redis官方推出的一款面向Java的客户端,提供了很多接口供Java语言调用。可以在Redis官网下载,当然还有一些开源爱好者提供的客户端,如Jredis、SRP等等,推荐使用Jedis。

Spring Data Redis

Spring-data-redis是spring大家族的一部分,提供了在srping应用中通过简单的配置访问redis服务,对reids底层开发包(Jedis, JRedis, and RJC)进行了高度封装,RedisTemplate提供了redis各种操作、异常处理及序列化,支持发布订阅,并对spring 3.1 cache进行了实现。

spring-data-redis针对jedis提供了如下功能:

1.连接池自动管理,提供了一个高度封装的“RedisTemplate”类
2.针对jedis客户端中大量api进行了归类封装,将同一类型操作封装为operation接口
ValueOperations:简单K-V操作
SetOperations:set类型数据操作
ZSetOperations:zset类型数据操作
HashOperations:针对map类型的数据操作
ListOperations:针对list类型的数据操作

redis中一些配置文件和其中特殊词的含义

在这里插入图片描述

redis的配置的xml文件中的依赖

在这里插入图片描述

maxIdle :最大空闲数
maxWaitMillis:连接时的最大等待毫秒数
testOnBorrow:在提取一个jedis实例时,是否提前进行验证操作;如果为true,则得到的jedis实例均是可用的;

测试小Demo

(1)值类型操作

在这里插入图片描述

(2)Set类型操作

set类型的存值和查看
在这里插入图片描述
显示绿色代表执行成功
在这里插入图片描述
从缓存中移除单个元素
在这里插入图片描述
从缓存中删除所有
在这里插入图片描述

(3)List集合的redis操作

list的集合从缓存中查询单个元素(包括左右压栈)
在这里插入图片描述
在这里插入图片描述
从缓存中查看单个元素
在这里插入图片描述
list的集合从缓存中删除元素
在这里插入图片描述

(4)Hash集合的redis操作

hash的存值和取值
在这里插入图片描述
hash的移除值
在这里插入图片描述
。。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值