ssm开发使用redis作为缓存的使用步骤

1、关于spring配置文件中对于redis的配置

<!-- redis配置 -->
 <bean id="jedisPoolConfig" class="redis.clients.jedis.JedisPoolConfig">
  <!-- <property name="maxActive" value="90"/> -->
  <property name="maxIdle" value="5"/>
  <!-- <property name="maxWait" value="1000"/> -->
  <property name="testOnBorrow" value="true"/>
 </bean>
    <!--配置redis数据源-->
 <bean id="jedisPool" class="redis.clients.jedis.JedisPool" destroy-method="destroy">
  <constructor-arg ref="jedisPoolConfig"/>
  <constructor-arg value="192.168.21.195"/>
  <constructor-arg value="6379"/>
 </bean>
    <!--配置自定义的RedisAPI工具类-->
 <bean id="redisAPI" class="org.slsale.common.RedisAPI">
  <property name="jedisPool" ref="jedisPool"/>
 </bean>

2、配置自定义的RedisAPI,对redis数据库的管理

package org.slsale.common;

import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;

/**
 * jedisAPI
 * @author luzhewu
 *
 */
public class RedisAPI {
 public JedisPool jedisPool;// redis连接池对象

 public JedisPool getJedisPool() {
  return jedisPool;
 }

 public void setJedisPool(JedisPool jedisPool) {
  this.jedisPool = jedisPool;
 }

 /**
  * set key and value tp redis
  * @param key
  * @param value
  * @return
  */
 public boolean set(String key, String value) {
  Jedis jedis = null;
  try {
   jedis = jedisPool.getResource();// 获取jedis对象
   jedis.set(key, value);
   return true;
  } catch (Exception e) {
   e.printStackTrace();
  } finally {
   // 返还到连接池
   returnResource(jedisPool, jedis);
  }
  return false;
 }

 /**
  * 判断某个key是否存在
  * @param key
  * @return
  */
 public boolean exist(String key) {
  Jedis jedis = null;
  try {
   jedis = jedisPool.getResource();
   return jedis.exists(key);
  } catch (Exception e) {
   e.printStackTrace();
  } finally {
   // 返还到连接池
   returnResource(jedisPool, jedis);
  }
  return false;
 }

 /**
  * 通过key获取value
  * @param key
  * @return
  */
 public String get(String key) {
  String value = null;
  Jedis jedis = null;
  try {
   jedis = jedisPool.getResource();
   value = jedis.get(key);
  } catch (Exception e) {
   e.printStackTrace();
  } finally {
   // 返还到连接池
   returnResource(jedisPool, jedis);
  }
  return value;
 }

 /**
  * 返还到连接池
  * @param jedisPool
  * @param jedis
  */
 public static void returnResource(JedisPool jedisPool, Jedis jedis) {
  if (jedis != null) {
   jedisPool.returnResource(jedis);
  }
 }
}

3、redis相关依赖

<!-- redis相关依赖jedis -->
   <dependency>
 <groupId>redis.clients</groupId>
 <artifactId>jedis</artifactId>
 <version>2.6.1</version>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • redis与ssm整合方法(mybatis二级缓存)

    SSM+redis整合 ssm框架之前已经搭建过了,这里不再做代码复制工作. 这里主要是利用redis去做mybatis的二级缓存,mybaits映射文件中所有的select都会刷新已有缓存,如果不存在就会新建缓存,所有的insert,update操作都会更新缓存. redis的好处也显而易见,可以使系统的数据访问性能更高.本节只是展示了整合方法和效果,后面会补齐redis集群.负载均衡和session共享的文章. 下面就开始整合工作: 后台首先启动redis-server(后台启动与远程连接l

  • 在ssm项目中使用redis缓存查询数据的方法

    在项目中常常需要后台程序的持久层查询数据库来获取数据,然后将数据交给服务层.控制层,最后才交给视图层.如果数据访问缓慢,就会影响程序的运行. 为了加快程序的运行,可以将数据放入缓存中,包括数据缓存和页面缓存. 所谓缓存,就是将程序或系统经常要调用的对象存在内存中,一遍其使用时可以快速调用,不必再去创建新的重复的实例.这样做可以减少系统开销,提高系统效率. 其中页面缓存主要是oscache,可以整页或者指定网页某一部分缓存,同时指定他的过期时间,这样在此时间段里面访问的数据都是一样的 . 数据缓存

  • ssm开发使用redis作为缓存的使用步骤

    1.关于spring配置文件中对于redis的配置 <!-- redis配置 --> <bean id="jedisPoolConfig" class="redis.clients.jedis.JedisPoolConfig"> <!-- <property name="maxActive" value="90"/> --> <property name="max

  • Java自定义注解实现Redis自动缓存的方法

    在实际开发中,可能经常会有这样的需要:从MySQL中查询一条数据(比如用户信息),此时需要将用户信息保存至Redis. 刚开始我们可能会在查询的业务逻辑之后再写一段Redis相关操作的代码,时间长了后发现这部分代码实际上仅仅做了Redis的写入动作,跟业务逻辑没有实质的联系,那么有没有什么方法能让我们省略这些重复劳动呢? 首先想到用AOP,在查询到某些数据这一切入点(Pointcut)完成我们的切面相关处理(也就是写入Redis).那么,如何知道什么地方需要进行缓存呢,也就是什么地方需要用到AO

  • 浅谈SpringBoot集成Redis实现缓存处理(Spring AOP实现)

    第一章 需求分析 计划在Team的开源项目里加入Redis实现缓存处理,因为业务功能已经实现了一部分,通过写Redis工具类,然后引用,改动量较大,而且不可以实现解耦合,所以想到了Spring框架的AOP(面向切面编程). 开源项目:https://github.com/u014427391/jeeplatform 第二章 SpringBoot简介 Spring框架作为JavaEE框架领域的一款重要的开源框架,在企业应用开发中有着很重要的作用,同时Spring框架及其子框架很多,所以知识量很广.

  • nodejs使用redis作为缓存介质实现的封装缓存类示例

    本文实例讲述了nodejs使用redis作为缓存介质实现的封装缓存类.分享给大家供大家参考,具体如下: 之前在node下使用redis作为缓存介质,对redis进行了一层封装 First: 安装npm包 redis const redis = require('redis'); Second: 进行封装 // cache.js const redis = require('redis'); const config = require('config'); const logger = requ

  • 基于Java实现Redis多级缓存方案

    目录 一.多级缓存 1. 传统缓存方案 2. 多级缓存方案 二.JVM本地缓存 1. 实用案例 三.缓存一致性 1. 常见方案 1.1 设置有效期 1.2 同步双写 1.3 异步通知 2. 基于Canal的异步通知 2.1 mysql主从复制 2.2 canal 工作原理 一.多级缓存 1. 传统缓存方案 请求到达tomcat后,先去redis中获取缓存,不命中则去mysql中获取 2. 多级缓存方案 tomcat的请求并发数,是远小于redis的,因此tomcat会成为瓶颈 利用请求处理每个环

  • Django使用Redis进行缓存详细步骤

    目录 1.背景和意义 2.配置步骤如下 1,服务器端安装 redis 2,Redis 访问控制 3,安装django-redis和settings配置 4,测试缓存是否成功 1.背景和意义 服务器数据非经常更新.若每次都从硬盘读取一次,浪费服务器资源.拖慢响应速度.而且数据更新频率较高,服务器负担比较大.若保存到数据库,还需要额外建立一张对应的表存储数据.在Django中建立表通常做法是建立一个模型.看似简单,但是调试麻烦.开发时长久.为了进行服务器的加速,使用Redis进行缓存. 2.配置步骤

  • Spring Boot集成Redis实现缓存机制(从零开始学Spring Boot)

    本文章牵涉到的技术点比较多:spring Data JPA.Redis.Spring MVC,Spirng Cache,所以在看这篇文章的时候,需要对以上这些技术点有一定的了解或者也可以先看看这篇文章,针对文章中实际的技术点在进一步了解(注意,您需要自己下载Redis Server到您的本地,所以确保您本地的Redis可用,这里还使用了MySQL数据库,当然你也可以内存数据库进行测试).这篇文章会提供对应的Eclipse代码示例,具体大体的分如下几个步骤: (1)新建Java Maven Pro

  • Nginx配置srcache_nginx模块搭配Redis建立缓存系统

    1. nginx模块 --add-module=../modules/ngx_devel_kit-0.2.18 --add-module=../modules/set-misc-nginx-module-0.22rc8 --add-module=../modules/srcache-nginx-module-0.22 --add-module=../modules/redis-nginx-module-0.3.6 --add-module=../modules/redis2-nginx-modu

  • Spring Boot中使用Redis做缓存的方法实例

    前言 本文主要给大家介绍的是关于Spring Boot中使用Redis做缓存的相关内容,这里有两种方式: 使用注解方式(但是小爷不喜欢) 直接<Spring Boot 使用 Redis>中的redisTemplate 下面来看看详细的介绍: 1.创建UserService public interface UserService { public User findById(int id); public User create(User user); public User update(U

  • springboot+mybatis+redis 二级缓存问题实例详解

    前言 什么是mybatis二级缓存? 二级缓存是多个sqlsession共享的,其作用域是mapper的同一个namespace. 即,在不同的sqlsession中,相同的namespace下,相同的sql语句,并且sql模板中参数也相同的,会命中缓存. 第一次执行完毕会将数据库中查询的数据写到缓存,第二次会从缓存中获取数据将不再从数据库查询,从而提高查询效率. Mybatis默认没有开启二级缓存,需要在全局配置(mybatis-config.xml)中开启二级缓存. 本文讲述的是使用Redi

随机推荐