RedisTemplate和StringRedisTemplate的区别、对比

学习

Jedis、RedisTemplate、StringRedisTemplate之间的比较

博客中提到:一. Jedis是Redis官方推荐的面向Java的操作Redis的客户端。

二. RedisTemplate,StringRedisTemplate是SpringDataRedis中对JedisApi的高度封装。SpringDataRedis相对于Jedis来说可以方便地更换Redis的Java客户端,比Jedis多了自动管理连接池的特性,方便与其他Spring框架进行搭配使用如:SpringCache。

三. StringRedisTemplate继承RedisTemplate,StringRedisTemplate只能管理StringRedisTemplate里面的数据,RedisTemplate只能管理RedisTemplate中的数据。

四. RedisTemplate使用的是JdkSerializationRedisSerializer 存入数据会将数据先序列化成字节数组然后在存入Redis数据库。StringRedisTemplate使用的是StringRedisSerializer序列化。

五.当你的redis数据库里面本来存的是字符串数据或者你要存取的数据就是字符串类型数据的时候,那么你就使用StringRedisTemplate即可。但是如果你的数据是复杂的对象类型,而取出的时候又不想做任何的数据转换,直接从Redis里面取出一个对象,那么使用RedisTemplate是更好的选择。


版权声明:以上为CSDN博主「wangdh258」的原创文章。

实验


StringredisTemplate--RedisDesktopManager

java 复制代码
stringRedisTemplate.opsForValue().setIfAbsent("encryptFlagTest", String.valueOf("1"));


RedisTemplate--RedisDesktopManager

java 复制代码
RedisTemplate.opsForValue().setIfAbsent("encryptFlag", String.valueOf("1"));

读取

java 复制代码
//stringRedisTemplate读取stringRedisTemplate存的数据
stringRedisTemplate.opsForValue().get("encryptFlagTest");
//输出
[==用StringredisTemplate读取StringredisTemplate:1]|
java 复制代码
//用redisTemplate读取redisTemplate
redisTemplate.opsForValue().get("encryptFlag");
//输出
|[==用redisTemplate读取redisTemplate:1]|
java 复制代码
//stringRedisTemplate读取RedisTemplate存的数据
stringRedisTemplate.opsForValue().get("encryptFlag");
//输出
|[==用stringRedisTemplate读取redisTemplate:�� t 1]|
java 复制代码
//用redisTemplate读取stringredisTemplate
redisTemplate.opsForValue().get("encryptFlagTest");
//输出
getBean|+|restExceptionCallbackSerivce not found|
|2023-08-21 10:44:59,367|+|,|+|CCIMP-SUBNOA-MS-carstage|+|ERROR|+|7588-httpWorkerThread-8084-2-30|+|c.e.r.p.e.PoinRestExceptionMapper:202|+|buildErrorMsg|+|系统处理异常!|
org.springframework.data.redis.serializer.SerializationException: Cannot deserialize; nested exception is org.springframework.core.serializer.support.SerializationFailedException: Failed to deserialize payload. Is the byte array a result of corresponding serialization for DefaultDeserializer?; nested exception is java.io.EOFException
at org.springframework.data.redis.serializer.JdkSerializationRedisSerializer.deserialize
相关推荐
好家伙VCC4 分钟前
**发散创新:基于Python的自动化恢复演练框架设计与实战**在现代软件系统运维中,
java·开发语言·python·自动化
程序员小崔日记6 分钟前
我参加了第十七届蓝桥杯 Java B 组省赛,这套题你能撑到第几题?
java·算法·蓝桥杯大赛
大黄说说9 分钟前
Go并发双雄:WaitGroup与Channel的抉择与协作
java·服务器·数据库
一只幸运猫.12 分钟前
用户58856854055的头像[特殊字符]Spring Boot 多模块项目中 Parent / BOM / Starter 的正确分工
java·spring boot·后端
jjjava2.017 分钟前
数据库事务:ACID特性与实战应用
java·开发语言·数据库
HYNuyoah20 分钟前
docker网站配置迁移(旧换新)
java·docker·容器
ch.ju22 分钟前
Java程序设计(第3版)第二章——表达式和算术运算符
java
发发就是发25 分钟前
顺序锁(Seqlock)与RCU机制:当读写锁遇上性能瓶颈
java·linux·服务器·开发语言·jvm·驱动开发
我命由我1234528 分钟前
Android Jetpack Compose - ModalNavigationDrawer、NavigationRail、PullToRefreshBox
android·java·java-ee·android studio·android jetpack·android-studio·android runtime
四谎真好看29 分钟前
Redis学习笔记(高级篇3)
redis·笔记·学习·学习笔记