redis Spring 和 RedisTemplate 工具类

1、 redis.conf配置文件,Redis启动的时候需要一个redis.conf配置文件,主要有以下配置项:

这里写图片描述

2,与spring  集成配置

 

	
		
		
		
		
	
	
	
		
		

		
	
	  
     

	 
	
	
	


    

	
		
		
		
		
	
	
	
		
		

		
	
	  
     

	 
	
	
	


    


3.redis连接配置:

redis.host=10.0.5.130
redis.port=6379
redis.password=123456  
redis.maxIdle=100  
redis.maxTotal=300  
redis.maxWaitMillis=1000  
redis.testOnBorrow=true
redis.timeout=100000



4.RedisCacheUtil



import java.util.Collection;
import java.util.List;
import java.util.concurrent.TimeUnit;

import org.springframework.data.redis.core.RedisTemplate;

public class RedisCacheUtil {
    private static RedisTemplate<String, Object> redisTemplate;
    
  /* ----------- common --------- */
  public static Collection<String> keys(String pattern) {
      return redisTemplate.keys(pattern);
  }
   
  public static void delete(String key) {
      redisTemplate.delete(key);
  }

  public static void delete(Collection<String> key) {
      redisTemplate.delete(key);
  }
   
  /* ----------- string --------- */
  public static Object  get(String key) {
      Object value = redisTemplate.opsForValue().get(key);
      return value;
  }
   
  public static  void set(String key,Object obj) {
      if (obj == null) {
          return;
      }
      redisTemplate.opsForValue().set(key, obj);
      
  }
  public static  void setTime(String key,Object obj, Long timeout, TimeUnit unit) {
      if (obj == null) {
          return;
      }
      
      if (timeout != null) {
          redisTemplate.opsForValue().set(key, obj, timeout, unit);
      } else {
          redisTemplate.opsForValue().set(key, obj);
      }
  } 
    public  RedisTemplate<String, Object> getRedisTemplate() {
        return redisTemplate;
    }

    public  void setRedisTemplate(RedisTemplate<String, Object> redisTemplate) {
        RedisCacheUtil.redisTemplate = redisTemplate;
    }
}

 
RedisTemplateSpring框架提供的一个Redis操作工具类,封装了Redis连接池的操作。在使用Redis的时候,可以通过RedisTemplateRedis进行操作,包括String、Hash、List、Set、ZSet、HyperLogLog等数据结构的操作。 在使用RedisTemplate进行geo操作时,需要先设置序列化方式为GenericJackson2JsonRedisSerializer,然后通过GeoOperations接口进行操作。GeoOperations包括添加地理位置信息、获取两个位置之间的距离、获取指定位置的附近的其他位置信息等操作。 以下是RedisTemplate工具类的示例代码: ``` @Configuration public class RedisConfig { @Bean public RedisTemplate<String, Object> redisTemplate(LettuceConnectionFactory lettuceConnectionFactory) { RedisTemplate<String, Object> redisTemplate = new RedisTemplate<>(); redisTemplate.setConnectionFactory(lettuceConnectionFactory); redisTemplate.setKeySerializer(new StringRedisSerializer()); redisTemplate.setValueSerializer(new GenericJackson2JsonRedisSerializer()); redisTemplate.setHashKeySerializer(new StringRedisSerializer()); redisTemplate.setHashValueSerializer(new GenericJackson2JsonRedisSerializer()); return redisTemplate; } } @Service public class RedisGeoService { @Autowired private RedisTemplate<String, Object> redisTemplate; public Object addGeo(String key, GeoLocation<Object> location) { GeoOperations<String, Object> geoOperations = redisTemplate.opsForGeo(); return geoOperations.add(key, location); } public Object getDistance(String key, Object member1, Object member2) { GeoOperations<String, Object> geoOperations = redisTemplate.opsForGeo(); return geoOperations.distance(key, member1, member2); } public Object getRadius(String key, Object member, double radius, Metric metric) { GeoOperations<String, Object> geoOperations = redisTemplate.opsForGeo(); return geoOperations.radius(key, member, new Distance(radius, metric)); } } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值