ToB企服应用市场:ToB评测及商务社交产业平台

标题: 使用java语言,自界说redistemplate [打印本页]

作者: 傲渊山岳    时间: 2025-1-5 00:19
标题: 使用java语言,自界说redistemplate
 自界说 RedisTemplate

为了方便使用,你可以创建一个自界说的 RedisTemplate,并将其注入到服务中。
  1. import org.springframework.context.annotation.Bean;
  2. import org.springframework.context.annotation.Configuration;
  3. import org.springframework.data.redis.connection.RedisConnectionFactory;
  4. import org.springframework.data.redis.core.RedisTemplate;
  5. import org.springframework.data.redis.serializer.GenericJackson2JsonRedisSerializer;
  6. import org.springframework.data.redis.serializer.StringRedisSerializer;
  7. @Configuration
  8. public class RedisConfig {
  9.     @Bean
  10.     public RedisTemplate<String, Object> redisTemplate(RedisConnectionFactory redisConnectionFactory) {
  11.         RedisTemplate<String, Object> template = new RedisTemplate<>();
  12.         template.setConnectionFactory(redisConnectionFactory);
  13.         // 设置键的序列化方式为 String
  14.         template.setKeySerializer(new StringRedisSerializer());
  15.         template.setHashKeySerializer(new StringRedisSerializer());
  16.         // 设置值的序列化方式为 JSON
  17.         template.setValueSerializer(new GenericJackson2JsonRedisSerializer());
  18.         template.setHashValueSerializer(new GenericJackson2JsonRedisSerializer());
  19.         return template;
  20.     }
  21. }
复制代码
在服务中使用 RedisTemplate

你可以在服务类中注入 RedisTemplate,并使用它来进行 Redis 操作。
  1. import org.springframework.beans.factory.annotation.Autowired;
  2. import org.springframework.data.redis.core.RedisTemplate;
  3. import org.springframework.stereotype.Service;
  4. import java.util.concurrent.TimeUnit;
  5. @Service
  6. public class CacheService {
  7.     @Autowired
  8.     private RedisTemplate<String, Object> redisTemplate;
  9.     // 存储数据到 Redis
  10.     public void setCacheData(String key, Object value, long expireTime) {
  11.         redisTemplate.opsForValue().set(key, value, expireTime, TimeUnit.SECONDS);
  12.     }
  13.     // 从 Redis 获取数据
  14.     public Object getCacheData(String key) {
  15.         return redisTemplate.opsForValue().get(key);
  16.     }
  17.     // 删除 Redis 中的数据
  18.     public void deleteCacheData(String key) {
  19.         redisTemplate.delete(key);
  20.     }
  21.     // 检查 Redis 中是否存在某个键
  22.     public boolean hasKey(String key) {
  23.         return redisTemplate.hasKey(key);
  24.     }
  25. }
复制代码


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4