spring整合redis客户端及缓存接口设计

lljliulljn lljliulljn     2022-12-10     278

关键词:

一、写在前面

缓存作为系统性能优化的一大杀手锏,几乎在每个系统或多或少的用到缓存。有的使用本地内存作为缓存,有的使用本地硬盘作为缓存,有的使用缓存服务器。但是无论使用哪种缓存,接口中的方法都是差不多。笔者最近的项目使用的是memcached作为缓存服务器,由于memcached的一些限制,现在想换redis作为缓存服务器。思路就是把memached的客户端换成redis客户端,接口依然是原来的接口,这样对系统可以无损替换,接口不变,功能不变,只是客户端变了。本文不介绍缓存的用法,不介绍redis使用方法,不介绍memcached与redis有何区别。只是实现一个redis客户端,用了jedis作为第三方连接工具。

二、一些想法

首先贴一下现项目中同事编写的缓存接口:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 /**   * @ClassName: DispersedCachClient   * @Description: 分布式缓存接口,每个方法:key最大长度128字符,valueObject最大1Mb,默认超时时间30天   * @date 2015-4-14 上午11:51:18   *   */ public  interface  DispersedCachClient                  /**       * add(要设置缓存中的对象(value),)       *       * @Title: add       * @Description: 要设置缓存中的对象(value),如果没有则插入,有就不操作。       * @param key   键       * @param valueObject   缓存对象       * @return  Boolean true 成功,false 失败       */      public  Boolean add(String key, Object valueObject);            /**       * add(要设置缓存中的对象(value),指定保存有效时长)       *       * @Title: add       * @Description: 要设置缓存中的对象(value),指定有效时长,如果没有则插入,有就不操作。       * @param key   键       * @param valuObject    缓存对象       * @param keepTimeInteger   有效时长(秒)       * @return  Boolean true 成功,false 失败       */      public  Boolean add(String key, Object valueObject, Integer keepTimeInteger);            /**       *       * add(要设置缓存中的对象(value),指定有效时间点。)       *       * @Title: add       * @Description: 要设置缓存中的对象(value),指定有效时间点,如果没有则插入,有就不操作。       * @date 2015-4-14 上午11:58:12       * @param key   键       * @param valuObject    缓存对象       * @param keepDate  时间点       * @return  Boolean true 成功,false 失败       */      查看详情

redis整合spring结合使用缓存实例(转)

...net/evankaka     摘要:本文介绍了如何在Spring中配置redis,并通过Spring中AOP的思想,将缓存的方法切入到有需要进入缓存的类或方法前面。一、Redis介绍什么是Redis?&nb 查看详情

springboot整合spring@cache和redis(代码片段)

转载请注明出处:https://www.cnblogs.com/wenjunwei/p/10779450.htmlspring基于注解的缓存对于缓存声明,spring的缓存提供了一组java注解:@Cacheable:触发缓存写入。@CacheEvict:触发缓存清除。@CachePut:更新缓存(不会影响到方法的运行)。@Caching:重新... 查看详情

spring整合redis做数据缓存(windows环境)

当我们一个项目的数据量很大的时候,就需要做一些缓存机制来减轻数据库的压力,提升应用程序的性能,对于java项目来说,最常用的缓存组件有Redis、Ehcache和Memcached。Ehcache是用java开发的缓存组件,和java结合良好,直接在jvm... 查看详情

redis异步客户端选型及落地实践

作者:京东科技王晨Redis异步客户端选型及落地实践可视化服务编排系统是能够通过线上可视化拖拽、配置的方式完成对接口的编排,可在线完成服务的调试、测试,实现业务需求的交付。​为了支持更加广泛的业务场景,可视... 查看详情

redis客户端之spring整合jedis

1.下载相关jar包,并引入工程:jedis-2.4.2.jarcommons-pool2-2.0.jar2.将以下XML配置引入spring<bean id="shardedJedisPool" class="redis.clients.jedis.ShardedJedisPool">      &nbs 查看详情

spring整合redis简单使用

1.简单介绍redis是基于C语言开发。redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sortedset--有序集合)和hash(哈希类型)。redis是一个缓存数据库(片面的... 查看详情

精通springboot--整合redis实现缓存

今天我们来讲讲怎么在springboot中整合redis实现对数据库查询结果的缓存。首先第一步要做的就是在pom.xml文件添加spring-boot-starter-data-redis。要整合缓存,必不可少的就是我们要继承一个父类CachingConfigurerSupport。我们先看看这个类... 查看详情

shiro整合springboot缓存之redis实现(代码片段)

Shiro整合Springboot缓存之Redis实现Redis下载安装引入redis依赖配置redis连接启动redis服务自定义redis缓存的实现自定义shiro缓存管理器自定义salt实现实现序列化接口自定义Realm改造开启redis缓存Redis下载安装Windows系统中Redis下载安装其它... 查看详情

springboot整合springseesion实现redis缓存

参考技术A使用SpringBoot开发项目时我们经常需要存储Session,因为Session中会存一些用户信息或者登录信息。传统的web服务是将session存储在内存中的,一旦服务挂了,session也就消失了,这时候我们就需要将session存储起来,而Redis就... 查看详情

springboot整合redis缓存

使用springBoot添加redis缓存需要在POM文件里引入<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-cache</artifactId></dependency><dependency 查看详情

java中jedis操作redis与spring的整合

Redis是一个key-value存储系统。它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)和zset(有序集合)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在... 查看详情

java整合redis缓存ssm后台框架rest接口shirodruidmavenbootstraphtml5

650)this.width=650;"width="600"class="zoom"id="aimg_tbJdh"src="https://img.alicdn.com/imgextra/i1/332189337/TB2oxzvjVXXXXcmXpXXXXXXXXXX_!!332189337.png"border="0"/>获取【下载地址】  QQ:313596790&nbs 查看详情

sping整合redis,以及做mybatis的第三方缓存

一、spring整合redisRedis作为一个时下非常流行的NOSQL语言,不学一下有点过意不去。背景:学习Redis用到的框架是maven+spring+mybatis(框架如何搭建这边就不叙述了)首先在pom里面添加当前所需要的jar包,有下面几个:………………... 查看详情

java整合redis缓存ssm后台框架rest接口shirodruidmavenbootstraphtml5

650)this.width=650;"width="600"class="zoom"id="aimg_Vw7Wb"src="https://img.alicdn.com/imgextra/i1/332189337/TB2tZISdmiJ.eBjSspoXXcpMFXa_!!332189337.jpg"border="0"/>获取【下载地址】  QQ:313596790A调用摄 查看详情

guava和spring整合使用(这里只用到了缓存)

...e.CacheBuilder;2importcom.google.common.cache.CacheBuilderSpec;34importorg.springframework.cache 查看详情

32springboot——缓存之整合redis

springboot缓存默认使用ConcurrentMapCacheManager 将数据保存在下面的Map中1、docker中开启Redis 2、添加Redis相关依赖<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-st 查看详情

springboot整合redis实现缓存

<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId><version>1.5.2.RELEASE</version></dependency& 查看详情